From d089d003bd5bd341c6986e7c1292f8062eb82052 Mon Sep 17 00:00:00 2001 From: Vasile Labici <69412076+Vlasin98@users.noreply.github.com> Date: Fri, 24 Jul 2026 13:12:54 +0300 Subject: [PATCH 01/36] Joinable workspaces include pending invites (#6094) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - `ListJoinableWorkspaces` returns domain ∪ pending-invite workspaces (one card each; invite wins for dual-eligible and stamps `JOIN_SOURCE_INVITE`) - `JoinWorkspace` always tries invite accept first (invite-only works without domain eligibility), then falls through to domain join - Join cards show an **Invited** indicator when `source` is invite; MCP entry join routing uses the same union list Implements [BRENT-698](https://brent-dev.overmind-demo.com/open/plans/68eca7fa-acb0-4f92-b4f2-76900b77b3cd?intent=plan_author). ## Deviations - changed-invited-badge-to-inline-label: intentional UI change — Invited is plain tertiary inline text beside the name, not a rounded badge. ## Test plan - [x] Go: join handler integration tests (domain, invite-only list/join, dual-eligible source, expired not listed) - [x] Go: MCP entry resolver unit tests - [x] FE: Invited indicator + row mapping unit tests - [ ] Manual: Join screen shows Invited for invite/dual cases and joins succeed for domain / invite-only / dual --------- Co-authored-by: Cursor GitOrigin-RevId: 6e77ff12df23968ec43ff9142102435e846c8ac3 --- go.mod | 130 +- go.sum | 273 + go/sdp-go/brent.pb.go | 26457 ++++++++++++++++++++++++ go/sdp-go/brent_event_payload.go | 8 + go/sdp-go/sdpconnect/brent.connect.go | 3343 +++ 5 files changed, 30202 insertions(+), 9 deletions(-) create mode 100644 go/sdp-go/brent.pb.go create mode 100644 go/sdp-go/brent_event_payload.go create mode 100644 go/sdp-go/sdpconnect/brent.connect.go diff --git a/go.mod b/go.mod index 929ce821..ca7591e2 100644 --- a/go.mod +++ b/go.mod @@ -24,6 +24,8 @@ replace golang.org/x/image => golang.org/x/image v0.44.0 require ( atomicgo.dev/keyboard v0.2.10 buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1 + buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260706220319-a3bcb894aab3.1 + buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260706220319-a3bcb894aab3.1 buf.build/go/protovalidate v1.2.0 charm.land/lipgloss/v2 v2.0.5 cloud.google.com/go/aiplatform v1.126.0 @@ -33,7 +35,7 @@ require ( cloud.google.com/go/bigtable v1.51.0 cloud.google.com/go/certificatemanager v1.15.0 cloud.google.com/go/compute v1.65.0 - cloud.google.com/go/compute/metadata v0.9.0 // indirect + cloud.google.com/go/compute/metadata v0.9.0 cloud.google.com/go/container v1.53.0 cloud.google.com/go/dataplex v1.36.0 cloud.google.com/go/dataproc/v2 v2.25.0 @@ -55,6 +57,8 @@ require ( cloud.google.com/go/storage v1.64.0 cloud.google.com/go/storagetransfer v1.19.0 connectrpc.com/connect v1.20.0 // v1.19.0 was faulty, wait until it is above this version + connectrpc.com/otelconnect v0.9.0 + github.com/1password/onepassword-sdk-go v0.4.0 github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 v3.0.0-beta.3 @@ -75,6 +79,12 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage/v4 v4.1.0 github.com/Masterminds/semver/v3 v3.5.0 github.com/MrAlias/otel-schema-utils v0.4.0-alpha + github.com/a-h/templ v0.3.1020 + github.com/adrg/strutil v0.3.1 + github.com/akedrou/textdiff v0.1.0 + github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4 + github.com/antihax/optional v1.0.0 + github.com/auth0/go-auth0/v2 v2.14.0 github.com/auth0/go-jwt-middleware/v3 v3.2.0 github.com/aws/aws-sdk-go-v2 v1.43.0 github.com/aws/aws-sdk-go-v2/config v1.32.31 @@ -100,51 +110,90 @@ require ( github.com/aws/aws-sdk-go-v2/service/rds v1.123.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.65.2 github.com/aws/aws-sdk-go-v2/service/s3 v1.106.0 + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.0 github.com/aws/aws-sdk-go-v2/service/sns v1.42.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.46.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.73.0 github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 github.com/aws/smithy-go v1.27.4 + github.com/bombsimon/logrusr/v4 v4.1.0 + github.com/bradleyfalzon/ghinstallation/v2 v2.19.0 + github.com/brianvoe/gofakeit/v7 v7.15.0 github.com/cenkalti/backoff/v5 v5.0.3 github.com/charmbracelet/glamour v0.10.0 github.com/coder/websocket v1.8.15 - github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/coreos/go-oidc/v3 v3.20.0 + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc + github.com/exaring/otelpgx v0.11.1 github.com/getsentry/sentry-go v0.47.0 github.com/go-jose/go-jose/v4 v4.1.4 github.com/google/btree v1.1.3 - github.com/google/cel-go v0.29.2 // indirect + github.com/google/cel-go v0.29.2 + github.com/google/go-github/v88 v88.0.0 github.com/google/uuid v1.6.0 github.com/googleapis/gax-go/v2 v2.23.0 github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e + github.com/gorilla/mux v1.8.1 + github.com/harness/harness-go-sdk v0.8.14 github.com/hashicorp/go-retryablehttp v0.7.8 + github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/hashicorp/hcl/v2 v2.24.0 github.com/hashicorp/terraform-config-inspect v0.0.0-20260709150029-2fb54c236733 github.com/hashicorp/terraform-plugin-framework v1.19.0 github.com/hashicorp/terraform-plugin-go v0.31.0 github.com/hashicorp/terraform-plugin-testing v1.16.0 + github.com/invopop/jsonschema v0.14.0 + github.com/jackc/pgx/v5 v5.10.0 github.com/jedib0t/go-pretty/v6 v6.8.3 - github.com/lithammer/fuzzysearch v1.1.8 // indirect + github.com/jxskiss/base62 v1.1.0 + github.com/kaptinlin/jsonrepair v0.4.8 + github.com/lithammer/fuzzysearch v1.1.8 + github.com/mavolin/go-htmx v1.0.0 + github.com/mergestat/timediff v0.0.4 github.com/micahhausler/aws-iam-policy v0.4.4 github.com/miekg/dns v1.1.72 github.com/mitchellh/go-homedir v1.1.0 + github.com/mitchellh/go-ps v1.0.0 + github.com/modelcontextprotocol/go-sdk v1.6.1 github.com/muesli/reflow v0.3.0 github.com/nats-io/jwt/v2 v2.8.2 github.com/nats-io/nats-server/v2 v2.14.3 github.com/nats-io/nats.go v1.52.0 github.com/nats-io/nkeys v0.4.16 + github.com/neo4j/neo4j-go-driver/v6 v6.2.0 + github.com/onsi/ginkgo/v2 v2.32.0 + github.com/onsi/gomega v1.42.1 + github.com/openai/openai-go/v3 v3.46.0 github.com/openrdap/rdap v0.10.1 github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297 + github.com/pb33f/ordered-map/v2 v2.3.1 + github.com/pborman/ansi v1.3.0 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c + github.com/posthog/posthog-go v1.22.0 + github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf + github.com/resend/resend-go/v3 v3.11.0 + github.com/riverqueue/river v0.39.0 + github.com/riverqueue/river/riverdriver/riverpgxv5 v0.39.0 + github.com/riverqueue/river/rivertype v0.39.0 + github.com/riverqueue/rivercontrib/otelriver v0.10.0 + github.com/rs/cors v1.11.1 + github.com/samber/slog-logrus/v2 v2.5.4 + github.com/sashabaranov/go-openai v1.41.2 github.com/sirupsen/logrus v1.9.4 + github.com/slack-go/slack v0.27.0 github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 github.com/spf13/cobra v1.10.2 github.com/spf13/pflag v1.0.10 github.com/spf13/viper v1.21.0 github.com/stretchr/testify v1.11.1 + github.com/stripe/stripe-go/v84 v84.4.1 + github.com/tidwall/gjson v1.19.0 + github.com/tiktoken-go/tokenizer v0.8.1 github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31 github.com/uptrace/opentelemetry-go-extra/otellogrus v0.3.2 github.com/xiam/dig v0.0.0-20191116195832-893b5fb5093b github.com/zclconf/go-cty v1.19.0 + gitlab.com/gitlab-org/api/client-go/v2 v2.51.0 go.etcd.io/bbolt v1.5.0 go.opentelemetry.io/contrib/detectors/aws/ec2/v2 v2.0.0-20250901115419-474a7992e57c go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 @@ -152,7 +201,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.44.0 - go.opentelemetry.io/otel/metric v1.44.0 // indirect + go.opentelemetry.io/otel/metric v1.44.0 go.opentelemetry.io/otel/sdk v1.44.0 go.opentelemetry.io/otel/trace v1.44.0 go.uber.org/automaxprocs v1.6.0 @@ -163,19 +212,22 @@ require ( golang.org/x/oauth2 v0.36.0 golang.org/x/sync v0.22.0 golang.org/x/text v0.40.0 - golang.org/x/time v0.15.0 // indirect + golang.org/x/time v0.15.0 gonum.org/v1/gonum v0.17.0 google.golang.org/api v0.290.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20260723215102-3fe39f3c1018 google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af gopkg.in/ini.v1 v1.67.3 - gopkg.in/yaml.v3 v3.0.1 // indirect + gopkg.in/yaml.v3 v3.0.1 k8s.io/api v0.36.3 k8s.io/apimachinery v0.36.3 k8s.io/client-go v0.36.3 + k8s.io/component-base v0.36.3 + riverqueue.com/riverui v0.16.0 + sigs.k8s.io/controller-runtime v0.24.1 sigs.k8s.io/kind v0.32.0 - sigs.k8s.io/structured-merge-diff/v6 v6.4.2 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.4.2 ) require ( @@ -192,10 +244,12 @@ require ( github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.57.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.57.0 // indirect github.com/ProtonMail/go-crypto v1.4.1 // indirect + github.com/PuerkitoBio/rehttp v1.4.0 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/alecthomas/chroma/v2 v2.16.0 // indirect github.com/alecthomas/kingpin/v2 v2.4.0 // indirect github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect + github.com/andybalholm/brotli v1.1.1 // indirect github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/apache/arrow/go/v15 v15.0.2 // indirect @@ -215,6 +269,10 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/aymerick/douceur v0.2.0 // indirect + github.com/bahlo/generic-list-go v0.2.0 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/blang/semver/v4 v4.0.0 // indirect + github.com/buger/jsonparser v1.1.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charmbracelet/colorprofile v0.4.3 // indirect github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834 // indirect; being pulled by glamour, this will be resolved in https://github.com/charmbracelet/glamour/pull/408 @@ -232,31 +290,47 @@ require ( github.com/containerd/console v1.0.5 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect github.com/dlclark/regexp2 v1.11.5 // indirect + github.com/dlclark/regexp2/v2 v2.5.1 // indirect + github.com/dylibso/observe-sdk/go v0.0.0-20240828172851-9145d8ad07e1 // indirect github.com/emicklei/go-restful/v3 v3.13.0 // indirect github.com/envoyproxy/go-control-plane/envoy v1.37.0 // indirect github.com/envoyproxy/protoc-gen-validate v1.3.3 // indirect github.com/evanphx/json-patch/v5 v5.9.11 // indirect + github.com/extism/go-sdk v1.7.1 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.12 // indirect + github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-logr/zapr v1.3.0 // indirect github.com/go-openapi/jsonpointer v0.21.1 // indirect github.com/go-openapi/jsonreference v0.21.0 // indirect github.com/go-openapi/swag v0.23.1 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.30.1 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/gobwas/glob v0.2.3 // indirect github.com/goccy/go-json v0.10.5 // indirect + github.com/golang-jwt/jwt/v4 v4.5.2 // indirect github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect + github.com/google/go-querystring v1.2.0 // indirect github.com/google/go-tpm v0.9.8 // indirect + github.com/google/jsonschema-go v0.4.3 // indirect + github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 // indirect github.com/google/s2a-go v0.1.9 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.18 // indirect github.com/gookit/color v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect + github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -277,18 +351,28 @@ require ( github.com/hashicorp/terraform-registry-address v0.4.0 // indirect github.com/hashicorp/terraform-svchost v0.2.1 // indirect github.com/hashicorp/yamux v0.1.2 // indirect + github.com/ianlancetaylor/demangle v0.0.0-20251118225945-96ee0021ea0f // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jackc/pgerrcode v0.0.0-20250907135507-afb5586c32a6 // 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/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.18.6 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect + github.com/leodido/go-urn v1.4.0 // indirect github.com/lestrrat-go/blackmagic v1.0.4 // indirect github.com/lestrrat-go/dsig v1.0.0 // indirect github.com/lestrrat-go/dsig-secp256k1 v1.0.0 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect + github.com/lestrrat-go/httprc v1.0.6 // indirect github.com/lestrrat-go/httprc/v3 v3.0.3 // indirect + github.com/lestrrat-go/iter v1.0.2 // indirect + github.com/lestrrat-go/jwx/v2 v2.1.6 // indirect github.com/lestrrat-go/jwx/v3 v3.0.13 // indirect + github.com/lestrrat-go/option v1.0.1 // indirect github.com/lestrrat-go/option/v2 v2.0.0 // indirect github.com/lucasb-eyer/go-colorful v1.4.0 // indirect github.com/mailru/easyjson v0.9.0 // indirect @@ -313,15 +397,32 @@ require ( github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/pkoukk/tiktoken-go v0.1.7 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/prometheus/client_golang v1.23.2 // indirect + github.com/prometheus/client_model v0.6.2 // indirect + github.com/prometheus/common v0.67.5 // indirect + github.com/prometheus/procfs v0.19.2 // indirect + github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e // indirect + github.com/riverqueue/river/riverdriver v0.39.0 // indirect + github.com/riverqueue/river/rivershared v0.39.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/sagikazarmark/locafero v0.11.0 // indirect + github.com/samber/lo v1.53.0 // indirect + github.com/samber/slog-common v0.21.0 // indirect github.com/segmentio/asm v1.2.1 // indirect + github.com/segmentio/encoding v0.5.4 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect + github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816 // indirect + github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 // indirect + github.com/tetratelabs/wazero v1.11.0 // indirect + github.com/tidwall/match v1.2.0 // indirect + github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/sjson v1.2.5 // indirect github.com/uptrace/opentelemetry-go-extra/otelutil v0.3.2 // indirect github.com/valyala/fastjson v1.6.7 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect @@ -331,17 +432,23 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect github.com/xiam/to v0.0.0-20191116183551-8328998fc0ed // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect + github.com/yosida95/uritemplate/v3 v3.0.2 // indirect github.com/yuin/goldmark v1.7.10 // indirect github.com/yuin/goldmark-emoji v1.0.5 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect + go.devnw.com/structs v1.0.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/detectors/gcp v1.43.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 // indirect go.opentelemetry.io/otel/log v0.11.0 // indirect go.opentelemetry.io/otel/schema v0.0.17 // indirect go.opentelemetry.io/otel/sdk/metric v1.44.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.27.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect + go.yaml.in/yaml/v4 v4.0.0-rc.2 // indirect golang.org/x/crypto v0.54.0 // indirect golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect golang.org/x/mod v0.37.0 // indirect @@ -350,17 +457,22 @@ require ( golang.org/x/term v0.45.0 // indirect golang.org/x/tools v0.47.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect + gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20260519071638-aa98bba5eb94 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect + k8s.io/apiextensions-apiserver v0.36.0 // indirect + k8s.io/apiserver v0.36.0 // indirect k8s.io/klog/v2 v2.140.0 // indirect k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect + k8s.io/streaming v0.36.3 // indirect k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect + sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) -require github.com/go-test/deep v1.1.1 // indirect +require golang.org/x/image v0.44.0 diff --git a/go.sum b/go.sum index 720c6c2f..8d7e87ab 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,10 @@ atomicgo.dev/schedule v0.1.0 h1:nTthAbhZS5YZmgYbb2+DH8uQIZcTlIrd4eYr3UQxEjs= atomicgo.dev/schedule v0.1.0/go.mod h1:xeUa3oAkiuHYh8bKiQBRojqAMq3PXXbJujjb0hw8pEU= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1 h1:fXh8CsdNpjRr8R5vFdqtIxPt/Lno2IIJlYOdZBIZn0w= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= +buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260706220319-a3bcb894aab3.1 h1:QglwQczCt8GvMyl7Y9uqg7iNywS+2+BObRC5OEdz1lA= +buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260706220319-a3bcb894aab3.1/go.mod h1:Y5+caMevcSRas8EYksjDdP/OXsQMiIrWN7J1vjyWSiM= +buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260706220319-a3bcb894aab3.1 h1:YTrroqPyDAXOQ4ZEq6zw22uI2PllBaN9bZ8BA2zZR4Q= +buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260706220319-a3bcb894aab3.1/go.mod h1:flLy9CsWgmK0R+28/i1wH9jkYcDoin4b6bzOhw/uXaQ= buf.build/go/protovalidate v1.2.0 h1:DQVrUWkmGTBij+kOYv/x2LLxwcLaGKMdzShj1/6/3H0= buf.build/go/protovalidate v1.2.0/go.mod h1:7rYiQEhqvAipoazpVNBBH2S2f8bjG4huMVy1V2Yofn4= cel.dev/expr v0.25.2 h1:K6j46C81hXtZQfuX60cVWQFBJahKSE2gfRbNuvr5bFs= @@ -82,8 +86,12 @@ cloud.google.com/go/trace v1.16.0 h1:GmQovzFc5F0CNfl0VLgL64aoTtu7xsM0YajW2GlG9+E cloud.google.com/go/trace v1.16.0/go.mod h1:r+bdAn16dKLSV1G2D5v3e58IlQlizfxWrUfjx7kM7X0= connectrpc.com/connect v1.20.0 h1:6TNDAB+WeNd2uolWNlYczB5E0KNNaVMNUEx8JEUsPmQ= connectrpc.com/connect v1.20.0/go.mod h1:A2ygJrukXwWy32vkCAAHNVguZrqZ+jeZ9rGRnGR4dN4= +connectrpc.com/otelconnect v0.9.0 h1:NggB3pzRC3pukQWaYbRHJulxuXvmCKCKkQ9hbrHAWoA= +connectrpc.com/otelconnect v0.9.0/go.mod h1:AEkVLjCPXra+ObGFCOClcJkNjS7zPaQSqvO0lCyjfZc= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +github.com/1password/onepassword-sdk-go v0.4.0 h1:Nou39yuC6Q0om03irkh5UurfPdX3wx26qZZhQeC9TBU= +github.com/1password/onepassword-sdk-go v0.4.0/go.mod h1:j/CbzhucTywjlYrd6SE6k0LcQaFZ2l8OLBsAsOYtvD0= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0 h1:aokoqcHvaGjiM3VpjKDfMMnF/8epJ+Q1HLJ7CudztqE= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0/go.mod h1:/WYEx9pcM9Y+Dd/APJaNlSvVSvzl54rrMdZT5+Oi2LM= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 h1:CU4+EJeJi3TKYWEcYuSdWsjzw0nVsK/H0MSQOiPcymU= @@ -156,8 +164,16 @@ github.com/MrAlias/otel-schema-utils v0.4.0-alpha h1:6ZG9rw4NvxKwRp2Bmnfr8WJZVWL github.com/MrAlias/otel-schema-utils v0.4.0-alpha/go.mod h1:baehOhES9qiLv9xMcsY6ZQlKLBRR89XVJEvU7Yz3qJk= github.com/ProtonMail/go-crypto v1.4.1 h1:9RfcZHqEQUvP8RzecWEUafnZVtEvrBVL9BiF67IQOfM= github.com/ProtonMail/go-crypto v1.4.1/go.mod h1:e1OaTyu5SYVrO9gKOEhTc+5UcXtTUa+P3uLudwcgPqo= +github.com/PuerkitoBio/rehttp v1.4.0 h1:rIN7A2s+O9fmHUM1vUcInvlHj9Ysql4hE+Y0wcl/xk8= +github.com/PuerkitoBio/rehttp v1.4.0/go.mod h1:LUwKPoDbDIA2RL5wYZCNsQ90cx4OJ4AWBmq6KzWZL1s= +github.com/a-h/templ v0.3.1020 h1:ypAT/L5ySWEnZ6Zft/5yfoWXYYkhFNvEFOeeqecg4tw= +github.com/a-h/templ v0.3.1020/go.mod h1:A2DlK61v+K+NRoGnhmYbNYVmtYHcFO5/AisMvBdDxTM= +github.com/adrg/strutil v0.3.1 h1:OLvSS7CSJO8lBii4YmBt8jiK9QOtB9CzCzwl4Ic/Fz4= +github.com/adrg/strutil v0.3.1/go.mod h1:8h90y18QLrs11IBffcGX3NW/GFBXCMcNg4M7H6MspPA= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/akedrou/textdiff v0.1.0 h1:K7nbOVQju7/coCXnJRJ2fsltTwbSvC+M4hKBUJRBRGY= +github.com/akedrou/textdiff v0.1.0/go.mod h1:a9CCC49AKtFTmVDNFHDlCg7V/M7C7QExDAhb2SkL6DQ= github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= github.com/alecthomas/chroma/v2 v2.16.0 h1:QC5ZMizk67+HzxFDjQ4ASjni5kWBTGiigRG1u23IGvA= @@ -168,6 +184,12 @@ github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA= +github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA= +github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4 h1:TdGQS+RoR4AUO6gqUL74yK1dz/Arrt/WG+dxOj6Yo6A= +github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4/go.mod h1:GJxtdOs9K4neo8Gg65CjJ7jNautmldGli5/OFNabOoo= +github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op h1:Z/MZK75wC/NSrkgqeNIa7jexam9uWzhLmFTSCPI/kn0= github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op/go.mod h1:FQyySiasQQM8735Ddel3MRojmy4dA1IqCeyJ5jmPMbI= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= @@ -179,6 +201,8 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/apparentlymart/go-textseg/v17 v17.0.1 h1:bpMXRgQ5cEoRNuQke1a80/Nl6w3G5eoIbWo9f3gXkAs= github.com/apparentlymart/go-textseg/v17 v17.0.1/go.mod h1:fa8X4jgGeevslICIY6LcdjkSecWnXmYd9Lk34z/VxZs= +github.com/auth0/go-auth0/v2 v2.14.0 h1:zDxwRHGAt6gLK/OG6wAkB5ScQEJ8WW/ex1EnJig8fFc= +github.com/auth0/go-auth0/v2 v2.14.0/go.mod h1:Q/Y3VZVoI3sw87VyTPhx2TQL6Sq4Q/iCP67rW2gcn+M= github.com/auth0/go-jwt-middleware/v3 v3.2.0 h1:OP0/YH89A+w03zOjuRPPgKh5S+1+uAmY/vtllYUSWCM= github.com/auth0/go-jwt-middleware/v3 v3.2.0/go.mod h1:/f0hy3exUWxL7/4XJ1oSHBDSBf2Os2C1VT2RkQ9frs0= github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI= @@ -247,6 +271,8 @@ github.com/aws/aws-sdk-go-v2/service/route53 v1.65.2 h1:/6WibgFHIQnBuP0PtWnz7NZ6 github.com/aws/aws-sdk-go-v2/service/route53 v1.65.2/go.mod h1:kg30QdUv8hG6jifkHp+F8448US9y9a+6xS2l5F8aa38= github.com/aws/aws-sdk-go-v2/service/s3 v1.106.0 h1:7QZWVJZWzHivHWIa+5TELLaBBkbuoj0GPwQtMlJ0sqk= github.com/aws/aws-sdk-go-v2/service/s3 v1.106.0/go.mod h1:fcvq5L7dK+5cQFicEJwpI6e6Wn8NY2i6yT5wRLYVc7s= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.0 h1:trHEFsuX3kTndC27azplXeKbPehlKhCWNvuDcLg34SM= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.0/go.mod h1:do4UiBA1bS3c+bUdHOTkuD3tutRiVq1gHgfao/2CyBc= github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4= github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs= github.com/aws/aws-sdk-go-v2/service/sns v1.42.0 h1:hE9mxcePgE1labOMy2zgkfy3KuxIk7P0DkJpAkd4vCw= @@ -263,16 +289,34 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78 github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg= github.com/aws/smithy-go v1.27.4 h1:JQcphmBN4f0q/sPqXqROIItRNV/hy10cgu7CsFy616M= github.com/aws/smithy-go v1.27.4/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= +github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= +github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0/go.mod h1:6L7zgvqo0idzI7IO8de6ZC051AfXb5ipkIJ7bIA2tGA= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/aymanbagabas/go-udiff v0.4.1 h1:OEIrQ8maEeDBXQDoGCbbTTXYJMYRCRO1fnodZ12Gv5o= github.com/aymanbagabas/go-udiff v0.4.1/go.mod h1:0L9PGwj20lrtmEMeyw4WKJ/TMyDtvAoK9bf2u/mNo3w= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= +github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= +github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/bombsimon/logrusr/v4 v4.1.0 h1:uZNPbwusB0eUXlO8hIUwStE6Lr5bLN6IgYgG+75kuh4= +github.com/bombsimon/logrusr/v4 v4.1.0/go.mod h1:pjfHC5e59CvjTBIU3V3sGhFWFAnsnhOR03TRc6im0l8= +github.com/bradleyfalzon/ghinstallation/v2 v2.19.0 h1:KQfD+43pRw9NUJhGycGrFr9vF1MubZacksKol1gomFI= +github.com/bradleyfalzon/ghinstallation/v2 v2.19.0/go.mod h1:fe5ECIhCdEnxwLiBlNTxx9CP455wt42BELnlDVMvaAA= github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4= github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= +github.com/brianvoe/gofakeit/v7 v7.15.0 h1:kGLYAWN8tnmxq2PelKVK6zwpM7kMxdz9SGPH31mFkNs= +github.com/brianvoe/gofakeit/v7 v7.15.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw= github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c= +github.com/buger/jsonparser v1.1.2 h1:frqHqw7otoVbk5M8LlE/L7HTnIq2v9RX6EJ48i9AxJk= +github.com/buger/jsonparser v1.1.2/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -311,6 +355,8 @@ github.com/coder/websocket v1.8.15 h1:6B2JPeOGlpff2Uz6vOEH1Vzpi0iUz20A+lPVhPHtNU github.com/coder/websocket v1.8.15/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= github.com/containerd/console v1.0.5 h1:R0ymNeydRqH2DmakFNdmjR2k0t7UPuiOV/N/27/qqsc= github.com/containerd/console v1.0.5/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/coreos/go-oidc/v3 v3.20.0 h1:EtE0WIBHk03N+DqGkY4+UONzzZHk7amKt6IyNd7OsZE= +github.com/coreos/go-oidc/v3 v3.20.0/go.mod h1:DYCf24+ncYi+XkIH97GY1+dqoRlbaSI26KVTCI9SrY4= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= @@ -322,6 +368,11 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvw github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ= github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/dlclark/regexp2/v2 v2.5.1 h1:E5Ug7Dh264W1ymdySmiHNcDG7fmsR307APCE5R07a20= +github.com/dlclark/regexp2/v2 v2.5.1/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dylibso/observe-sdk/go v0.0.0-20240828172851-9145d8ad07e1 h1:idfl8M8rPW93NehFw5H1qqH8yG158t5POr+LX9avbJY= +github.com/dylibso/observe-sdk/go v0.0.0-20240828172851-9145d8ad07e1/go.mod h1:C8DzXehI4zAbrdlbtOByKX6pfivJTBiV9Jjqv56Yd9Q= github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= @@ -334,8 +385,12 @@ github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 h1:/G9QYbddjL25KvtKTv3an github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.3.3 h1:MVQghNeW+LZcmXe7SY1V36Z+WFMDjpqGAGacLe2T0ds= github.com/envoyproxy/protoc-gen-validate v1.3.3/go.mod h1:TsndJ/ngyIdQRhMcVVGDDHINPLWB7C82oDArY51KfB0= +github.com/evanphx/json-patch v0.5.2 h1:xVCHIVMUu1wtM/VkR9jVZ45N3FhZfYMMYGorLCR8P3k= +github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= +github.com/extism/go-sdk v1.7.1 h1:lWJos6uY+tRFdlIHR+SJjwFDApY7OypS/2nMhiVQ9Sw= +github.com/extism/go-sdk v1.7.1/go.mod h1:IT+Xdg5AZM9hVtpFUA+uZCJMge/hbvshl8bwzLtFyKA= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= @@ -347,8 +402,16 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= +github.com/gabriel-vasile/mimetype v1.4.12/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= github.com/getsentry/sentry-go v0.47.0 h1:AnSMSyrYA5qZCIN/2xpgAAwv63sVULV+vBq37ajouc8= github.com/getsentry/sentry-go v0.47.0/go.mod h1:h+b4VHpKnK7aUXB5wc+KDnPgp9ZtfliRD4eV85FbiSA= +github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= +github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= +github.com/gkampitakis/go-snaps v0.5.15 h1:amyJrvM1D33cPHwVrjo9jQxX8g/7E2wYdZ+01KS3zGE= +github.com/gkampitakis/go-snaps v0.5.15/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -359,23 +422,43 @@ github.com/go-git/go-git/v5 v5.19.1 h1:nX27AnaU43/K5bKktKwgBmR9lawoYVe1Ckg0rgzzN github.com/go-git/go-git/v5 v5.19.1/go.mod h1:Pb1v0c7/g8aGQJwx9Us09W85yGoyvSwuhEGMH7zjDKQ= github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA= github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= +github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6 h1:nxP4pPoyqOAgX8lYDFCfl3DyKeXErCvSvhcyzwGV9CE= +github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6/go.mod h1:tphK2c80bpPhMOI4v6bIc2xWywPfbqi1Z06+RcrMkDg= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= +github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-openapi/jsonpointer v0.21.1 h1:whnzv/pNXtK2FbX/W9yJfRmE2gsmkfahjMKB0fZvcic= github.com/go-openapi/jsonpointer v0.21.1/go.mod h1:50I1STOfbY1ycR8jGz8DaMeLCdXiI6aDteEdRNNzpdk= github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZU= github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.30.1 h1:f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w= +github.com/go-playground/validator/v10 v10.30.1/go.mod h1:oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= 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/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= +github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= @@ -395,13 +478,24 @@ github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnL github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 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/go-github/v88 v88.0.0 h1:dZA9IKkPK1eXZj4ypngnpRj5FwdpTv4whix2PrQMP7M= +github.com/google/go-github/v88 v88.0.0/go.mod h1:rufTDgn2N45wjhukLTyxmvc9nilSp3mr3Rgtt6b1MPw= +github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0= +github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU= github.com/google/go-tpm v0.9.8 h1:slArAR9Ft+1ybZu0lBwpSmpwhRXaa85hWtMinMyRAWo= github.com/google/go-tpm v0.9.8/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/jsonschema-go v0.4.3 h1:/DBOLZTfDow7pe2GmaJNhltueGTtDKICi8V8p+DQPd0= +github.com/google/jsonschema-go v0.4.3/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE= github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= +github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 h1:EwtI+Al+DeppwYX2oXJCETMO23COyaKGP6fHVpkpWpg= +github.com/google/pprof v0.0.0-20260402051712-545e8a4df936/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= @@ -420,8 +514,14 @@ github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e h1:XmA6L9IP github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e/go.mod h1:AFIo+02s+12CEg8Gzz9kzhCbmbq6JcKNrhHffCGA9z4= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= +github.com/harness/harness-go-sdk v0.8.14 h1:ogE+WAnFcc6G3BGHhx0Go/fpw05zv4tGNTuiTQuBr6w= +github.com/harness/harness-go-sdk v0.8.14/go.mod h1:iEAGFfIm0MOFJxN6tqMQSPZiEO/Dz1joLDHrkEU3lps= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -445,6 +545,8 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hc-install v0.9.4 h1:KKWOpUG0EqIV63Qk2GGFrZ0s275NVs5lKf9N5vjBNoc= github.com/hashicorp/hc-install v0.9.4/go.mod h1:4LRYeEN2bMIFfIv57ldMWt9awfuZhvpbRt0vWmv51WU= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= @@ -477,8 +579,22 @@ github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8 github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/ianlancetaylor/demangle v0.0.0-20251118225945-96ee0021ea0f h1:Fnl4pzx8SR7k7JuzyW8lEtSFH6EQ8xgcypgIn8pcGIE= +github.com/ianlancetaylor/demangle v0.0.0-20251118225945-96ee0021ea0f/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/invopop/jsonschema v0.14.0 h1:MHQqLhvpNUZfw+hM3AZDYK7jxO8FZoQeQM77g8iyZjg= +github.com/invopop/jsonschema v0.14.0/go.mod h1:ygm6C2EaVNMBDPpaPlnOA2pFAxBnxGjFlMZABxm9n2I= +github.com/jackc/pgerrcode v0.0.0-20250907135507-afb5586c32a6 h1:D/V0gu4zQ3cL2WKeVNVM4r2gLxGGf6McLwgXzRTo2RQ= +github.com/jackc/pgerrcode v0.0.0-20250907135507-afb5586c32a6/go.mod h1:a/s9Lp5W7n/DD0VrVoyJ00FbP2ytTPDVOivvn2bMlds= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.10.0 h1:VhSvgU2jSli8o3AqIEOTJr7rZwAEUVo4E4XhR94Zfr0= +github.com/jackc/pgx/v5 v5.10.0/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4= +github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= +github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A= github.com/jarcoal/httpmock v1.4.1/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= @@ -487,10 +603,18 @@ github.com/jedib0t/go-pretty/v6 v6.8.3 h1:yVSk5aemoYHCvcrtqyXklwqcgHQIQzmy/oUzFl github.com/jedib0t/go-pretty/v6 v6.8.3/go.mod h1:YwC5CE4fJ1HFUDeivSV1r//AmANFHyqczZk+U6BDALU= github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE= +github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= 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/jxskiss/base62 v1.1.0 h1:A5zbF8v8WXx2xixnAKD2w+abC+sIzYJX+nxmhA6HWFw= +github.com/jxskiss/base62 v1.1.0/go.mod h1:HhWAlUXvxKThfOlZbcuFzsqwtF5TcqS9ru3y5GfjWAc= +github.com/kaptinlin/jsonrepair v0.4.8 h1:9oaoEe/vaKgm8ko4TLjBLUEog6tBW6WUzZXLPL2yTCk= +github.com/kaptinlin/jsonrepair v0.4.8/go.mod h1:eWRC42KDUT0MHkMplUN6necu59FQFqKOKe+86akpY3g= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= @@ -499,6 +623,7 @@ github.com/klauspost/compress v1.18.6 h1:2jupLlAwFm95+YDR+NwD2MEfFO9d4z4Prjl1XXD github.com/klauspost/compress v1.18.6/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= 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/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -508,6 +633,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/lestrrat-go/blackmagic v1.0.4 h1:IwQibdnf8l2KoO+qC3uT4OaTWsW7tuRQXy9TRN9QanA= github.com/lestrrat-go/blackmagic v1.0.4/go.mod h1:6AWFyKNNj0zEXQYfTMPfZrAXUWUfTIZ5ECEUEJaijtw= github.com/lestrrat-go/dsig v1.0.0 h1:OE09s2r9Z81kxzJYRn07TFM9XA4akrUdoMwr0L8xj38= @@ -516,10 +643,18 @@ github.com/lestrrat-go/dsig-secp256k1 v1.0.0 h1:JpDe4Aybfl0soBvoVwjqDbp+9S1Y2OM7 github.com/lestrrat-go/dsig-secp256k1 v1.0.0/go.mod h1:CxUgAhssb8FToqbL8NjSPoGQlnO4w3LG1P0qPWQm/NU= github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= +github.com/lestrrat-go/httprc v1.0.6 h1:qgmgIRhpvBqexMJjA/PmwSvhNk679oqD1RbovdCGW8k= +github.com/lestrrat-go/httprc v1.0.6/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= github.com/lestrrat-go/httprc/v3 v3.0.3 h1:WjLHWkDkgWXeIUrKi/7lS/sGq2DjkSAwdTbH5RHXAKs= github.com/lestrrat-go/httprc/v3 v3.0.3/go.mod h1:mSMtkZW92Z98M5YoNNztbRGxbXHql7tSitCvaxvo9l0= +github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= +github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= +github.com/lestrrat-go/jwx/v2 v2.1.6 h1:hxM1gfDILk/l5ylers6BX/Eq1m/pnxe9NBwW6lVfecA= +github.com/lestrrat-go/jwx/v2 v2.1.6/go.mod h1:Y722kU5r/8mV7fYDifjug0r8FK8mZdw0K0GpJw/l8pU= github.com/lestrrat-go/jwx/v3 v3.0.13 h1:AdHKiPIYeCSnOJtvdpipPg/0SuFh9rdkN+HF3O0VdSk= github.com/lestrrat-go/jwx/v3 v3.0.13/go.mod h1:2m0PV1A9tM4b/jVLMx8rh6rBl7F6WGb3EG2hufN9OQU= +github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= +github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lestrrat-go/option/v2 v2.0.0 h1:XxrcaJESE1fokHy3FpaQ/cXW8ZsIdWcdFzzLOcID3Ss= github.com/lestrrat-go/option/v2 v2.0.0/go.mod h1:oSySsmzMoR0iRzCDCaUfsCzxQHUEuhOViQObyy7S6Vg= github.com/lithammer/fuzzysearch v1.1.8 h1:/HIuJnjHuXS8bKaiTMeeDlW2/AyIWk2brx1V8LFgLN4= @@ -528,6 +663,8 @@ github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= +github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= @@ -539,6 +676,12 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw= github.com/mattn/go-runewidth v0.0.23/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= +github.com/mavolin/go-htmx v1.0.0 h1:43rZuemWd23zrMcTU939EsflXjOPxtHy9VraT1CZ6qQ= +github.com/mavolin/go-htmx v1.0.0/go.mod h1:r6O09gzKou9kutq3UiDPZ//Q7IeBCMcs8US5/sHFbvg= +github.com/mergestat/timediff v0.0.4 h1:NZ3sqG/6K9flhTubdltmRx3RBfIiYv6LsGP+4FlXMM8= +github.com/mergestat/timediff v0.0.4/go.mod h1:yvMUaRu2oetc+9IbPLYBJviz6sA7xz8OXMDfhBl7YSI= +github.com/mfridman/tparse v0.18.0 h1:wh6dzOKaIwkUGyKgOntDW4liXSo37qg5AXbIhkMV3vE= +github.com/mfridman/tparse v0.18.0/go.mod h1:gEvqZTuCgEhPbYk/2lS3Kcxg1GmTxxU7kTC8DvP0i/A= github.com/micahhausler/aws-iam-policy v0.4.4 h1:1aMhJ+0CkvUJ8HGN1chX+noXHs8uvGLkD7xIBeYd31c= github.com/micahhausler/aws-iam-policy v0.4.4/go.mod h1:H+yWljTu4XWJjNJJYgrPUai0AUTGNHc8pumkN57/foI= github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk= @@ -551,6 +694,8 @@ github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa1 github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= @@ -559,6 +704,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modelcontextprotocol/go-sdk v1.6.1 h1:0zOSupjKUxPKSocPT1Wtago+mUHU2/uZ4xSOY0FGReU= +github.com/modelcontextprotocol/go-sdk v1.6.1/go.mod h1:kzm3kzFL1/+AziGOE0nUs3gvPoNxMCvkxokMkuFapXQ= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= 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= @@ -583,12 +730,26 @@ github.com/nats-io/nkeys v0.4.16 h1:rd5oAuLOb8mnAycB0xleuEBNS1pVVnN0fv/FF34Eypg= github.com/nats-io/nkeys v0.4.16/go.mod h1:llLgWoI0o4z/Q57q2R1kHfmocyhGV6VG/U18Glg1Afs= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/neo4j/neo4j-go-driver/v6 v6.2.0 h1:5gxdBkCAY+jD/Tv6goqctLk3AdaVFU8MQU4t3n04SsU= +github.com/neo4j/neo4j-go-driver/v6 v6.2.0/go.mod h1:hzSTfNfM31p1uRSzL1F/BAYOgaiTarE6OAQBajfsm+I= github.com/oklog/run v1.2.0 h1:O8x3yXwah4A73hJdlrwo/2X6J62gE5qTMusH0dvz60E= github.com/oklog/run v1.2.0/go.mod h1:mgDbKRSwPhJfesJ4PntqFUbKQRZ50NgmZTSPlFA0YFk= +github.com/onsi/ginkgo/v2 v2.32.0 h1:Hw7s2pVrQo/8Yz5N77qdnpHaoc+c6cC9WIV1Jce+J6E= +github.com/onsi/ginkgo/v2 v2.32.0/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= +github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I= +github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg= +github.com/openai/openai-go/v3 v3.46.0 h1:9HzL4DOybwOHAAcsGpMQyELuw0e9OqynJOPV8SH8g5M= +github.com/openai/openai-go/v3 v3.46.0/go.mod h1:b8MgNMpR3lPifYnaOH8XwcG8qRHwhzZxuDgM9lL7h5k= github.com/openrdap/rdap v0.10.1 h1:+FT6HT7gzAnmKxgy6p1iCnhyaf++Q9Lkq1L9sk8J5IY= github.com/openrdap/rdap v0.10.1/go.mod h1:JHgco+RQ9lApvLbQ4GiJ/aJJHhbdgVvjI8tqOAYkOV0= +github.com/overmindtech/otelpgx v0.0.0-20260518092812-9a74fcacfd49 h1:THDCq6kD417YIlex+sBmoRbGODL9fGcJ2y+ld8EkWLk= +github.com/overmindtech/otelpgx v0.0.0-20260518092812-9a74fcacfd49/go.mod h1:J0I5A8R34EkvIcsbSOKrZExJE8uDxX2cwNIPRLR12iA= github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297 h1:ih4bqBMHTCtg3lMwJszNkMGO9n7Uoe0WX5be1/x+s+g= github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297/go.mod h1:bRQZYnvLrW1S5wYT6tbQnun8NpO5X6zP5cY3VKuDc4U= +github.com/pb33f/ordered-map/v2 v2.3.1 h1:5319HDO0aw4DA4gzi+zv4FXU9UlSs3xGZ40wcP1nBjY= +github.com/pb33f/ordered-map/v2 v2.3.1/go.mod h1:qxFQgd0PkVUtOMCkTapqotNgzRhMPL7VvaHKbd1HnmQ= +github.com/pborman/ansi v1.3.0 h1:pBgNfKbeLsyKnXk7TmQnY37Q2iaKr01H98cd5KlhByU= +github.com/pborman/ansi v1.3.0/go.mod h1:b2vwWf2ghGKNBvWEWCNuITd/lLQNse9XtCQpJMFK3wk= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= @@ -603,34 +764,81 @@ github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmd github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= 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.7 h1:qOBHXX4PHtvIvmOtyg1EeKlwFRiMKAcoMp4Q+bLQDmw= +github.com/pkoukk/tiktoken-go v0.1.7/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= +github.com/posthog/posthog-go v1.22.0 h1:VNy+sMJ9MMnENr9dMSxfQt/5bB4UhwRdZfasOAghMMg= +github.com/posthog/posthog-go v1.22.0/go.mod h1://M430hNH3e8CDv4i8SJesb26816Mpa6GIZaiP4pNQU= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= +github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= +github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= +github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= +github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= github.com/pterm/pterm v0.12.83 h1:ie+YmGmA727VuhxBlyGr74Ks+7McV6kT99IB8EU80aA= github.com/pterm/pterm v0.12.83/go.mod h1:xlgc6bFWyJIMtmLJvGim+L7jhSReilOlOnodeIYe4Tk= +github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf h1:NxGxgo0KmC8w9fdn8jLCyG1SDrR/Vxbfa1nWErS3pmw= +github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf/go.mod h1:q6RK8Iv6obzk6i0rnLyYPtppwZ5uXJLloL3oxmfrwm8= +github.com/resend/resend-go/v3 v3.11.0 h1:go8FVOjF0PBOKpFC57JUVWegjnjLYS5BI5g6aawhUWQ= +github.com/resend/resend-go/v3 v3.11.0/go.mod h1:iI7VA0NoGjWvsNii5iNC5Dy0llsI3HncXPejhniYzwE= +github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e h1:OwOgxT3MRpOj5Mp6DhFdZP43FOQOf2hhywAuT5XZCR4= +github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e/go.mod h1:O7UmsAMjpMYuToN4au5GNXdmN1gli+5FTldgXqAfaD0= +github.com/riverqueue/river v0.39.0 h1:VsoPJ8KTx7SvWQGWtdLjKxw15IjnYHj3xKb0UA+7200= +github.com/riverqueue/river v0.39.0/go.mod h1:YeHQKKQDakPapXgNarXUp3o3XGp8fXp5HiBmsn2FOHg= +github.com/riverqueue/river/riverdriver v0.39.0 h1:Vze5DtNJkxStjIlbDDwtxqk9wB2THn1RKEk5C5CZgFg= +github.com/riverqueue/river/riverdriver v0.39.0/go.mod h1:gZVyHaUIN6eDbdUu3p2mnS/wxmXYxO2li8YTs5hUA2g= +github.com/riverqueue/river/riverdriver/riverpgxv5 v0.39.0 h1:pIwYuKUUakIyVlmI2g5J4U/Hf8+e+ih0hGRDH1sA+x8= +github.com/riverqueue/river/riverdriver/riverpgxv5 v0.39.0/go.mod h1:veubJH/FDM9Q27zLKfSicMVe6OptARFFnHOKvLo47+w= +github.com/riverqueue/river/rivershared v0.39.0 h1:Ca5fe4Atbvb8cAq09YUzAi/G5ZslthjuYLpAvtNrHTg= +github.com/riverqueue/river/rivershared v0.39.0/go.mod h1:RtEsdSKHtewWUUVAC6TS+U+8bDiVweiVr483Jtm6epc= +github.com/riverqueue/river/rivertype v0.39.0 h1:0jHUTRDR1kdzbgXc6lN1B93WxolZyqPvqpYE+r0+R4o= +github.com/riverqueue/river/rivertype v0.39.0/go.mod h1:D1Ad+EaZiaXbQbJcJcfeicXJMBKno0n6UcfKI5Q7DIQ= +github.com/riverqueue/rivercontrib/otelriver v0.10.0 h1:cOtwJ6PyVGQWN45XfuSQSMJAV60KozgES8vaHE9u1F0= +github.com/riverqueue/rivercontrib/otelriver v0.10.0/go.mod h1:Ewb2HiCy9yoltuomU4yZcdvBRHQBNo2683qhChq2JOQ= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= +github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rodaine/protogofakeit v0.1.1 h1:ZKouljuRM3A+TArppfBqnH8tGZHOwM/pjvtXe9DaXH8= github.com/rodaine/protogofakeit v0.1.1/go.mod h1:pXn/AstBYMaSfc1/RqH3N82pBuxtWgejz1AlYpY1mI0= 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/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= +github.com/samber/lo v1.53.0 h1:t975lj2py4kJPQ6haz1QMgtId2gtmfktACxIXArw3HM= +github.com/samber/lo v1.53.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= +github.com/samber/slog-common v0.21.0 h1:Wo2hTly1Br5RjYqX/BTWJJeDnTE85oWk/7vqlpZuAUc= +github.com/samber/slog-common v0.21.0/go.mod h1:d/6OaSlzdkl9PFpfRLgn8FwY1OW6EFmPtBpsHX4MrU0= +github.com/samber/slog-logrus/v2 v2.5.4 h1:ACS0VWNDJcpFRICkgzRvBAI8ms/LH3S7KrOhAB3SQ0g= +github.com/samber/slog-logrus/v2 v2.5.4/go.mod h1:JBnv/7Gn0ef/iVy2RuRnA2qYIAc0ttlr6/9L/me8jVI= +github.com/sashabaranov/go-openai v1.41.2 h1:vfPRBZNMpnqu8ELsclWcAvF19lDNgh1t6TVfFFOPiSM= +github.com/sashabaranov/go-openai v1.41.2/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= github.com/segmentio/asm v1.2.1 h1:DTNbBqs57ioxAD4PrArqftgypG4/qNpXoJx8TVXxPR0= github.com/segmentio/asm v1.2.1/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= +github.com/segmentio/encoding v0.5.4 h1:OW1VRern8Nw6ITAtwSZ7Idrl3MXCFwXHPgqESYfvNt0= +github.com/segmentio/encoding v0.5.4/go.mod h1:HS1ZKa3kSN32ZHVZ7ZLPLXWvOVIiZtyJnO1gPH1sKt0= github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8= github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY= +github.com/slack-go/slack v0.27.0 h1:VWOpUzOK6UAPCCQlFxl79jhv8a/b+GOSJMnWziDJ8B8= +github.com/slack-go/slack v0.27.0/go.mod h1:UEe+jmo9WLlwHB04qsOrTDvqM7Aa4rQL3O5wF3n0hx4= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= @@ -647,12 +855,16 @@ github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjb github.com/spiffe/go-spiffe/v2 v2.6.0 h1:l+DolpxNWYgruGQVV0xsfeya3CsC7m8iBzDnMpsbLuo= github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= 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.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -660,8 +872,29 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/stretchr/testify v1.9.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/stripe/stripe-go/v84 v84.4.1 h1:ixq1fG3y0k4OORVaN+LFAMBFaWiMrvKIcR9dSqT6gD8= +github.com/stripe/stripe-go/v84 v84.4.1/go.mod h1:Z4gcKw1zl4geDG2+cjpSaJES9jaohGX6n7FP8/kHIqw= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816 h1:J6v8awz+me+xeb/cUTotKgceAYouhIB3pjzgRd6IlGk= +github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816/go.mod h1:tzym/CEb5jnFI+Q0k4Qq3+LvRF4gO3E2pxS8fHP8jcA= +github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 h1:ZF+QBjOI+tILZjBaFj3HgFonKXUcwgJ4djLb6i42S3Q= +github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834/go.mod h1:m9ymHTgNSEjuxvw8E7WWe4Pl4hZQHXONY8wE6dMLaRk= +github.com/tetratelabs/wazero v1.11.0 h1:+gKemEuKCTevU4d7ZTzlsvgd1uaToIDtlQlmNbwqYhA= +github.com/tetratelabs/wazero v1.11.0/go.mod h1:eV28rsN8Q+xwjogd7f4/Pp4xFxO7uOGbLcD/LzB1wiU= +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.19.0 h1:xwxm7n691Uf3u5OFjzngavjGTh55KX5q/9w9xHW88JU= +github.com/tidwall/gjson v1.19.0/go.mod h1:V37/opeE/JbLUOfH0QTXiNez2l0RUjYUhpT4szFQAfc= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/match v1.2.0 h1:0pt8FlkOwjN2fPt4bIl4BoNxb98gGHN2ObFEDkrfZnM= +github.com/tidwall/match v1.2.0/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= +github.com/tiktoken-go/tokenizer v0.8.1 h1:4obDoB6/dhdBt9xMweX4nww5cjdOq/nYF4ecwPq2+mg= +github.com/tiktoken-go/tokenizer v0.8.1/go.mod h1:eLA0t6nGvn9mDc7gt90qt7pMat+gE9ViqwQ6l9B+tA4= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31 h1:OXcKh35JaYsGMRzpvFkLv/MEyPuL49CThT1pZ8aSml4= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/uptrace/opentelemetry-go-extra/otellogrus v0.3.2 h1:H8wwQwTe5sL6x30z71lUgNiwBdeCHQjrphCfLwqIHGo= @@ -689,6 +922,10 @@ github.com/xiam/to v0.0.0-20191116183551-8328998fc0ed h1:Gjnw8buhv4V8qXaHtAWPnKX github.com/xiam/to v0.0.0-20191116183551-8328998fc0ed/go.mod h1:cqbG7phSzrbdg3aj+Kn63bpVruzwDZi58CpxlZkjwzw= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= +github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= +github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= +github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4= +github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= github.com/yuin/goldmark v1.7.10 h1:S+LrtBjRmqMac2UdtB6yyCEJm+UILZ2fefI4p7o0QpI= @@ -703,6 +940,10 @@ 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.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= +gitlab.com/gitlab-org/api/client-go/v2 v2.51.0 h1:jP3bsuS3WpiEqhxhG58GJtqCyOnjyACQ8u8oyUg7ru8= +gitlab.com/gitlab-org/api/client-go/v2 v2.51.0/go.mod h1:P0sRPwCAGIek6HIU0JH5W9Ic5+z3eWvCWwXeg7Pwr7o= +go.devnw.com/structs v1.0.0 h1:FFkBoBOkapCdxFEIkpOZRmMOMr9b9hxjKTD3bJYl9lk= +go.devnw.com/structs v1.0.0/go.mod h1:wHBkdQpNeazdQHszJ2sxwVEpd8zGTEsKkeywDLGbrmg= go.etcd.io/bbolt v1.5.0 h1:S7GAl7Fxv12yohbwFfIbQCGDWbQbtDGPET4P/bD4lxU= go.etcd.io/bbolt v1.5.0/go.mod h1:mkltfYE5aUHQxUct9N9V+Kp7aSjFqjgrhcXIS70Lrdk= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= @@ -719,6 +960,8 @@ go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 h1:4YsVu3B8+3qtWYYrsUYgn0OG78pN0rnNPRGX4SbokQI= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0/go.mod h1:+wnlSn0mD1ADVMe3v9Z/WIaiz6q6gL2J/ejaAmdmv80= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 h1:DvJDOPmSWQHWywQS6lKL+pb8s3gBLOZUtw4N+mavW1I= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0/go.mod h1:EtekO9DEJb4/jRyN4v4Qjc2yA7AtfCBuz2FynRUWTXs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 h1:lgh3PiVrRUWMLOVSkQicxzZll5NjF1r+AtsX1XRIHw0= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0/go.mod h1:5Cnhth3m/AgOeTgE3ex12pPmiu/gGtZit03kSzx9X7s= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.44.0 h1:hqxVTu/GtBF+vJ8d1fzW7fRxZFvgoDjWcxwwCaFDYpU= @@ -747,16 +990,24 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= +go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +go.yaml.in/yaml/v4 v4.0.0-rc.2 h1:/FrI8D64VSr4HtGIlUtlFMGsm7H7pWTbj6vOLVZcA6s= +go.yaml.in/yaml/v4 v4.0.0-rc.2/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= +golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I= +golang.org/x/image v0.44.0/go.mod h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY= golang.org/x/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.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= @@ -764,6 +1015,7 @@ golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= @@ -777,9 +1029,11 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -801,6 +1055,7 @@ golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -819,6 +1074,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/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= +gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= +gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.290.0 h1:eMw0Xo+IfbbMlKmW7aHvpyQRv9RCXuWx/vs8AD+0x9A= @@ -842,6 +1099,8 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/dnaeon/go-vcr.v3 v3.2.0 h1:Rltp0Vf+Aq0u4rQXgmXgtgoRDStTnFN83cWgSGSoRzM= +gopkg.in/dnaeon/go-vcr.v3 v3.2.0/go.mod h1:2IMOnnlx9I6u9x+YBsM3tAMx6AlOxnJ0pWxQAzZ79Ag= gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= @@ -856,16 +1115,30 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/api v0.36.3 h1:NxB+05W2UGqXWFXcLO0RB5cnqnUPP5v5sVlaOH0Iz4w= k8s.io/api v0.36.3/go.mod h1:JzLQKqRHC5+I8RVj/lS3lCg0mg6nWI9Fo/Sk3ElxHzg= +k8s.io/apiextensions-apiserver v0.36.0 h1:Wt7E8J+VBCbj4FjiBfDTK/neXDDjyJVJc7xfuOHImZ0= +k8s.io/apiextensions-apiserver v0.36.0/go.mod h1:kGDjH0msuiIB3tgsYRV0kS9GqpMYMUsQ3GHv7TApyug= k8s.io/apimachinery v0.36.3 h1:PkzMRBRG8joFD8EhCuQAtNPvJlxb82FwplP26HIzvAM= k8s.io/apimachinery v0.36.3/go.mod h1:cTSjBWgPe/6CQyBKzY/hDIRWCQQQeK0mfLbml0UYFHE= +k8s.io/apiserver v0.36.0 h1:Jg5OFAENUACByUCg15CmhZAYrr5ZyJ+jodyA1mHl3YE= +k8s.io/apiserver v0.36.0/go.mod h1:mHvwdHf+qKEm+1/hYm756SV+oREOKSPnsjagOpx6Vho= k8s.io/client-go v0.36.3 h1:M4JdVzXxYcZk4fGpfDdYnxSwhLKWCFoQsHW6t+z8Hfg= k8s.io/client-go v0.36.3/go.mod h1:gcPwr0c87vjjG6HB6pWEqOeuYVoXSsREjzux2j6GF30= +k8s.io/component-base v0.36.3 h1:vc/UFvPCkW0irPz84LAodAL1j3f4xktPM6dDJIEheAY= +k8s.io/component-base v0.36.3/go.mod h1:hZbNFG+gCMl9EbykDGEu73feKP9/Cq6JsV4pTo9GTO8= k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg= k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= +k8s.io/streaming v0.36.3 h1:9rAaqBk0C0Pc7+/fqGekj07NV+/Xrew58p647A0JT8w= +k8s.io/streaming v0.36.3/go.mod h1:z6fV3D+NVkoeqRMtWwlUZK6U17SY/LqNzOxWL6GyR/s= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= +riverqueue.com/riverui v0.16.0 h1:XFgTdKqRYjdPsGV2QSBRTrMaWiXAZWvouH2zanQ0t9g= +riverqueue.com/riverui v0.16.0/go.mod h1:NoIMP+QRd/Z+k5QYZ4LlYzRPinZ/qfIvyrNXFS61cak= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= +sigs.k8s.io/controller-runtime v0.24.1 h1:miPEwrmirImAvgME1L9qebGHrOnGJoVmVdtOU9fRfo4= +sigs.k8s.io/controller-runtime v0.24.1/go.mod h1:vFkfY5fGt5xAC/sKb8IBFKgWPNKG9OUG29dR8Y2wImw= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kind v0.32.0 h1:p9hscbj98u/qyrjVpjId86LI70nQmbSsipV7wCG10Xk= diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go new file mode 100644 index 00000000..0c962105 --- /dev/null +++ b/go/sdp-go/brent.pb.go @@ -0,0 +1,26457 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: brent.proto + +package sdp + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type RunStatus int32 + +const ( + RunStatus_RUN_STATUS_UNSPECIFIED RunStatus = 0 + RunStatus_RUN_STATUS_RUNNING RunStatus = 1 + RunStatus_RUN_STATUS_COMPLETED RunStatus = 2 + RunStatus_RUN_STATUS_ERROR RunStatus = 3 + RunStatus_RUN_STATUS_CANCELLED RunStatus = 4 +) + +// Enum value maps for RunStatus. +var ( + RunStatus_name = map[int32]string{ + 0: "RUN_STATUS_UNSPECIFIED", + 1: "RUN_STATUS_RUNNING", + 2: "RUN_STATUS_COMPLETED", + 3: "RUN_STATUS_ERROR", + 4: "RUN_STATUS_CANCELLED", + } + RunStatus_value = map[string]int32{ + "RUN_STATUS_UNSPECIFIED": 0, + "RUN_STATUS_RUNNING": 1, + "RUN_STATUS_COMPLETED": 2, + "RUN_STATUS_ERROR": 3, + "RUN_STATUS_CANCELLED": 4, + } +) + +func (x RunStatus) Enum() *RunStatus { + p := new(RunStatus) + *p = x + return p +} + +func (x RunStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RunStatus) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[0].Descriptor() +} + +func (RunStatus) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[0] +} + +func (x RunStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RunStatus.Descriptor instead. +func (RunStatus) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{0} +} + +type MetricsComparisonMode int32 + +const ( + MetricsComparisonMode_METRICS_COMPARISON_MODE_UNSPECIFIED MetricsComparisonMode = 0 + MetricsComparisonMode_METRICS_COMPARISON_MODE_BEFORE_AFTER MetricsComparisonMode = 1 + MetricsComparisonMode_METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED MetricsComparisonMode = 2 +) + +// Enum value maps for MetricsComparisonMode. +var ( + MetricsComparisonMode_name = map[int32]string{ + 0: "METRICS_COMPARISON_MODE_UNSPECIFIED", + 1: "METRICS_COMPARISON_MODE_BEFORE_AFTER", + 2: "METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED", + } + MetricsComparisonMode_value = map[string]int32{ + "METRICS_COMPARISON_MODE_UNSPECIFIED": 0, + "METRICS_COMPARISON_MODE_BEFORE_AFTER": 1, + "METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED": 2, + } +) + +func (x MetricsComparisonMode) Enum() *MetricsComparisonMode { + p := new(MetricsComparisonMode) + *p = x + return p +} + +func (x MetricsComparisonMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MetricsComparisonMode) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[1].Descriptor() +} + +func (MetricsComparisonMode) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[1] +} + +func (x MetricsComparisonMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MetricsComparisonMode.Descriptor instead. +func (MetricsComparisonMode) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{1} +} + +type PrincipalStatusState int32 + +const ( + PrincipalStatusState_PRINCIPAL_STATUS_STATE_UNSPECIFIED PrincipalStatusState = 0 + PrincipalStatusState_PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING PrincipalStatusState = 1 + PrincipalStatusState_PRINCIPAL_STATUS_STATE_READY PrincipalStatusState = 2 +) + +// Enum value maps for PrincipalStatusState. +var ( + PrincipalStatusState_name = map[int32]string{ + 0: "PRINCIPAL_STATUS_STATE_UNSPECIFIED", + 1: "PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING", + 2: "PRINCIPAL_STATUS_STATE_READY", + } + PrincipalStatusState_value = map[string]int32{ + "PRINCIPAL_STATUS_STATE_UNSPECIFIED": 0, + "PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING": 1, + "PRINCIPAL_STATUS_STATE_READY": 2, + } +) + +func (x PrincipalStatusState) Enum() *PrincipalStatusState { + p := new(PrincipalStatusState) + *p = x + return p +} + +func (x PrincipalStatusState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrincipalStatusState) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[2].Descriptor() +} + +func (PrincipalStatusState) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[2] +} + +func (x PrincipalStatusState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrincipalStatusState.Descriptor instead. +func (PrincipalStatusState) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{2} +} + +type IntegrationProvider int32 + +const ( + IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED IntegrationProvider = 0 + IntegrationProvider_INTEGRATION_PROVIDER_GITHUB IntegrationProvider = 1 + IntegrationProvider_INTEGRATION_PROVIDER_LINEAR IntegrationProvider = 2 + IntegrationProvider_INTEGRATION_PROVIDER_SLACK IntegrationProvider = 3 + IntegrationProvider_INTEGRATION_PROVIDER_BYO_HTTP_MCP IntegrationProvider = 4 + IntegrationProvider_INTEGRATION_PROVIDER_MCP_AGGREGATOR IntegrationProvider = 5 + IntegrationProvider_INTEGRATION_PROVIDER_BITBUCKET IntegrationProvider = 6 + IntegrationProvider_INTEGRATION_PROVIDER_GITLAB IntegrationProvider = 7 +) + +// Enum value maps for IntegrationProvider. +var ( + IntegrationProvider_name = map[int32]string{ + 0: "INTEGRATION_PROVIDER_UNSPECIFIED", + 1: "INTEGRATION_PROVIDER_GITHUB", + 2: "INTEGRATION_PROVIDER_LINEAR", + 3: "INTEGRATION_PROVIDER_SLACK", + 4: "INTEGRATION_PROVIDER_BYO_HTTP_MCP", + 5: "INTEGRATION_PROVIDER_MCP_AGGREGATOR", + 6: "INTEGRATION_PROVIDER_BITBUCKET", + 7: "INTEGRATION_PROVIDER_GITLAB", + } + IntegrationProvider_value = map[string]int32{ + "INTEGRATION_PROVIDER_UNSPECIFIED": 0, + "INTEGRATION_PROVIDER_GITHUB": 1, + "INTEGRATION_PROVIDER_LINEAR": 2, + "INTEGRATION_PROVIDER_SLACK": 3, + "INTEGRATION_PROVIDER_BYO_HTTP_MCP": 4, + "INTEGRATION_PROVIDER_MCP_AGGREGATOR": 5, + "INTEGRATION_PROVIDER_BITBUCKET": 6, + "INTEGRATION_PROVIDER_GITLAB": 7, + } +) + +func (x IntegrationProvider) Enum() *IntegrationProvider { + p := new(IntegrationProvider) + *p = x + return p +} + +func (x IntegrationProvider) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IntegrationProvider) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[3].Descriptor() +} + +func (IntegrationProvider) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[3] +} + +func (x IntegrationProvider) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IntegrationProvider.Descriptor instead. +func (IntegrationProvider) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{3} +} + +type IntegrationIntent int32 + +const ( + IntegrationIntent_INTEGRATION_INTENT_UNSPECIFIED IntegrationIntent = 0 + IntegrationIntent_INTEGRATION_INTENT_INSTALL IntegrationIntent = 1 + // Personal handle binding without a fresh org install (GitHub user OAuth, + // Slack OIDC, Linear token refresh + binding when org is already installed). + IntegrationIntent_INTEGRATION_INTENT_LINK IntegrationIntent = 2 +) + +// Enum value maps for IntegrationIntent. +var ( + IntegrationIntent_name = map[int32]string{ + 0: "INTEGRATION_INTENT_UNSPECIFIED", + 1: "INTEGRATION_INTENT_INSTALL", + 2: "INTEGRATION_INTENT_LINK", + } + IntegrationIntent_value = map[string]int32{ + "INTEGRATION_INTENT_UNSPECIFIED": 0, + "INTEGRATION_INTENT_INSTALL": 1, + "INTEGRATION_INTENT_LINK": 2, + } +) + +func (x IntegrationIntent) Enum() *IntegrationIntent { + p := new(IntegrationIntent) + *p = x + return p +} + +func (x IntegrationIntent) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IntegrationIntent) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[4].Descriptor() +} + +func (IntegrationIntent) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[4] +} + +func (x IntegrationIntent) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IntegrationIntent.Descriptor instead. +func (IntegrationIntent) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{4} +} + +// LoginProvider is the closed set of social providers supported by browser +// login recovery. Mapped from Auth0 connection names in the backend recovery +// policy; the SPA trusts this enum for presentation and does not re-derive +// provider from Auth0 strategy or identity. +type LoginProvider int32 + +const ( + LoginProvider_LOGIN_PROVIDER_UNSPECIFIED LoginProvider = 0 + LoginProvider_LOGIN_PROVIDER_GOOGLE LoginProvider = 1 + LoginProvider_LOGIN_PROVIDER_GITHUB LoginProvider = 2 + LoginProvider_LOGIN_PROVIDER_BITBUCKET LoginProvider = 3 + LoginProvider_LOGIN_PROVIDER_GITLAB LoginProvider = 4 + LoginProvider_LOGIN_PROVIDER_SLACK LoginProvider = 5 +) + +// Enum value maps for LoginProvider. +var ( + LoginProvider_name = map[int32]string{ + 0: "LOGIN_PROVIDER_UNSPECIFIED", + 1: "LOGIN_PROVIDER_GOOGLE", + 2: "LOGIN_PROVIDER_GITHUB", + 3: "LOGIN_PROVIDER_BITBUCKET", + 4: "LOGIN_PROVIDER_GITLAB", + 5: "LOGIN_PROVIDER_SLACK", + } + LoginProvider_value = map[string]int32{ + "LOGIN_PROVIDER_UNSPECIFIED": 0, + "LOGIN_PROVIDER_GOOGLE": 1, + "LOGIN_PROVIDER_GITHUB": 2, + "LOGIN_PROVIDER_BITBUCKET": 3, + "LOGIN_PROVIDER_GITLAB": 4, + "LOGIN_PROVIDER_SLACK": 5, + } +) + +func (x LoginProvider) Enum() *LoginProvider { + p := new(LoginProvider) + *p = x + return p +} + +func (x LoginProvider) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LoginProvider) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[5].Descriptor() +} + +func (LoginProvider) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[5] +} + +func (x LoginProvider) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LoginProvider.Descriptor instead. +func (LoginProvider) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{5} +} + +// JoinSource records why a workspace is joinable / how membership was created. +type JoinSource int32 + +const ( + JoinSource_JOIN_SOURCE_UNSPECIFIED JoinSource = 0 + JoinSource_JOIN_SOURCE_DOMAIN JoinSource = 1 + JoinSource_JOIN_SOURCE_INVITE JoinSource = 2 // pending invite applies (list) or invite was claimed (join audit) +) + +// Enum value maps for JoinSource. +var ( + JoinSource_name = map[int32]string{ + 0: "JOIN_SOURCE_UNSPECIFIED", + 1: "JOIN_SOURCE_DOMAIN", + 2: "JOIN_SOURCE_INVITE", + } + JoinSource_value = map[string]int32{ + "JOIN_SOURCE_UNSPECIFIED": 0, + "JOIN_SOURCE_DOMAIN": 1, + "JOIN_SOURCE_INVITE": 2, + } +) + +func (x JoinSource) Enum() *JoinSource { + p := new(JoinSource) + *p = x + return p +} + +func (x JoinSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JoinSource) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[6].Descriptor() +} + +func (JoinSource) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[6] +} + +func (x JoinSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JoinSource.Descriptor instead. +func (JoinSource) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{6} +} + +type InvitationStatus int32 + +const ( + InvitationStatus_INVITATION_STATUS_UNSPECIFIED InvitationStatus = 0 + InvitationStatus_INVITATION_STATUS_INVITED InvitationStatus = 1 + InvitationStatus_INVITATION_STATUS_ACCEPTED InvitationStatus = 2 + InvitationStatus_INVITATION_STATUS_REVOKED InvitationStatus = 3 + InvitationStatus_INVITATION_STATUS_EXPIRED InvitationStatus = 4 + InvitationStatus_INVITATION_STATUS_NOT_FOUND InvitationStatus = 5 +) + +// Enum value maps for InvitationStatus. +var ( + InvitationStatus_name = map[int32]string{ + 0: "INVITATION_STATUS_UNSPECIFIED", + 1: "INVITATION_STATUS_INVITED", + 2: "INVITATION_STATUS_ACCEPTED", + 3: "INVITATION_STATUS_REVOKED", + 4: "INVITATION_STATUS_EXPIRED", + 5: "INVITATION_STATUS_NOT_FOUND", + } + InvitationStatus_value = map[string]int32{ + "INVITATION_STATUS_UNSPECIFIED": 0, + "INVITATION_STATUS_INVITED": 1, + "INVITATION_STATUS_ACCEPTED": 2, + "INVITATION_STATUS_REVOKED": 3, + "INVITATION_STATUS_EXPIRED": 4, + "INVITATION_STATUS_NOT_FOUND": 5, + } +) + +func (x InvitationStatus) Enum() *InvitationStatus { + p := new(InvitationStatus) + *p = x + return p +} + +func (x InvitationStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InvitationStatus) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[7].Descriptor() +} + +func (InvitationStatus) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[7] +} + +func (x InvitationStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InvitationStatus.Descriptor instead. +func (InvitationStatus) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{7} +} + +// Per-email outcome of a batch CreateInvitations call. +type InvitationResultStatus int32 + +const ( + InvitationResultStatus_INVITATION_RESULT_STATUS_UNSPECIFIED InvitationResultStatus = 0 + InvitationResultStatus_INVITATION_RESULT_STATUS_CREATED InvitationResultStatus = 1 + InvitationResultStatus_INVITATION_RESULT_STATUS_ALREADY_EXISTS InvitationResultStatus = 2 + InvitationResultStatus_INVITATION_RESULT_STATUS_INVALID_EMAIL InvitationResultStatus = 3 + InvitationResultStatus_INVITATION_RESULT_STATUS_ERROR InvitationResultStatus = 4 +) + +// Enum value maps for InvitationResultStatus. +var ( + InvitationResultStatus_name = map[int32]string{ + 0: "INVITATION_RESULT_STATUS_UNSPECIFIED", + 1: "INVITATION_RESULT_STATUS_CREATED", + 2: "INVITATION_RESULT_STATUS_ALREADY_EXISTS", + 3: "INVITATION_RESULT_STATUS_INVALID_EMAIL", + 4: "INVITATION_RESULT_STATUS_ERROR", + } + InvitationResultStatus_value = map[string]int32{ + "INVITATION_RESULT_STATUS_UNSPECIFIED": 0, + "INVITATION_RESULT_STATUS_CREATED": 1, + "INVITATION_RESULT_STATUS_ALREADY_EXISTS": 2, + "INVITATION_RESULT_STATUS_INVALID_EMAIL": 3, + "INVITATION_RESULT_STATUS_ERROR": 4, + } +) + +func (x InvitationResultStatus) Enum() *InvitationResultStatus { + p := new(InvitationResultStatus) + *p = x + return p +} + +func (x InvitationResultStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InvitationResultStatus) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[8].Descriptor() +} + +func (InvitationResultStatus) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[8] +} + +func (x InvitationResultStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InvitationResultStatus.Descriptor instead. +func (InvitationResultStatus) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{8} +} + +// Explicit member presentation state for ListWorkspaceMembers. A pending +// invitation is defined by an invitations row, not generic shadow status. +type WorkspaceMemberState int32 + +const ( + WorkspaceMemberState_WORKSPACE_MEMBER_STATE_UNSPECIFIED WorkspaceMemberState = 0 + WorkspaceMemberState_WORKSPACE_MEMBER_STATE_ACTIVE WorkspaceMemberState = 1 + WorkspaceMemberState_WORKSPACE_MEMBER_STATE_INVITED WorkspaceMemberState = 2 +) + +// Enum value maps for WorkspaceMemberState. +var ( + WorkspaceMemberState_name = map[int32]string{ + 0: "WORKSPACE_MEMBER_STATE_UNSPECIFIED", + 1: "WORKSPACE_MEMBER_STATE_ACTIVE", + 2: "WORKSPACE_MEMBER_STATE_INVITED", + } + WorkspaceMemberState_value = map[string]int32{ + "WORKSPACE_MEMBER_STATE_UNSPECIFIED": 0, + "WORKSPACE_MEMBER_STATE_ACTIVE": 1, + "WORKSPACE_MEMBER_STATE_INVITED": 2, + } +) + +func (x WorkspaceMemberState) Enum() *WorkspaceMemberState { + p := new(WorkspaceMemberState) + *p = x + return p +} + +func (x WorkspaceMemberState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkspaceMemberState) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[9].Descriptor() +} + +func (WorkspaceMemberState) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[9] +} + +func (x WorkspaceMemberState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkspaceMemberState.Descriptor instead. +func (WorkspaceMemberState) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{9} +} + +type IntegrationCatalogueSource int32 + +const ( + IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED IntegrationCatalogueSource = 0 + IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY IntegrationCatalogueSource = 1 + IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_BYO IntegrationCatalogueSource = 2 + IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR IntegrationCatalogueSource = 3 +) + +// Enum value maps for IntegrationCatalogueSource. +var ( + IntegrationCatalogueSource_name = map[int32]string{ + 0: "INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED", + 1: "INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY", + 2: "INTEGRATION_CATALOGUE_SOURCE_BYO", + 3: "INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR", + } + IntegrationCatalogueSource_value = map[string]int32{ + "INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED": 0, + "INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY": 1, + "INTEGRATION_CATALOGUE_SOURCE_BYO": 2, + "INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR": 3, + } +) + +func (x IntegrationCatalogueSource) Enum() *IntegrationCatalogueSource { + p := new(IntegrationCatalogueSource) + *p = x + return p +} + +func (x IntegrationCatalogueSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IntegrationCatalogueSource) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[10].Descriptor() +} + +func (IntegrationCatalogueSource) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[10] +} + +func (x IntegrationCatalogueSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IntegrationCatalogueSource.Descriptor instead. +func (IntegrationCatalogueSource) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{10} +} + +type ListPullRequestsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // State filter: "" or "open" (default), "closed" (merged=false), "merged" + // (state='closed' AND merged=true), "all". Unknown values return + // InvalidArgument. + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + // Soft cap on result count. Server clamps to [1, 200]; 0 means default 50. + Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + // Pagination offset. + Offset uint32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` + // Empty string = caller's account from JWT (backward compatible). + // When set, return only pull requests for that account_name (admin filtering). + AccountName string `protobuf:"bytes,4,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPullRequestsRequest) Reset() { + *x = ListPullRequestsRequest{} + mi := &file_brent_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPullRequestsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPullRequestsRequest) ProtoMessage() {} + +func (x *ListPullRequestsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPullRequestsRequest.ProtoReflect.Descriptor instead. +func (*ListPullRequestsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{0} +} + +func (x *ListPullRequestsRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *ListPullRequestsRequest) GetLimit() uint32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListPullRequestsRequest) GetOffset() uint32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListPullRequestsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type ListPullRequestsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PullRequests []*PullRequestSummary `protobuf:"bytes,1,rep,name=pull_requests,json=pullRequests,proto3" json:"pull_requests,omitempty"` + TotalCount uint32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPullRequestsResponse) Reset() { + *x = ListPullRequestsResponse{} + mi := &file_brent_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPullRequestsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPullRequestsResponse) ProtoMessage() {} + +func (x *ListPullRequestsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPullRequestsResponse.ProtoReflect.Descriptor instead. +func (*ListPullRequestsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{1} +} + +func (x *ListPullRequestsResponse) GetPullRequests() []*PullRequestSummary { + if x != nil { + return x.PullRequests + } + return nil +} + +func (x *ListPullRequestsResponse) GetTotalCount() uint32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type GetPullRequestByIDRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // UUID of the pull request (pull_requests.external_id). + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + // Empty string = caller's account from JWT (backward compatible). + // When set, scope the lookup to that account_name (admin filtering). + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPullRequestByIDRequest) Reset() { + *x = GetPullRequestByIDRequest{} + mi := &file_brent_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPullRequestByIDRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPullRequestByIDRequest) ProtoMessage() {} + +func (x *GetPullRequestByIDRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPullRequestByIDRequest.ProtoReflect.Descriptor instead. +func (*GetPullRequestByIDRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{2} +} + +func (x *GetPullRequestByIDRequest) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *GetPullRequestByIDRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type GetPullRequestByIDResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PullRequest *PullRequest `protobuf:"bytes,1,opt,name=pull_request,json=pullRequest,proto3" json:"pull_request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPullRequestByIDResponse) Reset() { + *x = GetPullRequestByIDResponse{} + mi := &file_brent_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPullRequestByIDResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPullRequestByIDResponse) ProtoMessage() {} + +func (x *GetPullRequestByIDResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPullRequestByIDResponse.ProtoReflect.Descriptor instead. +func (*GetPullRequestByIDResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{3} +} + +func (x *GetPullRequestByIDResponse) GetPullRequest() *PullRequest { + if x != nil { + return x.PullRequest + } + return nil +} + +type ListDeviationAnalysesForPRRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // UUID of the pull request. + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + // Empty string = caller's account from JWT (backward compatible). + // When set, scope the lookup to that account_name (admin filtering). + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListDeviationAnalysesForPRRequest) Reset() { + *x = ListDeviationAnalysesForPRRequest{} + mi := &file_brent_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDeviationAnalysesForPRRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeviationAnalysesForPRRequest) ProtoMessage() {} + +func (x *ListDeviationAnalysesForPRRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeviationAnalysesForPRRequest.ProtoReflect.Descriptor instead. +func (*ListDeviationAnalysesForPRRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{4} +} + +func (x *ListDeviationAnalysesForPRRequest) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *ListDeviationAnalysesForPRRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type ListDeviationAnalysesForPRResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Analyses []*DeviationAnalysisSummary `protobuf:"bytes,1,rep,name=analyses,proto3" json:"analyses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListDeviationAnalysesForPRResponse) Reset() { + *x = ListDeviationAnalysesForPRResponse{} + mi := &file_brent_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDeviationAnalysesForPRResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeviationAnalysesForPRResponse) ProtoMessage() {} + +func (x *ListDeviationAnalysesForPRResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeviationAnalysesForPRResponse.ProtoReflect.Descriptor instead. +func (*ListDeviationAnalysesForPRResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{5} +} + +func (x *ListDeviationAnalysesForPRResponse) GetAnalyses() []*DeviationAnalysisSummary { + if x != nil { + return x.Analyses + } + return nil +} + +type GetPullRequestTimelineRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // UUID of the pull request (pull_requests.external_id). + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + // Empty string = caller's account from JWT (backward compatible). + // When set, scope the lookup to that account_name (admin filtering). + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPullRequestTimelineRequest) Reset() { + *x = GetPullRequestTimelineRequest{} + mi := &file_brent_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPullRequestTimelineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPullRequestTimelineRequest) ProtoMessage() {} + +func (x *GetPullRequestTimelineRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPullRequestTimelineRequest.ProtoReflect.Descriptor instead. +func (*GetPullRequestTimelineRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{6} +} + +func (x *GetPullRequestTimelineRequest) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *GetPullRequestTimelineRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +// PullRequestTimelineEventRow is one chronological row in the simple-data +// timeline table. Rows are sorted by occurred_at ascending at compose time. +type PullRequestTimelineEventRow struct { + state protoimpl.MessageState `protogen:"open.v1"` + OccurredAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` + // Source family: "brent", "github", etc. + SourceFamily string `protobuf:"bytes,2,opt,name=source_family,json=sourceFamily,proto3" json:"source_family,omitempty"` + // Normalized event type within the source family. + EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + Actor string `protobuf:"bytes,4,opt,name=actor,proto3" json:"actor,omitempty"` + // Actor classification: human, bot, brent, ci, external_agent, system. + ActorClass string `protobuf:"bytes,5,opt,name=actor_class,json=actorClass,proto3" json:"actor_class,omitempty"` + Summary string `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"` + // Link to the system of record when available. + EvidenceUrl string `protobuf:"bytes,7,opt,name=evidence_url,json=evidenceUrl,proto3" json:"evidence_url,omitempty"` + // first_class | overlay | inferred + SourceConfidence string `protobuf:"bytes,8,opt,name=source_confidence,json=sourceConfidence,proto3" json:"source_confidence,omitempty"` + Notes string `protobuf:"bytes,9,opt,name=notes,proto3" json:"notes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestTimelineEventRow) Reset() { + *x = PullRequestTimelineEventRow{} + mi := &file_brent_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestTimelineEventRow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestTimelineEventRow) ProtoMessage() {} + +func (x *PullRequestTimelineEventRow) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestTimelineEventRow.ProtoReflect.Descriptor instead. +func (*PullRequestTimelineEventRow) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{7} +} + +func (x *PullRequestTimelineEventRow) GetOccurredAt() *timestamppb.Timestamp { + if x != nil { + return x.OccurredAt + } + return nil +} + +func (x *PullRequestTimelineEventRow) GetSourceFamily() string { + if x != nil { + return x.SourceFamily + } + return "" +} + +func (x *PullRequestTimelineEventRow) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *PullRequestTimelineEventRow) GetActor() string { + if x != nil { + return x.Actor + } + return "" +} + +func (x *PullRequestTimelineEventRow) GetActorClass() string { + if x != nil { + return x.ActorClass + } + return "" +} + +func (x *PullRequestTimelineEventRow) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *PullRequestTimelineEventRow) GetEvidenceUrl() string { + if x != nil { + return x.EvidenceUrl + } + return "" +} + +func (x *PullRequestTimelineEventRow) GetSourceConfidence() string { + if x != nil { + return x.SourceConfidence + } + return "" +} + +func (x *PullRequestTimelineEventRow) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +type PullRequestTimelineWarning struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Machine code, e.g. no_linked_plan, github_overlay_unavailable. + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestTimelineWarning) Reset() { + *x = PullRequestTimelineWarning{} + mi := &file_brent_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestTimelineWarning) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestTimelineWarning) ProtoMessage() {} + +func (x *PullRequestTimelineWarning) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestTimelineWarning.ProtoReflect.Descriptor instead. +func (*PullRequestTimelineWarning) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{8} +} + +func (x *PullRequestTimelineWarning) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *PullRequestTimelineWarning) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type GetPullRequestTimelineResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PullRequest *PullRequest `protobuf:"bytes,1,opt,name=pull_request,json=pullRequest,proto3" json:"pull_request,omitempty"` + Events []*PullRequestTimelineEventRow `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` + Warnings []*PullRequestTimelineWarning `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPullRequestTimelineResponse) Reset() { + *x = GetPullRequestTimelineResponse{} + mi := &file_brent_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPullRequestTimelineResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPullRequestTimelineResponse) ProtoMessage() {} + +func (x *GetPullRequestTimelineResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPullRequestTimelineResponse.ProtoReflect.Descriptor instead. +func (*GetPullRequestTimelineResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{9} +} + +func (x *GetPullRequestTimelineResponse) GetPullRequest() *PullRequest { + if x != nil { + return x.PullRequest + } + return nil +} + +func (x *GetPullRequestTimelineResponse) GetEvents() []*PullRequestTimelineEventRow { + if x != nil { + return x.Events + } + return nil +} + +func (x *GetPullRequestTimelineResponse) GetWarnings() []*PullRequestTimelineWarning { + if x != nil { + return x.Warnings + } + return nil +} + +// PullRequestSummary is the tenant-scoped list shape for the /pull-requests/ +// debug page. Account is always the JWT tenant (field retained for consistency +// with PlanSummary / ReviewSummary / WorkflowSummary). +type PullRequestSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + RepoFullName string `protobuf:"bytes,3,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,4,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` + // "open" | "closed" | "merged" (merged is derived: state='closed' AND merged=true). + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + IsDraft bool `protobuf:"varint,7,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + HeadSha string `protobuf:"bytes,8,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Friendly identifier of the linked plan (e.g. BRENT-42), or "" when unlinked. + LinkedPlanFriendlyId string `protobuf:"bytes,10,opt,name=linked_plan_friendly_id,json=linkedPlanFriendlyId,proto3" json:"linked_plan_friendly_id,omitempty"` + // Title of the linked plan, or "" when unlinked or soft-deleted. + LinkedPlanTitle string `protobuf:"bytes,11,opt,name=linked_plan_title,json=linkedPlanTitle,proto3" json:"linked_plan_title,omitempty"` + // Matcher's reason string: "", "ambiguous: a, b", "no match", or a match + // surface description. + LinkReason string `protobuf:"bytes,12,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + // Plan reference (plans.external_id). For brent-area51 navigation only. + // linked_plan_friendly_id (field 10) remains the plan identifier (friendly ID) for display. + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestSummary) Reset() { + *x = PullRequestSummary{} + mi := &file_brent_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestSummary) ProtoMessage() {} + +func (x *PullRequestSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestSummary.ProtoReflect.Descriptor instead. +func (*PullRequestSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{10} +} + +func (x *PullRequestSummary) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestSummary) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *PullRequestSummary) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestSummary) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestSummary) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestSummary) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *PullRequestSummary) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestSummary) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestSummary) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *PullRequestSummary) GetLinkedPlanFriendlyId() string { + if x != nil { + return x.LinkedPlanFriendlyId + } + return "" +} + +func (x *PullRequestSummary) GetLinkedPlanTitle() string { + if x != nil { + return x.LinkedPlanTitle + } + return "" +} + +func (x *PullRequestSummary) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +func (x *PullRequestSummary) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +// PullRequest is the full detail shape returned by GetPullRequestByID. +type PullRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + RepoFullName string `protobuf:"bytes,3,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,4,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,6,opt,name=body,proto3" json:"body,omitempty"` + State string `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` + IsDraft bool `protobuf:"varint,8,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + HeadSha string `protobuf:"bytes,9,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,10,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,11,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + AuthorLogin string `protobuf:"bytes,12,opt,name=author_login,json=authorLogin,proto3" json:"author_login,omitempty"` + Merged bool `protobuf:"varint,13,opt,name=merged,proto3" json:"merged,omitempty"` + MergeCommitSha string `protobuf:"bytes,14,opt,name=merge_commit_sha,json=mergeCommitSha,proto3" json:"merge_commit_sha,omitempty"` + Url string `protobuf:"bytes,15,opt,name=url,proto3" json:"url,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + ClosedAt *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=closed_at,json=closedAt,proto3" json:"closed_at,omitempty"` + // Friendly identifier of the linked plan (e.g. BRENT-42), or "" when unlinked. + LinkedPlanFriendlyId string `protobuf:"bytes,19,opt,name=linked_plan_friendly_id,json=linkedPlanFriendlyId,proto3" json:"linked_plan_friendly_id,omitempty"` + LinkedPlanTitle string `protobuf:"bytes,20,opt,name=linked_plan_title,json=linkedPlanTitle,proto3" json:"linked_plan_title,omitempty"` + LinkReason string `protobuf:"bytes,21,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + // Plan reference (plans.external_id). For brent-area51 navigation only. + // linked_plan_friendly_id (field 19) remains the plan identifier (friendly ID) for display. + LinkedPlanUuid string `protobuf:"bytes,22,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequest) Reset() { + *x = PullRequest{} + mi := &file_brent_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequest) ProtoMessage() {} + +func (x *PullRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequest.ProtoReflect.Descriptor instead. +func (*PullRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{11} +} + +func (x *PullRequest) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *PullRequest) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequest) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *PullRequest) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequest) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequest) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequest) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequest) GetAuthorLogin() string { + if x != nil { + return x.AuthorLogin + } + return "" +} + +func (x *PullRequest) GetMerged() bool { + if x != nil { + return x.Merged + } + return false +} + +func (x *PullRequest) GetMergeCommitSha() string { + if x != nil { + return x.MergeCommitSha + } + return "" +} + +func (x *PullRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequest) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *PullRequest) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *PullRequest) GetClosedAt() *timestamppb.Timestamp { + if x != nil { + return x.ClosedAt + } + return nil +} + +func (x *PullRequest) GetLinkedPlanFriendlyId() string { + if x != nil { + return x.LinkedPlanFriendlyId + } + return "" +} + +func (x *PullRequest) GetLinkedPlanTitle() string { + if x != nil { + return x.LinkedPlanTitle + } + return "" +} + +func (x *PullRequest) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +func (x *PullRequest) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +// DeviationAnalysisSummary carries the analysis header plus all its findings. +type DeviationAnalysisSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrId string `protobuf:"bytes,3,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + PlanUuid string `protobuf:"bytes,4,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + WorkflowRunId string `protobuf:"bytes,6,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + FailureReason string `protobuf:"bytes,9,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` + FailedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=failed_at,json=failedAt,proto3" json:"failed_at,omitempty"` + Findings []*DeviationFinding `protobuf:"bytes,13,rep,name=findings,proto3" json:"findings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationAnalysisSummary) Reset() { + *x = DeviationAnalysisSummary{} + mi := &file_brent_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationAnalysisSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationAnalysisSummary) ProtoMessage() {} + +func (x *DeviationAnalysisSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationAnalysisSummary.ProtoReflect.Descriptor instead. +func (*DeviationAnalysisSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{12} +} + +func (x *DeviationAnalysisSummary) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationAnalysisSummary) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *DeviationAnalysisSummary) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *DeviationAnalysisSummary) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *DeviationAnalysisSummary) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *DeviationAnalysisSummary) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *DeviationAnalysisSummary) GetFailureReason() string { + if x != nil { + return x.FailureReason + } + return "" +} + +func (x *DeviationAnalysisSummary) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *DeviationAnalysisSummary) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +func (x *DeviationAnalysisSummary) GetFailedAt() *timestamppb.Timestamp { + if x != nil { + return x.FailedAt + } + return nil +} + +func (x *DeviationAnalysisSummary) GetFindings() []*DeviationFinding { + if x != nil { + return x.Findings + } + return nil +} + +// DeviationFinding is a single finding produced by the deviation-analysis agent. +type DeviationFinding struct { + state protoimpl.MessageState `protogen:"open.v1"` + FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` + // Tag per deviation-analysis-v2.md §2: Changed | Missing | Beyond | Scope. + Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` + Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` + // File path anchoring this finding, or "" when unanchored. + AnchorPath string `protobuf:"bytes,4,opt,name=anchor_path,json=anchorPath,proto3" json:"anchor_path,omitempty"` + AnchorStartLine int32 `protobuf:"varint,5,opt,name=anchor_start_line,json=anchorStartLine,proto3" json:"anchor_start_line,omitempty"` + AnchorEndLine int32 `protobuf:"varint,6,opt,name=anchor_end_line,json=anchorEndLine,proto3" json:"anchor_end_line,omitempty"` + // deviation_findings.details JSONB serialised as a JSON string. + DetailsJson string `protobuf:"bytes,7,opt,name=details_json,json=detailsJson,proto3" json:"details_json,omitempty"` + // True when the agent resolved this finding on a resume reconciliation pass. + Resolved bool `protobuf:"varint,8,opt,name=resolved,proto3" json:"resolved,omitempty"` + ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=resolved_at,json=resolvedAt,proto3" json:"resolved_at,omitempty"` + ResolutionReason string `protobuf:"bytes,10,opt,name=resolution_reason,json=resolutionReason,proto3" json:"resolution_reason,omitempty"` + ResolutionCommit string `protobuf:"bytes,11,opt,name=resolution_commit,json=resolutionCommit,proto3" json:"resolution_commit,omitempty"` + Acknowledged bool `protobuf:"varint,12,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"` + // issue_comment | review_comment | commit_message | pr_description. + // Empty when acknowledged is false. + AckSource string `protobuf:"bytes,13,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` + // Opaque source-specific reference. Empty when acknowledged is false. + AckRef string `protobuf:"bytes,14,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` + // Verbatim explanation accepted as acknowledgement evidence. + // Empty when acknowledged is false. + AckReasoningQuote string `protobuf:"bytes,15,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` + // Stable acknowledgement handle; empty for legacy findings without a slug. + Slug string `protobuf:"bytes,16,opt,name=slug,proto3" json:"slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationFinding) Reset() { + *x = DeviationFinding{} + mi := &file_brent_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationFinding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationFinding) ProtoMessage() {} + +func (x *DeviationFinding) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationFinding.ProtoReflect.Descriptor instead. +func (*DeviationFinding) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{13} +} + +func (x *DeviationFinding) GetFindingId() string { + if x != nil { + return x.FindingId + } + return "" +} + +func (x *DeviationFinding) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *DeviationFinding) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *DeviationFinding) GetAnchorPath() string { + if x != nil { + return x.AnchorPath + } + return "" +} + +func (x *DeviationFinding) GetAnchorStartLine() int32 { + if x != nil { + return x.AnchorStartLine + } + return 0 +} + +func (x *DeviationFinding) GetAnchorEndLine() int32 { + if x != nil { + return x.AnchorEndLine + } + return 0 +} + +func (x *DeviationFinding) GetDetailsJson() string { + if x != nil { + return x.DetailsJson + } + return "" +} + +func (x *DeviationFinding) GetResolved() bool { + if x != nil { + return x.Resolved + } + return false +} + +func (x *DeviationFinding) GetResolvedAt() *timestamppb.Timestamp { + if x != nil { + return x.ResolvedAt + } + return nil +} + +func (x *DeviationFinding) GetResolutionReason() string { + if x != nil { + return x.ResolutionReason + } + return "" +} + +func (x *DeviationFinding) GetResolutionCommit() string { + if x != nil { + return x.ResolutionCommit + } + return "" +} + +func (x *DeviationFinding) GetAcknowledged() bool { + if x != nil { + return x.Acknowledged + } + return false +} + +func (x *DeviationFinding) GetAckSource() string { + if x != nil { + return x.AckSource + } + return "" +} + +func (x *DeviationFinding) GetAckRef() string { + if x != nil { + return x.AckRef + } + return "" +} + +func (x *DeviationFinding) GetAckReasoningQuote() string { + if x != nil { + return x.AckReasoningQuote + } + return "" +} + +func (x *DeviationFinding) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +// ExecuteWorkflowRequest initiates a workflow run. +type ExecuteWorkflowRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Natural-language instructions for the agent. + // Example: "Look up ticket ENG-1234 in Linear, summarize it, post to #engineering in Slack" + WorkflowPrompt string `protobuf:"bytes,1,opt,name=workflow_prompt,json=workflowPrompt,proto3" json:"workflow_prompt,omitempty"` + // Raw JSON of the triggering event (e.g. GitHub webhook payload). + // Empty for UI-initiated runs. + TriggerEventJson *string `protobuf:"bytes,2,opt,name=trigger_event_json,json=triggerEventJson,proto3,oneof" json:"trigger_event_json,omitempty"` + // Human-readable name for this run. Used as workflow_runs.name. + // Defaults to "Manual Run" on the backend if absent. + WorkflowName *string `protobuf:"bytes,6,opt,name=workflow_name,json=workflowName,proto3,oneof" json:"workflow_name,omitempty"` + // Optional operator override: run under this workspace/account instead of the + // caller's own account. Operator-only (already gated on admin:write). When + // empty, falls back to the caller's account, then "default". Lets operators + // test account-scoped integrations (e.g. connected Composio toolkits) from + // the Area51 Compose surface, where the operator session has no account. + AccountName *string `protobuf:"bytes,7,opt,name=account_name,json=accountName,proto3,oneof" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteWorkflowRequest) Reset() { + *x = ExecuteWorkflowRequest{} + mi := &file_brent_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteWorkflowRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteWorkflowRequest) ProtoMessage() {} + +func (x *ExecuteWorkflowRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteWorkflowRequest.ProtoReflect.Descriptor instead. +func (*ExecuteWorkflowRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{14} +} + +func (x *ExecuteWorkflowRequest) GetWorkflowPrompt() string { + if x != nil { + return x.WorkflowPrompt + } + return "" +} + +func (x *ExecuteWorkflowRequest) GetTriggerEventJson() string { + if x != nil && x.TriggerEventJson != nil { + return *x.TriggerEventJson + } + return "" +} + +func (x *ExecuteWorkflowRequest) GetWorkflowName() string { + if x != nil && x.WorkflowName != nil { + return *x.WorkflowName + } + return "" +} + +func (x *ExecuteWorkflowRequest) GetAccountName() string { + if x != nil && x.AccountName != nil { + return *x.AccountName + } + return "" +} + +type ListRunsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional filter by workflow definition name (workflow_runs.name). Empty + // means no filter. + WorkflowName string `protobuf:"bytes,1,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + // Optional filter by run status (pending, running, completed, failed, + // cancelled). Empty means no filter. Matches workflow_runs.status verbatim. + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListRunsRequest) Reset() { + *x = ListRunsRequest{} + mi := &file_brent_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListRunsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRunsRequest) ProtoMessage() {} + +func (x *ListRunsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListRunsRequest.ProtoReflect.Descriptor instead. +func (*ListRunsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{15} +} + +func (x *ListRunsRequest) GetWorkflowName() string { + if x != nil { + return x.WorkflowName + } + return "" +} + +func (x *ListRunsRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type ListRunsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Runs []*RunSummary `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListRunsResponse) Reset() { + *x = ListRunsResponse{} + mi := &file_brent_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListRunsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRunsResponse) ProtoMessage() {} + +func (x *ListRunsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListRunsResponse.ProtoReflect.Descriptor instead. +func (*ListRunsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{16} +} + +func (x *ListRunsResponse) GetRuns() []*RunSummary { + if x != nil { + return x.Runs + } + return nil +} + +type RunSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Status RunStatus `protobuf:"varint,2,opt,name=status,proto3,enum=brent.RunStatus" json:"status,omitempty"` + WorkflowPrompt string `protobuf:"bytes,3,opt,name=workflow_prompt,json=workflowPrompt,proto3" json:"workflow_prompt,omitempty"` + TriggerEventJson *string `protobuf:"bytes,4,opt,name=trigger_event_json,json=triggerEventJson,proto3,oneof" json:"trigger_event_json,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + // Thread key computed from the triggering event by the workflow's + // `thread.key` CEL expression. Empty for non-threaded runs. + ThreadKey *string `protobuf:"bytes,9,opt,name=thread_key,json=threadKey,proto3,oneof" json:"thread_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RunSummary) Reset() { + *x = RunSummary{} + mi := &file_brent_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunSummary) ProtoMessage() {} + +func (x *RunSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunSummary.ProtoReflect.Descriptor instead. +func (*RunSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{17} +} + +func (x *RunSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *RunSummary) GetStatus() RunStatus { + if x != nil { + return x.Status + } + return RunStatus_RUN_STATUS_UNSPECIFIED +} + +func (x *RunSummary) GetWorkflowPrompt() string { + if x != nil { + return x.WorkflowPrompt + } + return "" +} + +func (x *RunSummary) GetTriggerEventJson() string { + if x != nil && x.TriggerEventJson != nil { + return *x.TriggerEventJson + } + return "" +} + +func (x *RunSummary) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *RunSummary) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +func (x *RunSummary) GetThreadKey() string { + if x != nil && x.ThreadKey != nil { + return *x.ThreadKey + } + return "" +} + +type WatchRunRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WatchRunRequest) Reset() { + *x = WatchRunRequest{} + mi := &file_brent_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WatchRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WatchRunRequest) ProtoMessage() {} + +func (x *WatchRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WatchRunRequest.ProtoReflect.Descriptor instead. +func (*WatchRunRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{18} +} + +func (x *WatchRunRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type StreamEventsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StreamEventsRequest) Reset() { + *x = StreamEventsRequest{} + mi := &file_brent_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StreamEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamEventsRequest) ProtoMessage() {} + +func (x *StreamEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamEventsRequest.ProtoReflect.Descriptor instead. +func (*StreamEventsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{19} +} + +type StreamEventsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Event *Event `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StreamEventsResponse) Reset() { + *x = StreamEventsResponse{} + mi := &file_brent_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StreamEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamEventsResponse) ProtoMessage() {} + +func (x *StreamEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamEventsResponse.ProtoReflect.Descriptor instead. +func (*StreamEventsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{20} +} + +func (x *StreamEventsResponse) GetEvent() *Event { + if x != nil { + return x.Event + } + return nil +} + +// ListEventsRequest lists persisted audit events for one tenant. account_name +// is required — operators pick the account to inspect; admin:read is what +// grants cross-tenant access. +type ListEventsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + OccurredFrom *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=occurred_from,json=occurredFrom,proto3" json:"occurred_from,omitempty"` + OccurredTo *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=occurred_to,json=occurredTo,proto3" json:"occurred_to,omitempty"` + ObjectType string `protobuf:"bytes,4,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"` + ObjectId string `protobuf:"bytes,5,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` + EventTypes []string `protobuf:"bytes,6,rep,name=event_types,json=eventTypes,proto3" json:"event_types,omitempty"` + Limit uint32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit,omitempty"` + AfterCursor string `protobuf:"bytes,8,opt,name=after_cursor,json=afterCursor,proto3" json:"after_cursor,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListEventsRequest) Reset() { + *x = ListEventsRequest{} + mi := &file_brent_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEventsRequest) ProtoMessage() {} + +func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEventsRequest.ProtoReflect.Descriptor instead. +func (*ListEventsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{21} +} + +func (x *ListEventsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *ListEventsRequest) GetOccurredFrom() *timestamppb.Timestamp { + if x != nil { + return x.OccurredFrom + } + return nil +} + +func (x *ListEventsRequest) GetOccurredTo() *timestamppb.Timestamp { + if x != nil { + return x.OccurredTo + } + return nil +} + +func (x *ListEventsRequest) GetObjectType() string { + if x != nil { + return x.ObjectType + } + return "" +} + +func (x *ListEventsRequest) GetObjectId() string { + if x != nil { + return x.ObjectId + } + return "" +} + +func (x *ListEventsRequest) GetEventTypes() []string { + if x != nil { + return x.EventTypes + } + return nil +} + +func (x *ListEventsRequest) GetLimit() uint32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListEventsRequest) GetAfterCursor() string { + if x != nil { + return x.AfterCursor + } + return "" +} + +type ListEventsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Events []*Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListEventsResponse) Reset() { + *x = ListEventsResponse{} + mi := &file_brent_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEventsResponse) ProtoMessage() {} + +func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEventsResponse.ProtoReflect.Descriptor instead. +func (*ListEventsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{22} +} + +func (x *ListEventsResponse) GetEvents() []*Event { + if x != nil { + return x.Events + } + return nil +} + +func (x *ListEventsResponse) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +type CancelRunRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelRunRequest) Reset() { + *x = CancelRunRequest{} + mi := &file_brent_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelRunRequest) ProtoMessage() {} + +func (x *CancelRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelRunRequest.ProtoReflect.Descriptor instead. +func (*CancelRunRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{23} +} + +func (x *CancelRunRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type CancelRunResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelRunResponse) Reset() { + *x = CancelRunResponse{} + mi := &file_brent_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelRunResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelRunResponse) ProtoMessage() {} + +func (x *CancelRunResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelRunResponse.ProtoReflect.Descriptor instead. +func (*CancelRunResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{24} +} + +type ListOpenPullRequestsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Soft cap on result count. Server clamps to [1, 200]; 0 means default 50. + Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` + // Pagination offset. Combined with `limit` selects rows + // [offset, offset+limit) ordered by updated_at DESC, external_id DESC. + Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListOpenPullRequestsRequest) Reset() { + *x = ListOpenPullRequestsRequest{} + mi := &file_brent_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListOpenPullRequestsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOpenPullRequestsRequest) ProtoMessage() {} + +func (x *ListOpenPullRequestsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOpenPullRequestsRequest.ProtoReflect.Descriptor instead. +func (*ListOpenPullRequestsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{25} +} + +func (x *ListOpenPullRequestsRequest) GetLimit() uint32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListOpenPullRequestsRequest) GetOffset() uint32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListOpenPullRequestsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PullRequests []*OpenPullRequest `protobuf:"bytes,1,rep,name=pull_requests,json=pullRequests,proto3" json:"pull_requests,omitempty"` + // Total count for the (account, state='open') tuple, ignoring limit/offset, + // for driving "page N of M" UI. + TotalCount uint32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListOpenPullRequestsResponse) Reset() { + *x = ListOpenPullRequestsResponse{} + mi := &file_brent_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListOpenPullRequestsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOpenPullRequestsResponse) ProtoMessage() {} + +func (x *ListOpenPullRequestsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOpenPullRequestsResponse.ProtoReflect.Descriptor instead. +func (*ListOpenPullRequestsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{26} +} + +func (x *ListOpenPullRequestsResponse) GetPullRequests() []*OpenPullRequest { + if x != nil { + return x.PullRequests + } + return nil +} + +func (x *ListOpenPullRequestsResponse) GetTotalCount() uint32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type GetPullRequestRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // "owner/repo". + Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` + Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPullRequestRequest) Reset() { + *x = GetPullRequestRequest{} + mi := &file_brent_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPullRequestRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPullRequestRequest) ProtoMessage() {} + +func (x *GetPullRequestRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPullRequestRequest.ProtoReflect.Descriptor instead. +func (*GetPullRequestRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{27} +} + +func (x *GetPullRequestRequest) GetRepo() string { + if x != nil { + return x.Repo + } + return "" +} + +func (x *GetPullRequestRequest) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +type GetPullRequestResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PullRequest *OpenPullRequest `protobuf:"bytes,1,opt,name=pull_request,json=pullRequest,proto3" json:"pull_request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPullRequestResponse) Reset() { + *x = GetPullRequestResponse{} + mi := &file_brent_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPullRequestResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPullRequestResponse) ProtoMessage() {} + +func (x *GetPullRequestResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPullRequestResponse.ProtoReflect.Descriptor instead. +func (*GetPullRequestResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{28} +} + +func (x *GetPullRequestResponse) GetPullRequest() *OpenPullRequest { + if x != nil { + return x.PullRequest + } + return nil +} + +// OpenPullRequest is the summary info needed to drive an ExecuteWorkflow +// call for a pull request. +type OpenPullRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` + Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + Author string `protobuf:"bytes,4,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + BaseBranch string `protobuf:"bytes,6,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + HeadBranch string `protobuf:"bytes,7,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + // "open" | "closed" | "merged" ("merged" is derived from merged_at). + State string `protobuf:"bytes,9,opt,name=state,proto3" json:"state,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OpenPullRequest) Reset() { + *x = OpenPullRequest{} + mi := &file_brent_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OpenPullRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenPullRequest) ProtoMessage() {} + +func (x *OpenPullRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OpenPullRequest.ProtoReflect.Descriptor instead. +func (*OpenPullRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{29} +} + +func (x *OpenPullRequest) GetRepo() string { + if x != nil { + return x.Repo + } + return "" +} + +func (x *OpenPullRequest) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *OpenPullRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *OpenPullRequest) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *OpenPullRequest) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *OpenPullRequest) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *OpenPullRequest) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *OpenPullRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *OpenPullRequest) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +// ExecuteWorkflowResponse is a single step in the execution stream. +// Each response carries a timestamp so the client can order steps. +type ExecuteWorkflowResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // When this step was produced by the server. + Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // The step payload. Exactly one field will be set per message. + // + // Types that are valid to be assigned to Step: + // + // *ExecuteWorkflowResponse_Reasoning + // *ExecuteWorkflowResponse_ToolCall + // *ExecuteWorkflowResponse_ToolResult + // *ExecuteWorkflowResponse_Completion + // *ExecuteWorkflowResponse_Error + // *ExecuteWorkflowResponse_Status + // *ExecuteWorkflowResponse_RunStarted + // *ExecuteWorkflowResponse_QaReady + // *ExecuteWorkflowResponse_UserQuestion + // *ExecuteWorkflowResponse_UserMessage + Step isExecuteWorkflowResponse_Step `protobuf_oneof:"step"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteWorkflowResponse) Reset() { + *x = ExecuteWorkflowResponse{} + mi := &file_brent_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteWorkflowResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteWorkflowResponse) ProtoMessage() {} + +func (x *ExecuteWorkflowResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteWorkflowResponse.ProtoReflect.Descriptor instead. +func (*ExecuteWorkflowResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{30} +} + +func (x *ExecuteWorkflowResponse) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetStep() isExecuteWorkflowResponse_Step { + if x != nil { + return x.Step + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetReasoning() *ReasoningStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_Reasoning); ok { + return x.Reasoning + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetToolCall() *ToolCallStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_ToolCall); ok { + return x.ToolCall + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetToolResult() *ToolResultStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_ToolResult); ok { + return x.ToolResult + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetCompletion() *CompletionStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_Completion); ok { + return x.Completion + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetError() *ErrorStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_Error); ok { + return x.Error + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetStatus() *StatusStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_Status); ok { + return x.Status + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetRunStarted() *RunStartedStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_RunStarted); ok { + return x.RunStarted + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetQaReady() *QAReadyStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_QaReady); ok { + return x.QaReady + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetUserQuestion() *UserQuestionStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_UserQuestion); ok { + return x.UserQuestion + } + } + return nil +} + +func (x *ExecuteWorkflowResponse) GetUserMessage() *UserMessageStep { + if x != nil { + if x, ok := x.Step.(*ExecuteWorkflowResponse_UserMessage); ok { + return x.UserMessage + } + } + return nil +} + +type isExecuteWorkflowResponse_Step interface { + isExecuteWorkflowResponse_Step() +} + +type ExecuteWorkflowResponse_Reasoning struct { + // A chunk of the agent's reasoning / LLM output text. + Reasoning *ReasoningStep `protobuf:"bytes,10,opt,name=reasoning,proto3,oneof"` +} + +type ExecuteWorkflowResponse_ToolCall struct { + // The agent is calling a tool on an MCP server. + ToolCall *ToolCallStep `protobuf:"bytes,11,opt,name=tool_call,json=toolCall,proto3,oneof"` +} + +type ExecuteWorkflowResponse_ToolResult struct { + // The result returned from an MCP tool call. + ToolResult *ToolResultStep `protobuf:"bytes,12,opt,name=tool_result,json=toolResult,proto3,oneof"` +} + +type ExecuteWorkflowResponse_Completion struct { + // The agent finished successfully. + Completion *CompletionStep `protobuf:"bytes,13,opt,name=completion,proto3,oneof"` +} + +type ExecuteWorkflowResponse_Error struct { + // A terminal error — the stream ends after this step. + Error *ErrorStep `protobuf:"bytes,14,opt,name=error,proto3,oneof"` +} + +type ExecuteWorkflowResponse_Status struct { + // Operational progress (e.g. "Connecting to MCP servers..."). + Status *StatusStep `protobuf:"bytes,15,opt,name=status,proto3,oneof"` +} + +type ExecuteWorkflowResponse_RunStarted struct { + // First step on a PR-context run; carries the server-assigned runId + // so the client can deep-link to the run via the sidebar. Not emitted + // on the webhook-triggered path. + RunStarted *RunStartedStep `protobuf:"bytes,16,opt,name=run_started,json=runStarted,proto3,oneof"` +} + +type ExecuteWorkflowResponse_QaReady struct { + // Emitted after a run completes successfully to signal that Q&A + // questions can now be sent via the SendQuestion RPC. + QaReady *QAReadyStep `protobuf:"bytes,17,opt,name=qa_ready,json=qaReady,proto3,oneof"` +} + +type ExecuteWorkflowResponse_UserQuestion struct { + // A follow-up question submitted by the user after a run enters Q&A mode. + UserQuestion *UserQuestionStep `protobuf:"bytes,18,opt,name=user_question,json=userQuestion,proto3,oneof"` +} + +type ExecuteWorkflowResponse_UserMessage struct { + // First user message sent to the LLM at run start. Captured as a step so + // it flows through the same persistence, streaming, and MCP-replay paths + // as every other timeline event. + UserMessage *UserMessageStep `protobuf:"bytes,19,opt,name=user_message,json=userMessage,proto3,oneof"` +} + +func (*ExecuteWorkflowResponse_Reasoning) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_ToolCall) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_ToolResult) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_Completion) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_Error) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_Status) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_RunStarted) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_QaReady) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_UserQuestion) isExecuteWorkflowResponse_Step() {} + +func (*ExecuteWorkflowResponse_UserMessage) isExecuteWorkflowResponse_Step() {} + +// ReasoningStep carries a chunk of the agent's streaming output. Multiple +// ReasoningSteps form the full reasoning trace when concatenated in order. +type ReasoningStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A text chunk from the LLM's streaming response. + Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReasoningStep) Reset() { + *x = ReasoningStep{} + mi := &file_brent_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReasoningStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReasoningStep) ProtoMessage() {} + +func (x *ReasoningStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReasoningStep.ProtoReflect.Descriptor instead. +func (*ReasoningStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{31} +} + +func (x *ReasoningStep) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +// ToolCallStep is emitted when the LLM decides to invoke an MCP tool. +// The corresponding ToolResultStep will share the same tool_call_id. +type ToolCallStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unique identifier for this tool invocation, used to correlate with + // the matching ToolResultStep. Passed through from the LLM response. + ToolCallId string `protobuf:"bytes,1,opt,name=tool_call_id,json=toolCallId,proto3" json:"tool_call_id,omitempty"` + // Identifier of the MCP server that owns this tool + // (e.g. "github", "linear", "slack"). + McpId string `protobuf:"bytes,2,opt,name=mcp_id,json=mcpId,proto3" json:"mcp_id,omitempty"` + // The name of the tool being called (e.g. "search_issues"). + ToolName string `protobuf:"bytes,3,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"` + // Raw JSON string of the tool call arguments exactly as returned by the + // LLM. We pass through the raw JSON rather than a Struct to keep the + // proto simple and the streaming path fast — the frontend can parse or + // display it as needed. + ArgumentsJson string `protobuf:"bytes,4,opt,name=arguments_json,json=argumentsJson,proto3" json:"arguments_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ToolCallStep) Reset() { + *x = ToolCallStep{} + mi := &file_brent_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolCallStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolCallStep) ProtoMessage() {} + +func (x *ToolCallStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolCallStep.ProtoReflect.Descriptor instead. +func (*ToolCallStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{32} +} + +func (x *ToolCallStep) GetToolCallId() string { + if x != nil { + return x.ToolCallId + } + return "" +} + +func (x *ToolCallStep) GetMcpId() string { + if x != nil { + return x.McpId + } + return "" +} + +func (x *ToolCallStep) GetToolName() string { + if x != nil { + return x.ToolName + } + return "" +} + +func (x *ToolCallStep) GetArgumentsJson() string { + if x != nil { + return x.ArgumentsJson + } + return "" +} + +// ToolResultStep carries the result of an MCP tool call. A tool-level +// failure (is_error=true) is non-terminal: the agent loop feeds the error +// back to the LLM, which may retry or try a different approach. +type ToolResultStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Matches the tool_call_id from the corresponding ToolCallStep. + ToolCallId string `protobuf:"bytes,1,opt,name=tool_call_id,json=toolCallId,proto3" json:"tool_call_id,omitempty"` + // Identifier of the MCP server that executed the tool. + McpId string `protobuf:"bytes,2,opt,name=mcp_id,json=mcpId,proto3" json:"mcp_id,omitempty"` + // The content returned by the tool (text representation). + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` + // True when the tool call itself failed (e.g. MCP server error, tool + // not found, invalid arguments). The agent loop treats this as a + // recoverable error and continues execution. + IsError bool `protobuf:"varint,4,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ToolResultStep) Reset() { + *x = ToolResultStep{} + mi := &file_brent_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolResultStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolResultStep) ProtoMessage() {} + +func (x *ToolResultStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolResultStep.ProtoReflect.Descriptor instead. +func (*ToolResultStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{33} +} + +func (x *ToolResultStep) GetToolCallId() string { + if x != nil { + return x.ToolCallId + } + return "" +} + +func (x *ToolResultStep) GetMcpId() string { + if x != nil { + return x.McpId + } + return "" +} + +func (x *ToolResultStep) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *ToolResultStep) GetIsError() bool { + if x != nil { + return x.IsError + } + return false +} + +// CompletionStep signals the agent finished its work successfully. +// This is the final semantic step in the stream. +type CompletionStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The agent's final output text. + Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompletionStep) Reset() { + *x = CompletionStep{} + mi := &file_brent_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompletionStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompletionStep) ProtoMessage() {} + +func (x *CompletionStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompletionStep.ProtoReflect.Descriptor instead. +func (*CompletionStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{34} +} + +func (x *CompletionStep) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +// ErrorStep signals a terminal failure. The stream ends immediately +// after this step. Examples: LLM API unreachable, unrecoverable +// internal error, context deadline exceeded. +type ErrorStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Human-readable error description. + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ErrorStep) Reset() { + *x = ErrorStep{} + mi := &file_brent_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ErrorStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorStep) ProtoMessage() {} + +func (x *ErrorStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorStep.ProtoReflect.Descriptor instead. +func (*ErrorStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{35} +} + +func (x *ErrorStep) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// StatusStep provides operational progress updates that are not part of +// the agent's reasoning. Useful for the UI to show what the system is +// doing before the LLM starts streaming (e.g. MCP server connections). +type StatusStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Human-readable status message. + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StatusStep) Reset() { + *x = StatusStep{} + mi := &file_brent_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StatusStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusStep) ProtoMessage() {} + +func (x *StatusStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusStep.ProtoReflect.Descriptor instead. +func (*StatusStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{36} +} + +func (x *StatusStep) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// RunStartedStep is emitted as the first step on a streaming +// ExecuteWorkflow invocation. It tells the client the server-side runId +// so it can deep-link to the full stream via WatchRun. The +// webhook-triggered path does not emit this step. +type RunStartedStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RunStartedStep) Reset() { + *x = RunStartedStep{} + mi := &file_brent_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunStartedStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunStartedStep) ProtoMessage() {} + +func (x *RunStartedStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunStartedStep.ProtoReflect.Descriptor instead. +func (*RunStartedStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{37} +} + +func (x *RunStartedStep) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +// QAReadyStep is emitted after a run completes successfully to signal that +// interactive Q&A is available. The client should show a question input and +// call SendQuestion with the run_id to ask follow-up questions. +type QAReadyStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Human-readable message to display to the user. + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QAReadyStep) Reset() { + *x = QAReadyStep{} + mi := &file_brent_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QAReadyStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QAReadyStep) ProtoMessage() {} + +func (x *QAReadyStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QAReadyStep.ProtoReflect.Descriptor instead. +func (*QAReadyStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{38} +} + +func (x *QAReadyStep) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// UserQuestionStep records a follow-up question submitted by the user so it +// appears in the same replayable run step log as the model's answer. +type UserQuestionStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The question text exactly as submitted after trimming. + Question string `protobuf:"bytes,1,opt,name=question,proto3" json:"question,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserQuestionStep) Reset() { + *x = UserQuestionStep{} + mi := &file_brent_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserQuestionStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserQuestionStep) ProtoMessage() {} + +func (x *UserQuestionStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserQuestionStep.ProtoReflect.Descriptor instead. +func (*UserQuestionStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{39} +} + +func (x *UserQuestionStep) GetQuestion() string { + if x != nil { + return x.Question + } + return "" +} + +// UserMessageStep carries the exact text of the first user message sent to +// the LLM for this run. For UI-initiated runs this is the prompt the user +// typed; for event-driven runs it is the workflow body template after +// Executor.buildPrompt has appended the triggering event JSON. +type UserMessageStep struct { + state protoimpl.MessageState `protogen:"open.v1"` + Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserMessageStep) Reset() { + *x = UserMessageStep{} + mi := &file_brent_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserMessageStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserMessageStep) ProtoMessage() {} + +func (x *UserMessageStep) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserMessageStep.ProtoReflect.Descriptor instead. +func (*UserMessageStep) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{40} +} + +func (x *UserMessageStep) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +// SendQuestionRequest sends a follow-up question against a completed run. +// The run must have emitted a QAReadyStep (i.e. be in Q&A mode). +type SendQuestionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run to ask against. Must be in Q&A mode (emitted QAReadyStep). + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The question to ask the model. + Question string `protobuf:"bytes,2,opt,name=question,proto3" json:"question,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SendQuestionRequest) Reset() { + *x = SendQuestionRequest{} + mi := &file_brent_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SendQuestionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendQuestionRequest) ProtoMessage() {} + +func (x *SendQuestionRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendQuestionRequest.ProtoReflect.Descriptor instead. +func (*SendQuestionRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{41} +} + +func (x *SendQuestionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *SendQuestionRequest) GetQuestion() string { + if x != nil { + return x.Question + } + return "" +} + +type AdminListPlansRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // State filter: "" or "active" (default), "deleted", "all". + // Unknown values return InvalidArgument. + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // clamp [1, 200]; 0 → default 50 + Offset uint32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` + // Empty string = all accounts (cross-tenant admin listing). + // When set, return only plans for that account_name. + AccountName string `protobuf:"bytes,4,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // Review-status filter: "" or "all" (default), "none" (no non-deleted + // reviews), "requested", "approved", "rejected". Aggregates across all + // non-deleted reviews on the plan with priority approved > rejected > + // requested > none (e.g. one rejected plus one outstanding requested + // review surfaces as rejected). Interim operator-only field — ENG-5037 + // lifecycle_stage will subsume this on the Area51 plan list. Unknown + // values return InvalidArgument. + ReviewStatus string `protobuf:"bytes,5,opt,name=review_status,json=reviewStatus,proto3" json:"review_status,omitempty"` + // Lifecycle filter: "" or "all" (default), "incomplete" (everything except + // done), or an exact stage name. Reuses the same tokens as list_plans MCP. + // Unknown values return InvalidArgument. + Lifecycle string `protobuf:"bytes,6,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListPlansRequest) Reset() { + *x = AdminListPlansRequest{} + mi := &file_brent_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListPlansRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListPlansRequest) ProtoMessage() {} + +func (x *AdminListPlansRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListPlansRequest.ProtoReflect.Descriptor instead. +func (*AdminListPlansRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{42} +} + +func (x *AdminListPlansRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *AdminListPlansRequest) GetLimit() uint32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *AdminListPlansRequest) GetOffset() uint32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *AdminListPlansRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminListPlansRequest) GetReviewStatus() string { + if x != nil { + return x.ReviewStatus + } + return "" +} + +func (x *AdminListPlansRequest) GetLifecycle() string { + if x != nil { + return x.Lifecycle + } + return "" +} + +type AdminListPlansResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plans []*PlanSummary `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` + TotalCount uint32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListPlansResponse) Reset() { + *x = AdminListPlansResponse{} + mi := &file_brent_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListPlansResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListPlansResponse) ProtoMessage() {} + +func (x *AdminListPlansResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListPlansResponse.ProtoReflect.Descriptor instead. +func (*AdminListPlansResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{43} +} + +func (x *AdminListPlansResponse) GetPlans() []*PlanSummary { + if x != nil { + return x.Plans + } + return nil +} + +func (x *AdminListPlansResponse) GetTotalCount() uint32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +// PlanSummary carries the columns brent-area51 renders in the plans list +// view. `content` is intentionally excluded — pulling it across every plan +// in every tenant on every list render would be wasteful when the list page +// only shows title and metadata. Use AdminGetPlan to fetch the full body. +type PlanSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Friendly identifier for the plan (e.g. "BRENT-42"). + FriendlyId string `protobuf:"bytes,1,opt,name=friendly_id,json=friendlyId,proto3" json:"friendly_id,omitempty"` + // The owning tenant. Surfaced in the debug UI so engineers can spot + // cross-tenant patterns at a glance. + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Stable principal_id UUID (string form) of the plan author. + AuthorPrincipalId string `protobuf:"bytes,7,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` + // Friendly principal metadata joined from principals at read time. + AuthorDisplayName string `protobuf:"bytes,8,opt,name=author_display_name,json=authorDisplayName,proto3" json:"author_display_name,omitempty"` + AuthorPrincipalKind string `protobuf:"bytes,9,opt,name=author_principal_kind,json=authorPrincipalKind,proto3" json:"author_principal_kind,omitempty"` // "human" | "agent" | "group" + AuthorPrincipalStatus string `protobuf:"bytes,10,opt,name=author_principal_status,json=authorPrincipalStatus,proto3" json:"author_principal_status,omitempty"` // "shadow" | "active" | "tombstoned" + // Raw UUID of the plan (plans.external_id). Exposed for debug consumers. + Uuid string `protobuf:"bytes,11,opt,name=uuid,proto3" json:"uuid,omitempty"` + // Project code component of the friendly ID (e.g. "BRENT"). + ProjectCode string `protobuf:"bytes,12,opt,name=project_code,json=projectCode,proto3" json:"project_code,omitempty"` + // Set when the plan has been soft-deleted. + DeletedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"` + // Aggregate review status for BrentAdminService.ListPlans display and + // filtering: none | requested | approved | rejected. Priority across + // non-deleted reviews: approved > rejected > requested > none. Mirrors + // review_status on AdminListPlansRequest. Interim operator-only slice — + // reconcile with plans.lifecycle_stage when ENG-5037 Milestone 3 lands. + ReviewStatus string `protobuf:"bytes,14,opt,name=review_status,json=reviewStatus,proto3" json:"review_status,omitempty"` + LifecycleStage string `protobuf:"bytes,15,opt,name=lifecycle_stage,json=lifecycleStage,proto3" json:"lifecycle_stage,omitempty"` + // Set when lifecycle_stage is needs_attention. + LifecycleReason string `protobuf:"bytes,16,opt,name=lifecycle_reason,json=lifecycleReason,proto3" json:"lifecycle_reason,omitempty"` + LifecycleStageUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=lifecycle_stage_updated_at,json=lifecycleStageUpdatedAt,proto3" json:"lifecycle_stage_updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanSummary) Reset() { + *x = PlanSummary{} + mi := &file_brent_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanSummary) ProtoMessage() {} + +func (x *PlanSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanSummary.ProtoReflect.Descriptor instead. +func (*PlanSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{44} +} + +func (x *PlanSummary) GetFriendlyId() string { + if x != nil { + return x.FriendlyId + } + return "" +} + +func (x *PlanSummary) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *PlanSummary) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PlanSummary) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *PlanSummary) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *PlanSummary) GetAuthorPrincipalId() string { + if x != nil { + return x.AuthorPrincipalId + } + return "" +} + +func (x *PlanSummary) GetAuthorDisplayName() string { + if x != nil { + return x.AuthorDisplayName + } + return "" +} + +func (x *PlanSummary) GetAuthorPrincipalKind() string { + if x != nil { + return x.AuthorPrincipalKind + } + return "" +} + +func (x *PlanSummary) GetAuthorPrincipalStatus() string { + if x != nil { + return x.AuthorPrincipalStatus + } + return "" +} + +func (x *PlanSummary) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *PlanSummary) GetProjectCode() string { + if x != nil { + return x.ProjectCode + } + return "" +} + +func (x *PlanSummary) GetDeletedAt() *timestamppb.Timestamp { + if x != nil { + return x.DeletedAt + } + return nil +} + +func (x *PlanSummary) GetReviewStatus() string { + if x != nil { + return x.ReviewStatus + } + return "" +} + +func (x *PlanSummary) GetLifecycleStage() string { + if x != nil { + return x.LifecycleStage + } + return "" +} + +func (x *PlanSummary) GetLifecycleReason() string { + if x != nil { + return x.LifecycleReason + } + return "" +} + +func (x *PlanSummary) GetLifecycleStageUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.LifecycleStageUpdatedAt + } + return nil +} + +type AdminGetPlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Friendly identifier (e.g. BRENT-42) or plan UUID. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetPlanRequest) Reset() { + *x = AdminGetPlanRequest{} + mi := &file_brent_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetPlanRequest) ProtoMessage() {} + +func (x *AdminGetPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetPlanRequest.ProtoReflect.Descriptor instead. +func (*AdminGetPlanRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{45} +} + +func (x *AdminGetPlanRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type AdminGetPlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Full plan including `content`. Set only when the plan exists; the RPC + // itself returns NotFound when the plan does not exist. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + // Every non-deleted review for this plan, regardless of which tenant it + // belongs to. Sorted newest-decided / newest-requested first. + RelatedReviews []*ReviewSummary `protobuf:"bytes,2,rep,name=related_reviews,json=relatedReviews,proto3" json:"related_reviews,omitempty"` + // Pull requests linked to this plan via linked_plan_friendly_id, across all tenants. + RelatedPullRequests []*PullRequestSummary `protobuf:"bytes,3,rep,name=related_pull_requests,json=relatedPullRequests,proto3" json:"related_pull_requests,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetPlanResponse) Reset() { + *x = AdminGetPlanResponse{} + mi := &file_brent_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetPlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetPlanResponse) ProtoMessage() {} + +func (x *AdminGetPlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetPlanResponse.ProtoReflect.Descriptor instead. +func (*AdminGetPlanResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{46} +} + +func (x *AdminGetPlanResponse) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *AdminGetPlanResponse) GetRelatedReviews() []*ReviewSummary { + if x != nil { + return x.RelatedReviews + } + return nil +} + +func (x *AdminGetPlanResponse) GetRelatedPullRequests() []*PullRequestSummary { + if x != nil { + return x.RelatedPullRequests + } + return nil +} + +// Plan is the full plan aggregate as the debug UI consumes it. Mirrors +// services/brent-backend/plans.Plan. +type Plan struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Friendly identifier for the plan (e.g. "BRENT-42"). + FriendlyId string `protobuf:"bytes,1,opt,name=friendly_id,json=friendlyId,proto3" json:"friendly_id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Stable principal_id UUID (string form) of the plan author. + AuthorPrincipalId string `protobuf:"bytes,8,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` + AuthorDisplayName string `protobuf:"bytes,9,opt,name=author_display_name,json=authorDisplayName,proto3" json:"author_display_name,omitempty"` + AuthorPrincipalKind string `protobuf:"bytes,10,opt,name=author_principal_kind,json=authorPrincipalKind,proto3" json:"author_principal_kind,omitempty"` + AuthorPrincipalStatus string `protobuf:"bytes,11,opt,name=author_principal_status,json=authorPrincipalStatus,proto3" json:"author_principal_status,omitempty"` + // Raw UUID of the plan (plans.external_id). Exposed for debug consumers. + Uuid string `protobuf:"bytes,12,opt,name=uuid,proto3" json:"uuid,omitempty"` + // Project code component of the friendly ID (e.g. "BRENT"). + ProjectCode string `protobuf:"bytes,13,opt,name=project_code,json=projectCode,proto3" json:"project_code,omitempty"` + LifecycleStage string `protobuf:"bytes,14,opt,name=lifecycle_stage,json=lifecycleStage,proto3" json:"lifecycle_stage,omitempty"` + LifecycleReason string `protobuf:"bytes,15,opt,name=lifecycle_reason,json=lifecycleReason,proto3" json:"lifecycle_reason,omitempty"` + LifecycleStageUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=lifecycle_stage_updated_at,json=lifecycleStageUpdatedAt,proto3" json:"lifecycle_stage_updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Plan) Reset() { + *x = Plan{} + mi := &file_brent_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Plan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Plan) ProtoMessage() {} + +func (x *Plan) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Plan.ProtoReflect.Descriptor instead. +func (*Plan) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{47} +} + +func (x *Plan) GetFriendlyId() string { + if x != nil { + return x.FriendlyId + } + return "" +} + +func (x *Plan) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *Plan) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Plan) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *Plan) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Plan) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Plan) GetAuthorPrincipalId() string { + if x != nil { + return x.AuthorPrincipalId + } + return "" +} + +func (x *Plan) GetAuthorDisplayName() string { + if x != nil { + return x.AuthorDisplayName + } + return "" +} + +func (x *Plan) GetAuthorPrincipalKind() string { + if x != nil { + return x.AuthorPrincipalKind + } + return "" +} + +func (x *Plan) GetAuthorPrincipalStatus() string { + if x != nil { + return x.AuthorPrincipalStatus + } + return "" +} + +func (x *Plan) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *Plan) GetProjectCode() string { + if x != nil { + return x.ProjectCode + } + return "" +} + +func (x *Plan) GetLifecycleStage() string { + if x != nil { + return x.LifecycleStage + } + return "" +} + +func (x *Plan) GetLifecycleReason() string { + if x != nil { + return x.LifecycleReason + } + return "" +} + +func (x *Plan) GetLifecycleStageUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.LifecycleStageUpdatedAt + } + return nil +} + +type AdminListPrincipalsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional filter; "" = all tenants. + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // Optional filter: human | agent | group. + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + // Optional filter: active | shadow | tombstoned. + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListPrincipalsRequest) Reset() { + *x = AdminListPrincipalsRequest{} + mi := &file_brent_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListPrincipalsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListPrincipalsRequest) ProtoMessage() {} + +func (x *AdminListPrincipalsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListPrincipalsRequest.ProtoReflect.Descriptor instead. +func (*AdminListPrincipalsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{48} +} + +func (x *AdminListPrincipalsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminListPrincipalsRequest) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *AdminListPrincipalsRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AdminListPrincipalsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *AdminListPrincipalsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type AdminListPrincipalsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Principals []*Principal `protobuf:"bytes,1,rep,name=principals,proto3" json:"principals,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListPrincipalsResponse) Reset() { + *x = AdminListPrincipalsResponse{} + mi := &file_brent_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListPrincipalsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListPrincipalsResponse) ProtoMessage() {} + +func (x *AdminListPrincipalsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListPrincipalsResponse.ProtoReflect.Descriptor instead. +func (*AdminListPrincipalsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{49} +} + +func (x *AdminListPrincipalsResponse) GetPrincipals() []*Principal { + if x != nil { + return x.Principals + } + return nil +} + +func (x *AdminListPrincipalsResponse) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type AdminGetPrincipalRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // principals.external_id UUID. + ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetPrincipalRequest) Reset() { + *x = AdminGetPrincipalRequest{} + mi := &file_brent_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetPrincipalRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetPrincipalRequest) ProtoMessage() {} + +func (x *AdminGetPrincipalRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetPrincipalRequest.ProtoReflect.Descriptor instead. +func (*AdminGetPrincipalRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{50} +} + +func (x *AdminGetPrincipalRequest) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +type AdminGetPrincipalResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Principal *Principal `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` + Identities []*PrincipalIdentity `protobuf:"bytes,2,rep,name=identities,proto3" json:"identities,omitempty"` + Bindings []*Binding `protobuf:"bytes,3,rep,name=bindings,proto3" json:"bindings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetPrincipalResponse) Reset() { + *x = AdminGetPrincipalResponse{} + mi := &file_brent_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetPrincipalResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetPrincipalResponse) ProtoMessage() {} + +func (x *AdminGetPrincipalResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetPrincipalResponse.ProtoReflect.Descriptor instead. +func (*AdminGetPrincipalResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{51} +} + +func (x *AdminGetPrincipalResponse) GetPrincipal() *Principal { + if x != nil { + return x.Principal + } + return nil +} + +func (x *AdminGetPrincipalResponse) GetIdentities() []*PrincipalIdentity { + if x != nil { + return x.Identities + } + return nil +} + +func (x *AdminGetPrincipalResponse) GetBindings() []*Binding { + if x != nil { + return x.Bindings + } + return nil +} + +// PrincipalIdentity is the wire representation of a principal_identities row. +type PrincipalIdentity struct { + state protoimpl.MessageState `protogen:"open.v1"` + ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrincipalIdentity) Reset() { + *x = PrincipalIdentity{} + mi := &file_brent_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrincipalIdentity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrincipalIdentity) ProtoMessage() {} + +func (x *PrincipalIdentity) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrincipalIdentity.ProtoReflect.Descriptor instead. +func (*PrincipalIdentity) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{52} +} + +func (x *PrincipalIdentity) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +func (x *PrincipalIdentity) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *PrincipalIdentity) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *PrincipalIdentity) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *PrincipalIdentity) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *PrincipalIdentity) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +type AdminUpsertPrincipalBindingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + Handle string `protobuf:"bytes,4,opt,name=handle,proto3" json:"handle,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUpsertPrincipalBindingRequest) Reset() { + *x = AdminUpsertPrincipalBindingRequest{} + mi := &file_brent_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUpsertPrincipalBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUpsertPrincipalBindingRequest) ProtoMessage() {} + +func (x *AdminUpsertPrincipalBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUpsertPrincipalBindingRequest.ProtoReflect.Descriptor instead. +func (*AdminUpsertPrincipalBindingRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{53} +} + +func (x *AdminUpsertPrincipalBindingRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminUpsertPrincipalBindingRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *AdminUpsertPrincipalBindingRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *AdminUpsertPrincipalBindingRequest) GetHandle() string { + if x != nil { + return x.Handle + } + return "" +} + +type AdminUpsertPrincipalBindingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Binding *Binding `protobuf:"bytes,1,opt,name=binding,proto3" json:"binding,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUpsertPrincipalBindingResponse) Reset() { + *x = AdminUpsertPrincipalBindingResponse{} + mi := &file_brent_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUpsertPrincipalBindingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUpsertPrincipalBindingResponse) ProtoMessage() {} + +func (x *AdminUpsertPrincipalBindingResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUpsertPrincipalBindingResponse.ProtoReflect.Descriptor instead. +func (*AdminUpsertPrincipalBindingResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{54} +} + +func (x *AdminUpsertPrincipalBindingResponse) GetBinding() *Binding { + if x != nil { + return x.Binding + } + return nil +} + +type AdminDeletePrincipalBindingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminDeletePrincipalBindingRequest) Reset() { + *x = AdminDeletePrincipalBindingRequest{} + mi := &file_brent_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminDeletePrincipalBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminDeletePrincipalBindingRequest) ProtoMessage() {} + +func (x *AdminDeletePrincipalBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminDeletePrincipalBindingRequest.ProtoReflect.Descriptor instead. +func (*AdminDeletePrincipalBindingRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{55} +} + +func (x *AdminDeletePrincipalBindingRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminDeletePrincipalBindingRequest) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +type AdminDeletePrincipalBindingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminDeletePrincipalBindingResponse) Reset() { + *x = AdminDeletePrincipalBindingResponse{} + mi := &file_brent_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminDeletePrincipalBindingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminDeletePrincipalBindingResponse) ProtoMessage() {} + +func (x *AdminDeletePrincipalBindingResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminDeletePrincipalBindingResponse.ProtoReflect.Descriptor instead. +func (*AdminDeletePrincipalBindingResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{56} +} + +type AdminUpdatePrincipalRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + DisplayName *string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3,oneof" json:"display_name,omitempty"` + Status *string `protobuf:"bytes,4,opt,name=status,proto3,oneof" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUpdatePrincipalRequest) Reset() { + *x = AdminUpdatePrincipalRequest{} + mi := &file_brent_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUpdatePrincipalRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUpdatePrincipalRequest) ProtoMessage() {} + +func (x *AdminUpdatePrincipalRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUpdatePrincipalRequest.ProtoReflect.Descriptor instead. +func (*AdminUpdatePrincipalRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{57} +} + +func (x *AdminUpdatePrincipalRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminUpdatePrincipalRequest) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +func (x *AdminUpdatePrincipalRequest) GetDisplayName() string { + if x != nil && x.DisplayName != nil { + return *x.DisplayName + } + return "" +} + +func (x *AdminUpdatePrincipalRequest) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +type AdminUpdatePrincipalResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Principal *Principal `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUpdatePrincipalResponse) Reset() { + *x = AdminUpdatePrincipalResponse{} + mi := &file_brent_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUpdatePrincipalResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUpdatePrincipalResponse) ProtoMessage() {} + +func (x *AdminUpdatePrincipalResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUpdatePrincipalResponse.ProtoReflect.Descriptor instead. +func (*AdminUpdatePrincipalResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{58} +} + +func (x *AdminUpdatePrincipalResponse) GetPrincipal() *Principal { + if x != nil { + return x.Principal + } + return nil +} + +type AdminCreatePrincipalIdentityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminCreatePrincipalIdentityRequest) Reset() { + *x = AdminCreatePrincipalIdentityRequest{} + mi := &file_brent_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminCreatePrincipalIdentityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminCreatePrincipalIdentityRequest) ProtoMessage() {} + +func (x *AdminCreatePrincipalIdentityRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminCreatePrincipalIdentityRequest.ProtoReflect.Descriptor instead. +func (*AdminCreatePrincipalIdentityRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{59} +} + +func (x *AdminCreatePrincipalIdentityRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminCreatePrincipalIdentityRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *AdminCreatePrincipalIdentityRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *AdminCreatePrincipalIdentityRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +type AdminCreatePrincipalIdentityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Identity *PrincipalIdentity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminCreatePrincipalIdentityResponse) Reset() { + *x = AdminCreatePrincipalIdentityResponse{} + mi := &file_brent_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminCreatePrincipalIdentityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminCreatePrincipalIdentityResponse) ProtoMessage() {} + +func (x *AdminCreatePrincipalIdentityResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminCreatePrincipalIdentityResponse.ProtoReflect.Descriptor instead. +func (*AdminCreatePrincipalIdentityResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{60} +} + +func (x *AdminCreatePrincipalIdentityResponse) GetIdentity() *PrincipalIdentity { + if x != nil { + return x.Identity + } + return nil +} + +type AdminDeletePrincipalIdentityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminDeletePrincipalIdentityRequest) Reset() { + *x = AdminDeletePrincipalIdentityRequest{} + mi := &file_brent_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminDeletePrincipalIdentityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminDeletePrincipalIdentityRequest) ProtoMessage() {} + +func (x *AdminDeletePrincipalIdentityRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminDeletePrincipalIdentityRequest.ProtoReflect.Descriptor instead. +func (*AdminDeletePrincipalIdentityRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{61} +} + +func (x *AdminDeletePrincipalIdentityRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminDeletePrincipalIdentityRequest) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +type AdminDeletePrincipalIdentityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminDeletePrincipalIdentityResponse) Reset() { + *x = AdminDeletePrincipalIdentityResponse{} + mi := &file_brent_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminDeletePrincipalIdentityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminDeletePrincipalIdentityResponse) ProtoMessage() {} + +func (x *AdminDeletePrincipalIdentityResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminDeletePrincipalIdentityResponse.ProtoReflect.Descriptor instead. +func (*AdminDeletePrincipalIdentityResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{62} +} + +type AdminSetPrincipalCredentialRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminSetPrincipalCredentialRequest) Reset() { + *x = AdminSetPrincipalCredentialRequest{} + mi := &file_brent_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminSetPrincipalCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminSetPrincipalCredentialRequest) ProtoMessage() {} + +func (x *AdminSetPrincipalCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminSetPrincipalCredentialRequest.ProtoReflect.Descriptor instead. +func (*AdminSetPrincipalCredentialRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{63} +} + +func (x *AdminSetPrincipalCredentialRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminSetPrincipalCredentialRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *AdminSetPrincipalCredentialRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *AdminSetPrincipalCredentialRequest) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +type AdminSetPrincipalCredentialResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountEmail string `protobuf:"bytes,1,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"` + SecretLast4 string `protobuf:"bytes,2,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminSetPrincipalCredentialResponse) Reset() { + *x = AdminSetPrincipalCredentialResponse{} + mi := &file_brent_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminSetPrincipalCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminSetPrincipalCredentialResponse) ProtoMessage() {} + +func (x *AdminSetPrincipalCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminSetPrincipalCredentialResponse.ProtoReflect.Descriptor instead. +func (*AdminSetPrincipalCredentialResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{64} +} + +func (x *AdminSetPrincipalCredentialResponse) GetAccountEmail() string { + if x != nil { + return x.AccountEmail + } + return "" +} + +func (x *AdminSetPrincipalCredentialResponse) GetSecretLast4() string { + if x != nil { + return x.SecretLast4 + } + return "" +} + +type AdminListPrincipalCredentialConnectionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListPrincipalCredentialConnectionsRequest) Reset() { + *x = AdminListPrincipalCredentialConnectionsRequest{} + mi := &file_brent_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListPrincipalCredentialConnectionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListPrincipalCredentialConnectionsRequest) ProtoMessage() {} + +func (x *AdminListPrincipalCredentialConnectionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListPrincipalCredentialConnectionsRequest.ProtoReflect.Descriptor instead. +func (*AdminListPrincipalCredentialConnectionsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{65} +} + +func (x *AdminListPrincipalCredentialConnectionsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminListPrincipalCredentialConnectionsRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +type AdminListPrincipalCredentialConnectionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Connections []*PrincipalCredentialConnection `protobuf:"bytes,1,rep,name=connections,proto3" json:"connections,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListPrincipalCredentialConnectionsResponse) Reset() { + *x = AdminListPrincipalCredentialConnectionsResponse{} + mi := &file_brent_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListPrincipalCredentialConnectionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListPrincipalCredentialConnectionsResponse) ProtoMessage() {} + +func (x *AdminListPrincipalCredentialConnectionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListPrincipalCredentialConnectionsResponse.ProtoReflect.Descriptor instead. +func (*AdminListPrincipalCredentialConnectionsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{66} +} + +func (x *AdminListPrincipalCredentialConnectionsResponse) GetConnections() []*PrincipalCredentialConnection { + if x != nil { + return x.Connections + } + return nil +} + +type PrincipalCredentialConnection struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Connected bool `protobuf:"varint,3,opt,name=connected,proto3" json:"connected,omitempty"` + AccountEmail string `protobuf:"bytes,4,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"` + SecretLast4 string `protobuf:"bytes,5,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` + LastValidatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_validated_at,json=lastValidatedAt,proto3" json:"last_validated_at,omitempty"` + UpdatedBy string `protobuf:"bytes,7,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` + AccountName string `protobuf:"bytes,8,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrincipalCredentialConnection) Reset() { + *x = PrincipalCredentialConnection{} + mi := &file_brent_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrincipalCredentialConnection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrincipalCredentialConnection) ProtoMessage() {} + +func (x *PrincipalCredentialConnection) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrincipalCredentialConnection.ProtoReflect.Descriptor instead. +func (*PrincipalCredentialConnection) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{67} +} + +func (x *PrincipalCredentialConnection) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *PrincipalCredentialConnection) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *PrincipalCredentialConnection) GetConnected() bool { + if x != nil { + return x.Connected + } + return false +} + +func (x *PrincipalCredentialConnection) GetAccountEmail() string { + if x != nil { + return x.AccountEmail + } + return "" +} + +func (x *PrincipalCredentialConnection) GetSecretLast4() string { + if x != nil { + return x.SecretLast4 + } + return "" +} + +func (x *PrincipalCredentialConnection) GetLastValidatedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastValidatedAt + } + return nil +} + +func (x *PrincipalCredentialConnection) GetUpdatedBy() string { + if x != nil { + return x.UpdatedBy + } + return "" +} + +func (x *PrincipalCredentialConnection) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type AdminDeletePrincipalCredentialRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminDeletePrincipalCredentialRequest) Reset() { + *x = AdminDeletePrincipalCredentialRequest{} + mi := &file_brent_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminDeletePrincipalCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminDeletePrincipalCredentialRequest) ProtoMessage() {} + +func (x *AdminDeletePrincipalCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminDeletePrincipalCredentialRequest.ProtoReflect.Descriptor instead. +func (*AdminDeletePrincipalCredentialRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{68} +} + +func (x *AdminDeletePrincipalCredentialRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminDeletePrincipalCredentialRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *AdminDeletePrincipalCredentialRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +type AdminDeletePrincipalCredentialResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminDeletePrincipalCredentialResponse) Reset() { + *x = AdminDeletePrincipalCredentialResponse{} + mi := &file_brent_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminDeletePrincipalCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminDeletePrincipalCredentialResponse) ProtoMessage() {} + +func (x *AdminDeletePrincipalCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminDeletePrincipalCredentialResponse.ProtoReflect.Descriptor instead. +func (*AdminDeletePrincipalCredentialResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{69} +} + +type AdminListReviewsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Empty string = all accounts (cross-tenant admin listing). + // When set, return only reviews for that account_name. + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListReviewsRequest) Reset() { + *x = AdminListReviewsRequest{} + mi := &file_brent_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListReviewsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListReviewsRequest) ProtoMessage() {} + +func (x *AdminListReviewsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListReviewsRequest.ProtoReflect.Descriptor instead. +func (*AdminListReviewsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{70} +} + +func (x *AdminListReviewsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type AdminListReviewsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reviews []*ReviewSummary `protobuf:"bytes,1,rep,name=reviews,proto3" json:"reviews,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListReviewsResponse) Reset() { + *x = AdminListReviewsResponse{} + mi := &file_brent_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListReviewsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListReviewsResponse) ProtoMessage() {} + +func (x *AdminListReviewsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListReviewsResponse.ProtoReflect.Descriptor instead. +func (*AdminListReviewsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{71} +} + +func (x *AdminListReviewsResponse) GetReviews() []*ReviewSummary { + if x != nil { + return x.Reviews + } + return nil +} + +// ReviewSummary is the projection used by both the reviews list view and +// AdminGetPlanResponse.related_reviews. It carries enough columns to render a +// row and link to the detail page; verdict_comment lives on the full +// Review message returned from AdminGetReview. +type ReviewSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Friendly identifier of the parent plan (e.g. BRENT-42). + PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // pending | approved | rejected | cancelled. Mirrors reviews.Review.Status. + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + RequestedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` + // Set when the review transitions to approved / rejected. Unset for + // pending and cancelled reviews. + DecidedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=decided_at,json=decidedAt,proto3,oneof" json:"decided_at,omitempty"` + // Plan reference (plans.external_id). For brent-area51 navigation only. + // plan_friendly_id (field 2) remains the plan identifier (friendly ID) for display. + PlanUuid string `protobuf:"bytes,16,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Stable principal_id UUID (string form) of the assigned reviewer. + ReviewerPrincipalId string `protobuf:"bytes,17,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + ReviewerDisplayName string `protobuf:"bytes,18,opt,name=reviewer_display_name,json=reviewerDisplayName,proto3" json:"reviewer_display_name,omitempty"` + ReviewerPrincipalKind string `protobuf:"bytes,19,opt,name=reviewer_principal_kind,json=reviewerPrincipalKind,proto3" json:"reviewer_principal_kind,omitempty"` + ReviewerPrincipalStatus string `protobuf:"bytes,20,opt,name=reviewer_principal_status,json=reviewerPrincipalStatus,proto3" json:"reviewer_principal_status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewSummary) Reset() { + *x = ReviewSummary{} + mi := &file_brent_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewSummary) ProtoMessage() {} + +func (x *ReviewSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewSummary.ProtoReflect.Descriptor instead. +func (*ReviewSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{72} +} + +func (x *ReviewSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ReviewSummary) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *ReviewSummary) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *ReviewSummary) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ReviewSummary) GetRequestedAt() *timestamppb.Timestamp { + if x != nil { + return x.RequestedAt + } + return nil +} + +func (x *ReviewSummary) GetDecidedAt() *timestamppb.Timestamp { + if x != nil { + return x.DecidedAt + } + return nil +} + +func (x *ReviewSummary) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *ReviewSummary) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +func (x *ReviewSummary) GetReviewerDisplayName() string { + if x != nil { + return x.ReviewerDisplayName + } + return "" +} + +func (x *ReviewSummary) GetReviewerPrincipalKind() string { + if x != nil { + return x.ReviewerPrincipalKind + } + return "" +} + +func (x *ReviewSummary) GetReviewerPrincipalStatus() string { + if x != nil { + return x.ReviewerPrincipalStatus + } + return "" +} + +type AdminGetReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // UUID of the review to fetch. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetReviewRequest) Reset() { + *x = AdminGetReviewRequest{} + mi := &file_brent_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetReviewRequest) ProtoMessage() {} + +func (x *AdminGetReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetReviewRequest.ProtoReflect.Descriptor instead. +func (*AdminGetReviewRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{73} +} + +func (x *AdminGetReviewRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type AdminGetReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Full review including verdict_comment. + Review *Review `protobuf:"bytes,1,opt,name=review,proto3" json:"review,omitempty"` + // Summary of the parent plan. Unset only when the parent plan has been + // hard-deleted (not expected today; kept optional so orphaned reviews + // remain debuggable). + Plan *PlanSummary `protobuf:"bytes,2,opt,name=plan,proto3,oneof" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetReviewResponse) Reset() { + *x = AdminGetReviewResponse{} + mi := &file_brent_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetReviewResponse) ProtoMessage() {} + +func (x *AdminGetReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetReviewResponse.ProtoReflect.Descriptor instead. +func (*AdminGetReviewResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{74} +} + +func (x *AdminGetReviewResponse) GetReview() *Review { + if x != nil { + return x.Review + } + return nil +} + +func (x *AdminGetReviewResponse) GetPlan() *PlanSummary { + if x != nil { + return x.Plan + } + return nil +} + +// Review is the full review aggregate as the debug UI consumes it. Mirrors +// services/brent-backend/reviews.Review. The verdict_comment is the diff +// versus ReviewSummary; that field is only ever populated by SubmitReview. +type Review struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + VerdictComment string `protobuf:"bytes,6,opt,name=verdict_comment,json=verdictComment,proto3" json:"verdict_comment,omitempty"` + RequestedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` + DecidedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=decided_at,json=decidedAt,proto3,oneof" json:"decided_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Stable principal_id UUID (string form) of the assigned reviewer. + ReviewerPrincipalId string `protobuf:"bytes,19,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + ReviewerDisplayName string `protobuf:"bytes,20,opt,name=reviewer_display_name,json=reviewerDisplayName,proto3" json:"reviewer_display_name,omitempty"` + ReviewerPrincipalKind string `protobuf:"bytes,21,opt,name=reviewer_principal_kind,json=reviewerPrincipalKind,proto3" json:"reviewer_principal_kind,omitempty"` + ReviewerPrincipalStatus string `protobuf:"bytes,22,opt,name=reviewer_principal_status,json=reviewerPrincipalStatus,proto3" json:"reviewer_principal_status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Review) Reset() { + *x = Review{} + mi := &file_brent_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Review) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Review) ProtoMessage() {} + +func (x *Review) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Review.ProtoReflect.Descriptor instead. +func (*Review) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{75} +} + +func (x *Review) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Review) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *Review) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *Review) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Review) GetVerdictComment() string { + if x != nil { + return x.VerdictComment + } + return "" +} + +func (x *Review) GetRequestedAt() *timestamppb.Timestamp { + if x != nil { + return x.RequestedAt + } + return nil +} + +func (x *Review) GetDecidedAt() *timestamppb.Timestamp { + if x != nil { + return x.DecidedAt + } + return nil +} + +func (x *Review) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Review) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Review) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +func (x *Review) GetReviewerDisplayName() string { + if x != nil { + return x.ReviewerDisplayName + } + return "" +} + +func (x *Review) GetReviewerPrincipalKind() string { + if x != nil { + return x.ReviewerPrincipalKind + } + return "" +} + +func (x *Review) GetReviewerPrincipalStatus() string { + if x != nil { + return x.ReviewerPrincipalStatus + } + return "" +} + +// AccountSummary represents a single tenant in the accounts list view. +type AccountSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Raw account_name UUID string (workspace_id). + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // GitHub org login(s) connected to this account (external_workspace_id + // for provider = 'github'). Empty slice when no GitHub install recorded. + GithubOrgs []string `protobuf:"bytes,2,rep,name=github_orgs,json=githubOrgs,proto3" json:"github_orgs,omitempty"` + // Human-readable workspace slug from the workspaces table. + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + // Human-readable workspace display name from the workspaces table. + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountSummary) Reset() { + *x = AccountSummary{} + mi := &file_brent_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountSummary) ProtoMessage() {} + +func (x *AccountSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountSummary.ProtoReflect.Descriptor instead. +func (*AccountSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{76} +} + +func (x *AccountSummary) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AccountSummary) GetGithubOrgs() []string { + if x != nil { + return x.GithubOrgs + } + return nil +} + +func (x *AccountSummary) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *AccountSummary) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +type AdminListAccountsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accounts []*AccountSummary `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListAccountsResponse) Reset() { + *x = AdminListAccountsResponse{} + mi := &file_brent_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListAccountsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListAccountsResponse) ProtoMessage() {} + +func (x *AdminListAccountsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListAccountsResponse.ProtoReflect.Descriptor instead. +func (*AdminListAccountsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{77} +} + +func (x *AdminListAccountsResponse) GetAccounts() []*AccountSummary { + if x != nil { + return x.Accounts + } + return nil +} + +// AdminGetAccountSummaryRequest selects the account whose activity summary +// is requested. account_name is the raw UUID string as listed by +// AdminListAccounts. +type AdminGetAccountSummaryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountSummaryRequest) Reset() { + *x = AdminGetAccountSummaryRequest{} + mi := &file_brent_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountSummaryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountSummaryRequest) ProtoMessage() {} + +func (x *AdminGetAccountSummaryRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountSummaryRequest.ProtoReflect.Descriptor instead. +func (*AdminGetAccountSummaryRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{78} +} + +func (x *AdminGetAccountSummaryRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +// AccountRunSummary is one row in the recent-activity list on the account +// detail page. +type AccountRunSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + // workflow_runs.external_id (UUID string); links to the run detail view. + WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + // Human-readable workflow run name. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Run status: pending / running / completed / failed / cancelled. + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + // When the run started (falls back to created_at when never started). + StartedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountRunSummary) Reset() { + *x = AccountRunSummary{} + mi := &file_brent_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountRunSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountRunSummary) ProtoMessage() {} + +func (x *AccountRunSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountRunSummary.ProtoReflect.Descriptor instead. +func (*AccountRunSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{79} +} + +func (x *AccountRunSummary) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *AccountRunSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AccountRunSummary) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AccountRunSummary) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +// AdminGetAccountSummaryResponse is the activity overview for one account. +// All counts are all-time unless noted. Integration booleans reflect whether +// an organisation_app_installations row exists for that provider. +type AdminGetAccountSummaryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // GitHub org login(s) connected to this account. + GithubOrgs []string `protobuf:"bytes,2,rep,name=github_orgs,json=githubOrgs,proto3" json:"github_orgs,omitempty"` + SlackConnected bool `protobuf:"varint,3,opt,name=slack_connected,json=slackConnected,proto3" json:"slack_connected,omitempty"` + LinearConnected bool `protobuf:"varint,4,opt,name=linear_connected,json=linearConnected,proto3" json:"linear_connected,omitempty"` + PlanCount int64 `protobuf:"varint,5,opt,name=plan_count,json=planCount,proto3" json:"plan_count,omitempty"` + ReviewCount int64 `protobuf:"varint,6,opt,name=review_count,json=reviewCount,proto3" json:"review_count,omitempty"` + WorkflowRunCount int64 `protobuf:"varint,7,opt,name=workflow_run_count,json=workflowRunCount,proto3" json:"workflow_run_count,omitempty"` + // Subset of workflow_run_count whose status is 'failed'. + WorkflowRunErrorCount int64 `protobuf:"varint,8,opt,name=workflow_run_error_count,json=workflowRunErrorCount,proto3" json:"workflow_run_error_count,omitempty"` + PrCount int64 `protobuf:"varint,9,opt,name=pr_count,json=prCount,proto3" json:"pr_count,omitempty"` + // Most recent activity across the account's runs, plans, reviews, and PRs, + // collapsed to the latest workflow-run timestamp. Null when there has been + // no activity at all. + LastActiveAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=last_active_at,json=lastActiveAt,proto3" json:"last_active_at,omitempty"` + // The most recent workflow runs, newest first (capped server-side). + RecentRuns []*AccountRunSummary `protobuf:"bytes,12,rep,name=recent_runs,json=recentRuns,proto3" json:"recent_runs,omitempty"` + // Human-readable workspace slug from the workspaces table. + Slug string `protobuf:"bytes,13,opt,name=slug,proto3" json:"slug,omitempty"` + // Human-readable workspace display name from the workspaces table. + DisplayName string `protobuf:"bytes,14,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountSummaryResponse) Reset() { + *x = AdminGetAccountSummaryResponse{} + mi := &file_brent_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountSummaryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountSummaryResponse) ProtoMessage() {} + +func (x *AdminGetAccountSummaryResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountSummaryResponse.ProtoReflect.Descriptor instead. +func (*AdminGetAccountSummaryResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{80} +} + +func (x *AdminGetAccountSummaryResponse) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminGetAccountSummaryResponse) GetGithubOrgs() []string { + if x != nil { + return x.GithubOrgs + } + return nil +} + +func (x *AdminGetAccountSummaryResponse) GetSlackConnected() bool { + if x != nil { + return x.SlackConnected + } + return false +} + +func (x *AdminGetAccountSummaryResponse) GetLinearConnected() bool { + if x != nil { + return x.LinearConnected + } + return false +} + +func (x *AdminGetAccountSummaryResponse) GetPlanCount() int64 { + if x != nil { + return x.PlanCount + } + return 0 +} + +func (x *AdminGetAccountSummaryResponse) GetReviewCount() int64 { + if x != nil { + return x.ReviewCount + } + return 0 +} + +func (x *AdminGetAccountSummaryResponse) GetWorkflowRunCount() int64 { + if x != nil { + return x.WorkflowRunCount + } + return 0 +} + +func (x *AdminGetAccountSummaryResponse) GetWorkflowRunErrorCount() int64 { + if x != nil { + return x.WorkflowRunErrorCount + } + return 0 +} + +func (x *AdminGetAccountSummaryResponse) GetPrCount() int64 { + if x != nil { + return x.PrCount + } + return 0 +} + +func (x *AdminGetAccountSummaryResponse) GetLastActiveAt() *timestamppb.Timestamp { + if x != nil { + return x.LastActiveAt + } + return nil +} + +func (x *AdminGetAccountSummaryResponse) GetRecentRuns() []*AccountRunSummary { + if x != nil { + return x.RecentRuns + } + return nil +} + +func (x *AdminGetAccountSummaryResponse) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *AdminGetAccountSummaryResponse) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +// AdminGetAccountHealthAnalysisRequest selects the account to analyse. +type AdminGetAccountHealthAnalysisRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountHealthAnalysisRequest) Reset() { + *x = AdminGetAccountHealthAnalysisRequest{} + mi := &file_brent_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountHealthAnalysisRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountHealthAnalysisRequest) ProtoMessage() {} + +func (x *AdminGetAccountHealthAnalysisRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountHealthAnalysisRequest.ProtoReflect.Descriptor instead. +func (*AdminGetAccountHealthAnalysisRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{81} +} + +func (x *AdminGetAccountHealthAnalysisRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +// AccountHealthFinding is one heuristic observation about how an account is +// using Brent. Internal-only operator coaching signal. +type AccountHealthFinding struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Severity bucket: "warning" (likely a problem) or "info" (worth noting). + Severity string `protobuf:"bytes,1,opt,name=severity,proto3" json:"severity,omitempty"` + // Short headline, e.g. "Pull requests skipping plans". + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + // Plain-language explanation an operator can act on. + Detail string `protobuf:"bytes,3,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountHealthFinding) Reset() { + *x = AccountHealthFinding{} + mi := &file_brent_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountHealthFinding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountHealthFinding) ProtoMessage() {} + +func (x *AccountHealthFinding) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountHealthFinding.ProtoReflect.Descriptor instead. +func (*AccountHealthFinding) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{82} +} + +func (x *AccountHealthFinding) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *AccountHealthFinding) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *AccountHealthFinding) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +// AdminGetAccountHealthAnalysisResponse carries the heuristic findings. An +// empty findings list means no issues were detected. +type AdminGetAccountHealthAnalysisResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Findings []*AccountHealthFinding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"` + // When this analysis was computed (server clock at call time). + ComputedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=computed_at,json=computedAt,proto3" json:"computed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountHealthAnalysisResponse) Reset() { + *x = AdminGetAccountHealthAnalysisResponse{} + mi := &file_brent_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountHealthAnalysisResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountHealthAnalysisResponse) ProtoMessage() {} + +func (x *AdminGetAccountHealthAnalysisResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountHealthAnalysisResponse.ProtoReflect.Descriptor instead. +func (*AdminGetAccountHealthAnalysisResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{83} +} + +func (x *AdminGetAccountHealthAnalysisResponse) GetFindings() []*AccountHealthFinding { + if x != nil { + return x.Findings + } + return nil +} + +func (x *AdminGetAccountHealthAnalysisResponse) GetComputedAt() *timestamppb.Timestamp { + if x != nil { + return x.ComputedAt + } + return nil +} + +type AdminListAccountMetricReposRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListAccountMetricReposRequest) Reset() { + *x = AdminListAccountMetricReposRequest{} + mi := &file_brent_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListAccountMetricReposRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListAccountMetricReposRequest) ProtoMessage() {} + +func (x *AdminListAccountMetricReposRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListAccountMetricReposRequest.ProtoReflect.Descriptor instead. +func (*AdminListAccountMetricReposRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{84} +} + +func (x *AdminListAccountMetricReposRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type AccountMetricRepo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Full repository name, e.g. overmindtech/workspace. + FullName string `protobuf:"bytes,1,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"` + Archived bool `protobuf:"varint,2,opt,name=archived,proto3" json:"archived,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountMetricRepo) Reset() { + *x = AccountMetricRepo{} + mi := &file_brent_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountMetricRepo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountMetricRepo) ProtoMessage() {} + +func (x *AccountMetricRepo) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountMetricRepo.ProtoReflect.Descriptor instead. +func (*AccountMetricRepo) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{85} +} + +func (x *AccountMetricRepo) GetFullName() string { + if x != nil { + return x.FullName + } + return "" +} + +func (x *AccountMetricRepo) GetArchived() bool { + if x != nil { + return x.Archived + } + return false +} + +type AdminListAccountMetricReposResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Repos []*AccountMetricRepo `protobuf:"bytes,1,rep,name=repos,proto3" json:"repos,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListAccountMetricReposResponse) Reset() { + *x = AdminListAccountMetricReposResponse{} + mi := &file_brent_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListAccountMetricReposResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListAccountMetricReposResponse) ProtoMessage() {} + +func (x *AdminListAccountMetricReposResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListAccountMetricReposResponse.ProtoReflect.Descriptor instead. +func (*AdminListAccountMetricReposResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{86} +} + +func (x *AdminListAccountMetricReposResponse) GetRepos() []*AccountMetricRepo { + if x != nil { + return x.Repos + } + return nil +} + +type AdminStartAccountMetricsComparisonRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + BeforeStart *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=before_start,json=beforeStart,proto3" json:"before_start,omitempty"` + BeforeEnd *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=before_end,json=beforeEnd,proto3" json:"before_end,omitempty"` + AfterStart *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=after_start,json=afterStart,proto3" json:"after_start,omitempty"` + AfterEnd *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=after_end,json=afterEnd,proto3" json:"after_end,omitempty"` + // Optional Linear team name. When empty, or when Linear is unavailable, the + // run continues GitHub-only and surfaces the reason in linear_status_detail. + LinearTeamName string `protobuf:"bytes,7,opt,name=linear_team_name,json=linearTeamName,proto3" json:"linear_team_name,omitempty"` + ComparisonMode MetricsComparisonMode `protobuf:"varint,8,opt,name=comparison_mode,json=comparisonMode,proto3,enum=brent.MetricsComparisonMode" json:"comparison_mode,omitempty"` + PlannedUnplannedStart *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=planned_unplanned_start,json=plannedUnplannedStart,proto3" json:"planned_unplanned_start,omitempty"` + PlannedUnplannedEnd *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=planned_unplanned_end,json=plannedUnplannedEnd,proto3" json:"planned_unplanned_end,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminStartAccountMetricsComparisonRequest) Reset() { + *x = AdminStartAccountMetricsComparisonRequest{} + mi := &file_brent_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminStartAccountMetricsComparisonRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminStartAccountMetricsComparisonRequest) ProtoMessage() {} + +func (x *AdminStartAccountMetricsComparisonRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[87] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminStartAccountMetricsComparisonRequest.ProtoReflect.Descriptor instead. +func (*AdminStartAccountMetricsComparisonRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{87} +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetBeforeStart() *timestamppb.Timestamp { + if x != nil { + return x.BeforeStart + } + return nil +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetBeforeEnd() *timestamppb.Timestamp { + if x != nil { + return x.BeforeEnd + } + return nil +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetAfterStart() *timestamppb.Timestamp { + if x != nil { + return x.AfterStart + } + return nil +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetAfterEnd() *timestamppb.Timestamp { + if x != nil { + return x.AfterEnd + } + return nil +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetLinearTeamName() string { + if x != nil { + return x.LinearTeamName + } + return "" +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetComparisonMode() MetricsComparisonMode { + if x != nil { + return x.ComparisonMode + } + return MetricsComparisonMode_METRICS_COMPARISON_MODE_UNSPECIFIED +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetPlannedUnplannedStart() *timestamppb.Timestamp { + if x != nil { + return x.PlannedUnplannedStart + } + return nil +} + +func (x *AdminStartAccountMetricsComparisonRequest) GetPlannedUnplannedEnd() *timestamppb.Timestamp { + if x != nil { + return x.PlannedUnplannedEnd + } + return nil +} + +type AdminStartAccountMetricsComparisonResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminStartAccountMetricsComparisonResponse) Reset() { + *x = AdminStartAccountMetricsComparisonResponse{} + mi := &file_brent_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminStartAccountMetricsComparisonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminStartAccountMetricsComparisonResponse) ProtoMessage() {} + +func (x *AdminStartAccountMetricsComparisonResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[88] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminStartAccountMetricsComparisonResponse.ProtoReflect.Descriptor instead. +func (*AdminStartAccountMetricsComparisonResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{88} +} + +func (x *AdminStartAccountMetricsComparisonResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type AdminGetAccountMetricsComparisonRunRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountMetricsComparisonRunRequest) Reset() { + *x = AdminGetAccountMetricsComparisonRunRequest{} + mi := &file_brent_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountMetricsComparisonRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountMetricsComparisonRunRequest) ProtoMessage() {} + +func (x *AdminGetAccountMetricsComparisonRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[89] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountMetricsComparisonRunRequest.ProtoReflect.Descriptor instead. +func (*AdminGetAccountMetricsComparisonRunRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{89} +} + +func (x *AdminGetAccountMetricsComparisonRunRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type MetricsComparisonHeadline struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Before float64 `protobuf:"fixed64,2,opt,name=before,proto3" json:"before,omitempty"` + After float64 `protobuf:"fixed64,3,opt,name=after,proto3" json:"after,omitempty"` + Fold string `protobuf:"bytes,4,opt,name=fold,proto3" json:"fold,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MetricsComparisonHeadline) Reset() { + *x = MetricsComparisonHeadline{} + mi := &file_brent_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MetricsComparisonHeadline) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricsComparisonHeadline) ProtoMessage() {} + +func (x *MetricsComparisonHeadline) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[90] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricsComparisonHeadline.ProtoReflect.Descriptor instead. +func (*MetricsComparisonHeadline) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{90} +} + +func (x *MetricsComparisonHeadline) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MetricsComparisonHeadline) GetBefore() float64 { + if x != nil { + return x.Before + } + return 0 +} + +func (x *MetricsComparisonHeadline) GetAfter() float64 { + if x != nil { + return x.After + } + return 0 +} + +func (x *MetricsComparisonHeadline) GetFold() string { + if x != nil { + return x.Fold + } + return "" +} + +// MetricsComparisonArtifact is one in-memory output from a completed account +// metrics comparison run. Names are part of the operator contract: +// before/after emits plan-left-story.html, classic-report.html, and +// comparison.json; planned-vs-unplanned emits planned-vs-unplanned-report.html +// and comparison.json. +type MetricsComparisonArtifact struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // Full artifact payload. Metrics comparison runs are temporary and keep this + // content in process memory until the run expires. + Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MetricsComparisonArtifact) Reset() { + *x = MetricsComparisonArtifact{} + mi := &file_brent_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MetricsComparisonArtifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricsComparisonArtifact) ProtoMessage() {} + +func (x *MetricsComparisonArtifact) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[91] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricsComparisonArtifact.ProtoReflect.Descriptor instead. +func (*MetricsComparisonArtifact) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{91} +} + +func (x *MetricsComparisonArtifact) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MetricsComparisonArtifact) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *MetricsComparisonArtifact) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *MetricsComparisonArtifact) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +type AdminGetAccountMetricsComparisonRunResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Stage string `protobuf:"bytes,3,opt,name=stage,proto3" json:"stage,omitempty"` + ProgressPercent int32 `protobuf:"varint,4,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"` + Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` + RepoFullName string `protobuf:"bytes,6,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + LinearStatus string `protobuf:"bytes,7,opt,name=linear_status,json=linearStatus,proto3" json:"linear_status,omitempty"` + LinearStatusDetail string `protobuf:"bytes,8,opt,name=linear_status_detail,json=linearStatusDetail,proto3" json:"linear_status_detail,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` + ReportHtml string `protobuf:"bytes,11,opt,name=report_html,json=reportHtml,proto3" json:"report_html,omitempty"` + Headline []*MetricsComparisonHeadline `protobuf:"bytes,12,rep,name=headline,proto3" json:"headline,omitempty"` + BeforeStart *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=before_start,json=beforeStart,proto3" json:"before_start,omitempty"` + BeforeEnd *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=before_end,json=beforeEnd,proto3" json:"before_end,omitempty"` + AfterStart *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=after_start,json=afterStart,proto3" json:"after_start,omitempty"` + AfterEnd *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=after_end,json=afterEnd,proto3" json:"after_end,omitempty"` + // JSON-encoded metricscompare.ComparisonBundle for operators who need the + // full structured result behind the rendered report. + ComparisonJson string `protobuf:"bytes,17,opt,name=comparison_json,json=comparisonJson,proto3" json:"comparison_json,omitempty"` + // Generated outputs from the same lookup/fetch pass. `report_html` remains + // the primary HTML report for compatibility; artifacts contains the + // mode-specific HTML report(s) plus structured JSON evidence. + Artifacts []*MetricsComparisonArtifact `protobuf:"bytes,18,rep,name=artifacts,proto3" json:"artifacts,omitempty"` + ComparisonMode MetricsComparisonMode `protobuf:"varint,19,opt,name=comparison_mode,json=comparisonMode,proto3,enum=brent.MetricsComparisonMode" json:"comparison_mode,omitempty"` + PlannedUnplannedStart *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=planned_unplanned_start,json=plannedUnplannedStart,proto3" json:"planned_unplanned_start,omitempty"` + PlannedUnplannedEnd *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=planned_unplanned_end,json=plannedUnplannedEnd,proto3" json:"planned_unplanned_end,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) Reset() { + *x = AdminGetAccountMetricsComparisonRunResponse{} + mi := &file_brent_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountMetricsComparisonRunResponse) ProtoMessage() {} + +func (x *AdminGetAccountMetricsComparisonRunResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[92] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountMetricsComparisonRunResponse.ProtoReflect.Descriptor instead. +func (*AdminGetAccountMetricsComparisonRunResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{92} +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetStage() string { + if x != nil { + return x.Stage + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetProgressPercent() int32 { + if x != nil { + return x.ProgressPercent + } + return 0 +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetLinearStatus() string { + if x != nil { + return x.LinearStatus + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetLinearStatusDetail() string { + if x != nil { + return x.LinearStatusDetail + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetReportHtml() string { + if x != nil { + return x.ReportHtml + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetHeadline() []*MetricsComparisonHeadline { + if x != nil { + return x.Headline + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetBeforeStart() *timestamppb.Timestamp { + if x != nil { + return x.BeforeStart + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetBeforeEnd() *timestamppb.Timestamp { + if x != nil { + return x.BeforeEnd + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetAfterStart() *timestamppb.Timestamp { + if x != nil { + return x.AfterStart + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetAfterEnd() *timestamppb.Timestamp { + if x != nil { + return x.AfterEnd + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetComparisonJson() string { + if x != nil { + return x.ComparisonJson + } + return "" +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetArtifacts() []*MetricsComparisonArtifact { + if x != nil { + return x.Artifacts + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetComparisonMode() MetricsComparisonMode { + if x != nil { + return x.ComparisonMode + } + return MetricsComparisonMode_METRICS_COMPARISON_MODE_UNSPECIFIED +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetPlannedUnplannedStart() *timestamppb.Timestamp { + if x != nil { + return x.PlannedUnplannedStart + } + return nil +} + +func (x *AdminGetAccountMetricsComparisonRunResponse) GetPlannedUnplannedEnd() *timestamppb.Timestamp { + if x != nil { + return x.PlannedUnplannedEnd + } + return nil +} + +// Event is the typed in-memory dispatch envelope. +type Event struct { + state protoimpl.MessageState `protogen:"open.v1"` + // event_id is a UUID assigned by the producer at WriteEvent time. + // Used for OTel span attributes and log correlation across the + // producer transaction and the synchronous Listener call. Not + // persisted in mandatory scope. + EventId string `protobuf:"bytes,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + // Domain time when the underlying action occurred in the source system + // (e.g. GitHub submitted_at, Linear webhookTimestamp). Replay and audit + // ordering use this field. When unset at write time, Brent sets it to + // received_at (internal events). + OccurredAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` + // The owning tenant. The workflows.Enqueuer's per-account SELECT + // on the workflows table keys off this. Required on every Event. + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // Who or what caused the event to occur. + Actor *Actor `protobuf:"bytes,4,opt,name=actor,proto3" json:"actor,omitempty"` + // The domain object the event is about. Optional because some events + // (e.g. raw GitHub webhooks not yet attached to a Brent object) are + // not bound to a specific Brent domain object. + Object *ObjectReference `protobuf:"bytes,5,opt,name=object,proto3,oneof" json:"object,omitempty"` + // ENG-4919: the repository this event is about, as a canonical full URL + // (https://github.com/owner/repo). Empty = no repo affinity (account-wide). + SourceRepoUrl *string `protobuf:"bytes,6,opt,name=source_repo_url,json=sourceRepoUrl,proto3,oneof" json:"source_repo_url,omitempty"` + // ENG-5296: W3C trace correlation stamped from the active span at AdminWriteEvent. + TraceId *string `protobuf:"bytes,7,opt,name=trace_id,json=traceId,proto3,oneof" json:"trace_id,omitempty"` + SpanId *string `protobuf:"bytes,8,opt,name=span_id,json=spanId,proto3,oneof" json:"span_id,omitempty"` + // Operator-only Honeycomb direct-trace URL built at write time for Area51. + HoneycombTraceUrl *string `protobuf:"bytes,9,opt,name=honeycomb_trace_url,json=honeycombTraceUrl,proto3,oneof" json:"honeycomb_trace_url,omitempty"` + // Brent ingest time — when AdminWriteEvent accepted the event. Always set + // to wall-clock now at write time. Field 72 (not 7) because ENG-5296 trace + // correlation occupies 7–9 on the same message. + ReceivedAt *timestamppb.Timestamp `protobuf:"bytes,72,opt,name=received_at,json=receivedAt,proto3" json:"received_at,omitempty"` + // The event-specific payload. The proto message name of the populated + // variant doubles as the event type that workflows match on (e.g. + // `on: PlanCreated` or `on: OtherEvent` in workflow YAML front matter). + // + // Types that are valid to be assigned to Payload: + // + // *Event_PlanCreated + // *Event_PlanUpdated + // *Event_PlanDeleted + // *Event_ReviewRequested + // *Event_ReviewSubmitted + // *Event_Other + // *Event_GithubWebhook + // *Event_SlackMention + // *Event_SlackReaction + // *Event_PullRequestOpened + // *Event_PullRequestSynchronized + // *Event_PullRequestUpdated + // *Event_PullRequestClosed + // *Event_PullRequestLinkedToPlan + // *Event_PullRequestUnlinkedFromPlan + // *Event_OrganisationAppInstallationUpserted + // *Event_OrganisationAppInstallationDeleted + // *Event_DeviationAnalysisStarted + // *Event_DeviationAnalysisCompleted + // *Event_DeviationAnalysisFailed + // *Event_WorkflowRunQueued + // *Event_WorkflowRunStarted + // *Event_WorkflowRunCompleted + // *Event_WorkflowRunFailed + // *Event_WorkflowRunCancelled + // *Event_ReviewNoEligibleReviewer + // *Event_PrincipalCreated + // *Event_PrincipalUpdated + // *Event_PrincipalTombstoned + // *Event_IdentityCreated + // *Event_IdentityDeleted + // *Event_BindingCreated + // *Event_BindingUpdated + // *Event_BindingDeleted + // *Event_ReviewDriveByStarted + // *Event_SlackWebhook + // *Event_ReviewDeleted + // *Event_PlanRestored + // *Event_LinearWebhook + // *Event_PullRequestCommentCreated + // *Event_DeviationFindingRecorded + // *Event_DeviationFindingUpdated + // *Event_DeviationFindingResolved + // *Event_AgentRunDispatched + // *Event_AgentRunStarted + // *Event_AgentRunPullRequestMatched + // *Event_AgentRunFlaggedNeedsYou + // *Event_AgentRunMerged + // *Event_AgentRunDeclined + // *Event_AgentRunCancelled + // *Event_AgentRunGatePassed + // *Event_PullRequestLinkedToAgentRun + // *Event_WorkflowIngested + // *Event_PullRequestReviewRequested + // *Event_PullRequestApproved + // *Event_PullRequestChangesRequested + // *Event_PullRequestReviewDismissed + // *Event_CredentialConnected + // *Event_CredentialRevoked + // *Event_AgentRunAnnotated + // *Event_WorkspaceCreated + // *Event_McpGrantWorkspaceBindingChanged + // *Event_WorkspaceOnboardingCompleted + // *Event_WorkspaceRenamed + // *Event_WorkspaceDeleted + // *Event_ApprovedEmailDomainAdded + // *Event_ApprovedEmailDomainVerified + // *Event_ApprovedEmailDomainDeleted + // *Event_GitlabWebhook + // *Event_WorkspaceLlmCredentialConnected + // *Event_WorkspaceLlmCredentialRevoked + // *Event_BitbucketWebhook + // *Event_WorkspaceMemberJoined + // *Event_WorkspaceMemberLeft + // *Event_ComposioTriggerMessage + // *Event_DeviationFindingAcknowledged + // *Event_DeviationFindingAcknowledgementCleared + // *Event_PlanReviewPolicyDecided + // *Event_UnknownStoredPayload + Payload isEvent_Payload `protobuf_oneof:"payload"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Event) Reset() { + *x = Event{} + mi := &file_brent_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Event) ProtoMessage() {} + +func (x *Event) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Event.ProtoReflect.Descriptor instead. +func (*Event) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{93} +} + +func (x *Event) GetEventId() string { + if x != nil { + return x.EventId + } + return "" +} + +func (x *Event) GetOccurredAt() *timestamppb.Timestamp { + if x != nil { + return x.OccurredAt + } + return nil +} + +func (x *Event) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *Event) GetActor() *Actor { + if x != nil { + return x.Actor + } + return nil +} + +func (x *Event) GetObject() *ObjectReference { + if x != nil { + return x.Object + } + return nil +} + +func (x *Event) GetSourceRepoUrl() string { + if x != nil && x.SourceRepoUrl != nil { + return *x.SourceRepoUrl + } + return "" +} + +func (x *Event) GetTraceId() string { + if x != nil && x.TraceId != nil { + return *x.TraceId + } + return "" +} + +func (x *Event) GetSpanId() string { + if x != nil && x.SpanId != nil { + return *x.SpanId + } + return "" +} + +func (x *Event) GetHoneycombTraceUrl() string { + if x != nil && x.HoneycombTraceUrl != nil { + return *x.HoneycombTraceUrl + } + return "" +} + +func (x *Event) GetReceivedAt() *timestamppb.Timestamp { + if x != nil { + return x.ReceivedAt + } + return nil +} + +func (x *Event) GetPayload() isEvent_Payload { + if x != nil { + return x.Payload + } + return nil +} + +func (x *Event) GetPlanCreated() *PlanCreated { + if x != nil { + if x, ok := x.Payload.(*Event_PlanCreated); ok { + return x.PlanCreated + } + } + return nil +} + +func (x *Event) GetPlanUpdated() *PlanUpdated { + if x != nil { + if x, ok := x.Payload.(*Event_PlanUpdated); ok { + return x.PlanUpdated + } + } + return nil +} + +func (x *Event) GetPlanDeleted() *PlanDeleted { + if x != nil { + if x, ok := x.Payload.(*Event_PlanDeleted); ok { + return x.PlanDeleted + } + } + return nil +} + +func (x *Event) GetReviewRequested() *ReviewRequested { + if x != nil { + if x, ok := x.Payload.(*Event_ReviewRequested); ok { + return x.ReviewRequested + } + } + return nil +} + +func (x *Event) GetReviewSubmitted() *ReviewSubmitted { + if x != nil { + if x, ok := x.Payload.(*Event_ReviewSubmitted); ok { + return x.ReviewSubmitted + } + } + return nil +} + +func (x *Event) GetOther() *OtherEvent { + if x != nil { + if x, ok := x.Payload.(*Event_Other); ok { + return x.Other + } + } + return nil +} + +func (x *Event) GetGithubWebhook() *GitHubWebhook { + if x != nil { + if x, ok := x.Payload.(*Event_GithubWebhook); ok { + return x.GithubWebhook + } + } + return nil +} + +func (x *Event) GetSlackMention() *SlackMentionReceived { + if x != nil { + if x, ok := x.Payload.(*Event_SlackMention); ok { + return x.SlackMention + } + } + return nil +} + +func (x *Event) GetSlackReaction() *SlackReactionAdded { + if x != nil { + if x, ok := x.Payload.(*Event_SlackReaction); ok { + return x.SlackReaction + } + } + return nil +} + +func (x *Event) GetPullRequestOpened() *PullRequestOpened { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestOpened); ok { + return x.PullRequestOpened + } + } + return nil +} + +func (x *Event) GetPullRequestSynchronized() *PullRequestSynchronized { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestSynchronized); ok { + return x.PullRequestSynchronized + } + } + return nil +} + +func (x *Event) GetPullRequestUpdated() *PullRequestUpdated { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestUpdated); ok { + return x.PullRequestUpdated + } + } + return nil +} + +func (x *Event) GetPullRequestClosed() *PullRequestClosed { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestClosed); ok { + return x.PullRequestClosed + } + } + return nil +} + +func (x *Event) GetPullRequestLinkedToPlan() *PullRequestLinkedToPlan { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestLinkedToPlan); ok { + return x.PullRequestLinkedToPlan + } + } + return nil +} + +func (x *Event) GetPullRequestUnlinkedFromPlan() *PullRequestUnlinkedFromPlan { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestUnlinkedFromPlan); ok { + return x.PullRequestUnlinkedFromPlan + } + } + return nil +} + +func (x *Event) GetOrganisationAppInstallationUpserted() *OrganisationAppInstallationUpserted { + if x != nil { + if x, ok := x.Payload.(*Event_OrganisationAppInstallationUpserted); ok { + return x.OrganisationAppInstallationUpserted + } + } + return nil +} + +func (x *Event) GetOrganisationAppInstallationDeleted() *OrganisationAppInstallationDeleted { + if x != nil { + if x, ok := x.Payload.(*Event_OrganisationAppInstallationDeleted); ok { + return x.OrganisationAppInstallationDeleted + } + } + return nil +} + +func (x *Event) GetDeviationAnalysisStarted() *DeviationAnalysisStarted { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationAnalysisStarted); ok { + return x.DeviationAnalysisStarted + } + } + return nil +} + +func (x *Event) GetDeviationAnalysisCompleted() *DeviationAnalysisCompleted { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationAnalysisCompleted); ok { + return x.DeviationAnalysisCompleted + } + } + return nil +} + +func (x *Event) GetDeviationAnalysisFailed() *DeviationAnalysisFailed { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationAnalysisFailed); ok { + return x.DeviationAnalysisFailed + } + } + return nil +} + +func (x *Event) GetWorkflowRunQueued() *WorkflowRunQueued { + if x != nil { + if x, ok := x.Payload.(*Event_WorkflowRunQueued); ok { + return x.WorkflowRunQueued + } + } + return nil +} + +func (x *Event) GetWorkflowRunStarted() *WorkflowRunStarted { + if x != nil { + if x, ok := x.Payload.(*Event_WorkflowRunStarted); ok { + return x.WorkflowRunStarted + } + } + return nil +} + +func (x *Event) GetWorkflowRunCompleted() *WorkflowRunCompleted { + if x != nil { + if x, ok := x.Payload.(*Event_WorkflowRunCompleted); ok { + return x.WorkflowRunCompleted + } + } + return nil +} + +func (x *Event) GetWorkflowRunFailed() *WorkflowRunFailed { + if x != nil { + if x, ok := x.Payload.(*Event_WorkflowRunFailed); ok { + return x.WorkflowRunFailed + } + } + return nil +} + +func (x *Event) GetWorkflowRunCancelled() *WorkflowRunCancelled { + if x != nil { + if x, ok := x.Payload.(*Event_WorkflowRunCancelled); ok { + return x.WorkflowRunCancelled + } + } + return nil +} + +func (x *Event) GetReviewNoEligibleReviewer() *ReviewNoEligibleReviewer { + if x != nil { + if x, ok := x.Payload.(*Event_ReviewNoEligibleReviewer); ok { + return x.ReviewNoEligibleReviewer + } + } + return nil +} + +func (x *Event) GetPrincipalCreated() *PrincipalCreated { + if x != nil { + if x, ok := x.Payload.(*Event_PrincipalCreated); ok { + return x.PrincipalCreated + } + } + return nil +} + +func (x *Event) GetPrincipalUpdated() *PrincipalUpdated { + if x != nil { + if x, ok := x.Payload.(*Event_PrincipalUpdated); ok { + return x.PrincipalUpdated + } + } + return nil +} + +func (x *Event) GetPrincipalTombstoned() *PrincipalTombstoned { + if x != nil { + if x, ok := x.Payload.(*Event_PrincipalTombstoned); ok { + return x.PrincipalTombstoned + } + } + return nil +} + +func (x *Event) GetIdentityCreated() *IdentityCreated { + if x != nil { + if x, ok := x.Payload.(*Event_IdentityCreated); ok { + return x.IdentityCreated + } + } + return nil +} + +func (x *Event) GetIdentityDeleted() *IdentityDeleted { + if x != nil { + if x, ok := x.Payload.(*Event_IdentityDeleted); ok { + return x.IdentityDeleted + } + } + return nil +} + +func (x *Event) GetBindingCreated() *BindingCreated { + if x != nil { + if x, ok := x.Payload.(*Event_BindingCreated); ok { + return x.BindingCreated + } + } + return nil +} + +func (x *Event) GetBindingUpdated() *BindingUpdated { + if x != nil { + if x, ok := x.Payload.(*Event_BindingUpdated); ok { + return x.BindingUpdated + } + } + return nil +} + +func (x *Event) GetBindingDeleted() *BindingDeleted { + if x != nil { + if x, ok := x.Payload.(*Event_BindingDeleted); ok { + return x.BindingDeleted + } + } + return nil +} + +func (x *Event) GetReviewDriveByStarted() *ReviewDriveByStarted { + if x != nil { + if x, ok := x.Payload.(*Event_ReviewDriveByStarted); ok { + return x.ReviewDriveByStarted + } + } + return nil +} + +func (x *Event) GetSlackWebhook() *SlackWebhook { + if x != nil { + if x, ok := x.Payload.(*Event_SlackWebhook); ok { + return x.SlackWebhook + } + } + return nil +} + +func (x *Event) GetReviewDeleted() *ReviewDeleted { + if x != nil { + if x, ok := x.Payload.(*Event_ReviewDeleted); ok { + return x.ReviewDeleted + } + } + return nil +} + +func (x *Event) GetPlanRestored() *PlanRestored { + if x != nil { + if x, ok := x.Payload.(*Event_PlanRestored); ok { + return x.PlanRestored + } + } + return nil +} + +func (x *Event) GetLinearWebhook() *LinearWebhook { + if x != nil { + if x, ok := x.Payload.(*Event_LinearWebhook); ok { + return x.LinearWebhook + } + } + return nil +} + +func (x *Event) GetPullRequestCommentCreated() *PullRequestCommentCreated { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestCommentCreated); ok { + return x.PullRequestCommentCreated + } + } + return nil +} + +func (x *Event) GetDeviationFindingRecorded() *DeviationFindingRecorded { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationFindingRecorded); ok { + return x.DeviationFindingRecorded + } + } + return nil +} + +func (x *Event) GetDeviationFindingUpdated() *DeviationFindingUpdated { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationFindingUpdated); ok { + return x.DeviationFindingUpdated + } + } + return nil +} + +func (x *Event) GetDeviationFindingResolved() *DeviationFindingResolved { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationFindingResolved); ok { + return x.DeviationFindingResolved + } + } + return nil +} + +func (x *Event) GetAgentRunDispatched() *AgentRunDispatched { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunDispatched); ok { + return x.AgentRunDispatched + } + } + return nil +} + +func (x *Event) GetAgentRunStarted() *AgentRunStarted { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunStarted); ok { + return x.AgentRunStarted + } + } + return nil +} + +func (x *Event) GetAgentRunPullRequestMatched() *AgentRunPullRequestMatched { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunPullRequestMatched); ok { + return x.AgentRunPullRequestMatched + } + } + return nil +} + +func (x *Event) GetAgentRunFlaggedNeedsYou() *AgentRunFlaggedNeedsYou { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunFlaggedNeedsYou); ok { + return x.AgentRunFlaggedNeedsYou + } + } + return nil +} + +func (x *Event) GetAgentRunMerged() *AgentRunMerged { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunMerged); ok { + return x.AgentRunMerged + } + } + return nil +} + +func (x *Event) GetAgentRunDeclined() *AgentRunDeclined { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunDeclined); ok { + return x.AgentRunDeclined + } + } + return nil +} + +func (x *Event) GetAgentRunCancelled() *AgentRunCancelled { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunCancelled); ok { + return x.AgentRunCancelled + } + } + return nil +} + +func (x *Event) GetAgentRunGatePassed() *AgentRunGatePassed { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunGatePassed); ok { + return x.AgentRunGatePassed + } + } + return nil +} + +func (x *Event) GetPullRequestLinkedToAgentRun() *PullRequestLinkedToAgentRun { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestLinkedToAgentRun); ok { + return x.PullRequestLinkedToAgentRun + } + } + return nil +} + +func (x *Event) GetWorkflowIngested() *WorkflowIngested { + if x != nil { + if x, ok := x.Payload.(*Event_WorkflowIngested); ok { + return x.WorkflowIngested + } + } + return nil +} + +func (x *Event) GetPullRequestReviewRequested() *PullRequestReviewRequested { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestReviewRequested); ok { + return x.PullRequestReviewRequested + } + } + return nil +} + +func (x *Event) GetPullRequestApproved() *PullRequestApproved { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestApproved); ok { + return x.PullRequestApproved + } + } + return nil +} + +func (x *Event) GetPullRequestChangesRequested() *PullRequestChangesRequested { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestChangesRequested); ok { + return x.PullRequestChangesRequested + } + } + return nil +} + +func (x *Event) GetPullRequestReviewDismissed() *PullRequestReviewDismissed { + if x != nil { + if x, ok := x.Payload.(*Event_PullRequestReviewDismissed); ok { + return x.PullRequestReviewDismissed + } + } + return nil +} + +func (x *Event) GetCredentialConnected() *CredentialConnected { + if x != nil { + if x, ok := x.Payload.(*Event_CredentialConnected); ok { + return x.CredentialConnected + } + } + return nil +} + +func (x *Event) GetCredentialRevoked() *CredentialRevoked { + if x != nil { + if x, ok := x.Payload.(*Event_CredentialRevoked); ok { + return x.CredentialRevoked + } + } + return nil +} + +func (x *Event) GetAgentRunAnnotated() *AgentRunAnnotated { + if x != nil { + if x, ok := x.Payload.(*Event_AgentRunAnnotated); ok { + return x.AgentRunAnnotated + } + } + return nil +} + +func (x *Event) GetWorkspaceCreated() *WorkspaceCreated { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceCreated); ok { + return x.WorkspaceCreated + } + } + return nil +} + +func (x *Event) GetMcpGrantWorkspaceBindingChanged() *MCPGrantWorkspaceBindingChanged { + if x != nil { + if x, ok := x.Payload.(*Event_McpGrantWorkspaceBindingChanged); ok { + return x.McpGrantWorkspaceBindingChanged + } + } + return nil +} + +func (x *Event) GetWorkspaceOnboardingCompleted() *WorkspaceOnboardingCompleted { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceOnboardingCompleted); ok { + return x.WorkspaceOnboardingCompleted + } + } + return nil +} + +func (x *Event) GetWorkspaceRenamed() *WorkspaceRenamed { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceRenamed); ok { + return x.WorkspaceRenamed + } + } + return nil +} + +func (x *Event) GetWorkspaceDeleted() *WorkspaceDeleted { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceDeleted); ok { + return x.WorkspaceDeleted + } + } + return nil +} + +func (x *Event) GetApprovedEmailDomainAdded() *ApprovedEmailDomainAdded { + if x != nil { + if x, ok := x.Payload.(*Event_ApprovedEmailDomainAdded); ok { + return x.ApprovedEmailDomainAdded + } + } + return nil +} + +func (x *Event) GetApprovedEmailDomainVerified() *ApprovedEmailDomainVerified { + if x != nil { + if x, ok := x.Payload.(*Event_ApprovedEmailDomainVerified); ok { + return x.ApprovedEmailDomainVerified + } + } + return nil +} + +func (x *Event) GetApprovedEmailDomainDeleted() *ApprovedEmailDomainDeleted { + if x != nil { + if x, ok := x.Payload.(*Event_ApprovedEmailDomainDeleted); ok { + return x.ApprovedEmailDomainDeleted + } + } + return nil +} + +func (x *Event) GetGitlabWebhook() *GitLabWebhook { + if x != nil { + if x, ok := x.Payload.(*Event_GitlabWebhook); ok { + return x.GitlabWebhook + } + } + return nil +} + +func (x *Event) GetWorkspaceLlmCredentialConnected() *WorkspaceLLMCredentialConnected { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceLlmCredentialConnected); ok { + return x.WorkspaceLlmCredentialConnected + } + } + return nil +} + +func (x *Event) GetWorkspaceLlmCredentialRevoked() *WorkspaceLLMCredentialRevoked { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceLlmCredentialRevoked); ok { + return x.WorkspaceLlmCredentialRevoked + } + } + return nil +} + +func (x *Event) GetBitbucketWebhook() *BitbucketWebhook { + if x != nil { + if x, ok := x.Payload.(*Event_BitbucketWebhook); ok { + return x.BitbucketWebhook + } + } + return nil +} + +func (x *Event) GetWorkspaceMemberJoined() *WorkspaceMemberJoined { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceMemberJoined); ok { + return x.WorkspaceMemberJoined + } + } + return nil +} + +func (x *Event) GetWorkspaceMemberLeft() *WorkspaceMemberLeft { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceMemberLeft); ok { + return x.WorkspaceMemberLeft + } + } + return nil +} + +func (x *Event) GetComposioTriggerMessage() *ComposioTriggerMessage { + if x != nil { + if x, ok := x.Payload.(*Event_ComposioTriggerMessage); ok { + return x.ComposioTriggerMessage + } + } + return nil +} + +func (x *Event) GetDeviationFindingAcknowledged() *DeviationFindingAcknowledged { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationFindingAcknowledged); ok { + return x.DeviationFindingAcknowledged + } + } + return nil +} + +func (x *Event) GetDeviationFindingAcknowledgementCleared() *DeviationFindingAcknowledgementCleared { + if x != nil { + if x, ok := x.Payload.(*Event_DeviationFindingAcknowledgementCleared); ok { + return x.DeviationFindingAcknowledgementCleared + } + } + return nil +} + +func (x *Event) GetPlanReviewPolicyDecided() *PlanReviewPolicyDecided { + if x != nil { + if x, ok := x.Payload.(*Event_PlanReviewPolicyDecided); ok { + return x.PlanReviewPolicyDecided + } + } + return nil +} + +func (x *Event) GetUnknownStoredPayload() *UnknownStoredPayload { + if x != nil { + if x, ok := x.Payload.(*Event_UnknownStoredPayload); ok { + return x.UnknownStoredPayload + } + } + return nil +} + +type isEvent_Payload interface { + isEvent_Payload() +} + +type Event_PlanCreated struct { + PlanCreated *PlanCreated `protobuf:"bytes,10,opt,name=plan_created,json=planCreated,proto3,oneof"` +} + +type Event_PlanUpdated struct { + PlanUpdated *PlanUpdated `protobuf:"bytes,11,opt,name=plan_updated,json=planUpdated,proto3,oneof"` +} + +type Event_PlanDeleted struct { + PlanDeleted *PlanDeleted `protobuf:"bytes,12,opt,name=plan_deleted,json=planDeleted,proto3,oneof"` +} + +type Event_ReviewRequested struct { + ReviewRequested *ReviewRequested `protobuf:"bytes,13,opt,name=review_requested,json=reviewRequested,proto3,oneof"` +} + +type Event_ReviewSubmitted struct { + ReviewSubmitted *ReviewSubmitted `protobuf:"bytes,14,opt,name=review_submitted,json=reviewSubmitted,proto3,oneof"` +} + +type Event_Other struct { + Other *OtherEvent `protobuf:"bytes,15,opt,name=other,proto3,oneof"` +} + +type Event_GithubWebhook struct { + GithubWebhook *GitHubWebhook `protobuf:"bytes,16,opt,name=github_webhook,json=githubWebhook,proto3,oneof"` +} + +type Event_SlackMention struct { + SlackMention *SlackMentionReceived `protobuf:"bytes,17,opt,name=slack_mention,json=slackMention,proto3,oneof"` +} + +type Event_SlackReaction struct { + SlackReaction *SlackReactionAdded `protobuf:"bytes,18,opt,name=slack_reaction,json=slackReaction,proto3,oneof"` +} + +type Event_PullRequestOpened struct { + PullRequestOpened *PullRequestOpened `protobuf:"bytes,19,opt,name=pull_request_opened,json=pullRequestOpened,proto3,oneof"` +} + +type Event_PullRequestSynchronized struct { + PullRequestSynchronized *PullRequestSynchronized `protobuf:"bytes,20,opt,name=pull_request_synchronized,json=pullRequestSynchronized,proto3,oneof"` +} + +type Event_PullRequestUpdated struct { + PullRequestUpdated *PullRequestUpdated `protobuf:"bytes,21,opt,name=pull_request_updated,json=pullRequestUpdated,proto3,oneof"` +} + +type Event_PullRequestClosed struct { + PullRequestClosed *PullRequestClosed `protobuf:"bytes,22,opt,name=pull_request_closed,json=pullRequestClosed,proto3,oneof"` +} + +type Event_PullRequestLinkedToPlan struct { + PullRequestLinkedToPlan *PullRequestLinkedToPlan `protobuf:"bytes,23,opt,name=pull_request_linked_to_plan,json=pullRequestLinkedToPlan,proto3,oneof"` +} + +type Event_PullRequestUnlinkedFromPlan struct { + PullRequestUnlinkedFromPlan *PullRequestUnlinkedFromPlan `protobuf:"bytes,24,opt,name=pull_request_unlinked_from_plan,json=pullRequestUnlinkedFromPlan,proto3,oneof"` +} + +type Event_OrganisationAppInstallationUpserted struct { + OrganisationAppInstallationUpserted *OrganisationAppInstallationUpserted `protobuf:"bytes,25,opt,name=organisation_app_installation_upserted,json=organisationAppInstallationUpserted,proto3,oneof"` +} + +type Event_OrganisationAppInstallationDeleted struct { + OrganisationAppInstallationDeleted *OrganisationAppInstallationDeleted `protobuf:"bytes,26,opt,name=organisation_app_installation_deleted,json=organisationAppInstallationDeleted,proto3,oneof"` +} + +type Event_DeviationAnalysisStarted struct { + DeviationAnalysisStarted *DeviationAnalysisStarted `protobuf:"bytes,27,opt,name=deviation_analysis_started,json=deviationAnalysisStarted,proto3,oneof"` +} + +type Event_DeviationAnalysisCompleted struct { + DeviationAnalysisCompleted *DeviationAnalysisCompleted `protobuf:"bytes,28,opt,name=deviation_analysis_completed,json=deviationAnalysisCompleted,proto3,oneof"` +} + +type Event_DeviationAnalysisFailed struct { + DeviationAnalysisFailed *DeviationAnalysisFailed `protobuf:"bytes,29,opt,name=deviation_analysis_failed,json=deviationAnalysisFailed,proto3,oneof"` +} + +type Event_WorkflowRunQueued struct { + WorkflowRunQueued *WorkflowRunQueued `protobuf:"bytes,30,opt,name=workflow_run_queued,json=workflowRunQueued,proto3,oneof"` +} + +type Event_WorkflowRunStarted struct { + WorkflowRunStarted *WorkflowRunStarted `protobuf:"bytes,31,opt,name=workflow_run_started,json=workflowRunStarted,proto3,oneof"` +} + +type Event_WorkflowRunCompleted struct { + WorkflowRunCompleted *WorkflowRunCompleted `protobuf:"bytes,32,opt,name=workflow_run_completed,json=workflowRunCompleted,proto3,oneof"` +} + +type Event_WorkflowRunFailed struct { + WorkflowRunFailed *WorkflowRunFailed `protobuf:"bytes,33,opt,name=workflow_run_failed,json=workflowRunFailed,proto3,oneof"` +} + +type Event_WorkflowRunCancelled struct { + WorkflowRunCancelled *WorkflowRunCancelled `protobuf:"bytes,34,opt,name=workflow_run_cancelled,json=workflowRunCancelled,proto3,oneof"` +} + +type Event_ReviewNoEligibleReviewer struct { + ReviewNoEligibleReviewer *ReviewNoEligibleReviewer `protobuf:"bytes,35,opt,name=review_no_eligible_reviewer,json=reviewNoEligibleReviewer,proto3,oneof"` +} + +type Event_PrincipalCreated struct { + // Principal lifecycle (Phase 1.7 / ENG-4318). + PrincipalCreated *PrincipalCreated `protobuf:"bytes,36,opt,name=principal_created,json=principalCreated,proto3,oneof"` +} + +type Event_PrincipalUpdated struct { + PrincipalUpdated *PrincipalUpdated `protobuf:"bytes,37,opt,name=principal_updated,json=principalUpdated,proto3,oneof"` +} + +type Event_PrincipalTombstoned struct { + PrincipalTombstoned *PrincipalTombstoned `protobuf:"bytes,38,opt,name=principal_tombstoned,json=principalTombstoned,proto3,oneof"` +} + +type Event_IdentityCreated struct { + // Identity lifecycle (Phase 1.7 / ENG-4318). + IdentityCreated *IdentityCreated `protobuf:"bytes,39,opt,name=identity_created,json=identityCreated,proto3,oneof"` +} + +type Event_IdentityDeleted struct { + IdentityDeleted *IdentityDeleted `protobuf:"bytes,40,opt,name=identity_deleted,json=identityDeleted,proto3,oneof"` +} + +type Event_BindingCreated struct { + // Binding lifecycle (Phase 1.7 / ENG-4318). + BindingCreated *BindingCreated `protobuf:"bytes,41,opt,name=binding_created,json=bindingCreated,proto3,oneof"` +} + +type Event_BindingUpdated struct { + BindingUpdated *BindingUpdated `protobuf:"bytes,42,opt,name=binding_updated,json=bindingUpdated,proto3,oneof"` +} + +type Event_BindingDeleted struct { + BindingDeleted *BindingDeleted `protobuf:"bytes,43,opt,name=binding_deleted,json=bindingDeleted,proto3,oneof"` +} + +type Event_ReviewDriveByStarted struct { + // Drive-by review attribution (Phase 1.7 / ENG-4318, D2). + // Replaces the ReviewRequested emission in submit_review.go's + // drive-by branch; ReviewRequested continues to fire on the + // request-time-assignment path. + ReviewDriveByStarted *ReviewDriveByStarted `protobuf:"bytes,44,opt,name=review_drive_by_started,json=reviewDriveByStarted,proto3,oneof"` +} + +type Event_SlackWebhook struct { + // SlackWebhook carries every Slack Events API delivery whose team_id + // resolves to a Brent account via organisation_app_installations. + // Unmapped teams fall through to the legacy translator path instead. + SlackWebhook *SlackWebhook `protobuf:"bytes,45,opt,name=slack_webhook,json=slackWebhook,proto3,oneof"` +} + +type Event_ReviewDeleted struct { + ReviewDeleted *ReviewDeleted `protobuf:"bytes,46,opt,name=review_deleted,json=reviewDeleted,proto3,oneof"` +} + +type Event_PlanRestored struct { + PlanRestored *PlanRestored `protobuf:"bytes,47,opt,name=plan_restored,json=planRestored,proto3,oneof"` +} + +type Event_LinearWebhook struct { + // LinearWebhook carries every Linear webhook delivery whose + // organizationId resolves to a Brent account via + // organisation_app_installations. PermissionChange/teamAccessChanged + // is audit-logged by the lifecycle listener; OAuthApp/revoked + // triggers install + token row deletion inside the producer tx. + LinearWebhook *LinearWebhook `protobuf:"bytes,48,opt,name=linear_webhook,json=linearWebhook,proto3,oneof"` +} + +type Event_PullRequestCommentCreated struct { + PullRequestCommentCreated *PullRequestCommentCreated `protobuf:"bytes,49,opt,name=pull_request_comment_created,json=pullRequestCommentCreated,proto3,oneof"` +} + +type Event_DeviationFindingRecorded struct { + DeviationFindingRecorded *DeviationFindingRecorded `protobuf:"bytes,50,opt,name=deviation_finding_recorded,json=deviationFindingRecorded,proto3,oneof"` +} + +type Event_DeviationFindingUpdated struct { + DeviationFindingUpdated *DeviationFindingUpdated `protobuf:"bytes,51,opt,name=deviation_finding_updated,json=deviationFindingUpdated,proto3,oneof"` +} + +type Event_DeviationFindingResolved struct { + DeviationFindingResolved *DeviationFindingResolved `protobuf:"bytes,52,opt,name=deviation_finding_resolved,json=deviationFindingResolved,proto3,oneof"` +} + +type Event_AgentRunDispatched struct { + AgentRunDispatched *AgentRunDispatched `protobuf:"bytes,53,opt,name=agent_run_dispatched,json=agentRunDispatched,proto3,oneof"` +} + +type Event_AgentRunStarted struct { + AgentRunStarted *AgentRunStarted `protobuf:"bytes,54,opt,name=agent_run_started,json=agentRunStarted,proto3,oneof"` +} + +type Event_AgentRunPullRequestMatched struct { + AgentRunPullRequestMatched *AgentRunPullRequestMatched `protobuf:"bytes,55,opt,name=agent_run_pull_request_matched,json=agentRunPullRequestMatched,proto3,oneof"` +} + +type Event_AgentRunFlaggedNeedsYou struct { + AgentRunFlaggedNeedsYou *AgentRunFlaggedNeedsYou `protobuf:"bytes,56,opt,name=agent_run_flagged_needs_you,json=agentRunFlaggedNeedsYou,proto3,oneof"` +} + +type Event_AgentRunMerged struct { + AgentRunMerged *AgentRunMerged `protobuf:"bytes,57,opt,name=agent_run_merged,json=agentRunMerged,proto3,oneof"` +} + +type Event_AgentRunDeclined struct { + AgentRunDeclined *AgentRunDeclined `protobuf:"bytes,58,opt,name=agent_run_declined,json=agentRunDeclined,proto3,oneof"` +} + +type Event_AgentRunCancelled struct { + AgentRunCancelled *AgentRunCancelled `protobuf:"bytes,59,opt,name=agent_run_cancelled,json=agentRunCancelled,proto3,oneof"` +} + +type Event_AgentRunGatePassed struct { + AgentRunGatePassed *AgentRunGatePassed `protobuf:"bytes,74,opt,name=agent_run_gate_passed,json=agentRunGatePassed,proto3,oneof"` +} + +type Event_PullRequestLinkedToAgentRun struct { + PullRequestLinkedToAgentRun *PullRequestLinkedToAgentRun `protobuf:"bytes,60,opt,name=pull_request_linked_to_agent_run,json=pullRequestLinkedToAgentRun,proto3,oneof"` +} + +type Event_WorkflowIngested struct { + // WorkflowIngested records the outcome of ingesting one + // .brent/workflows/*.md file. Internal audit trail only — must not + // appear in customer workflow on: docs (no workflow should match it). + WorkflowIngested *WorkflowIngested `protobuf:"bytes,61,opt,name=workflow_ingested,json=workflowIngested,proto3,oneof"` +} + +type Event_PullRequestReviewRequested struct { + PullRequestReviewRequested *PullRequestReviewRequested `protobuf:"bytes,63,opt,name=pull_request_review_requested,json=pullRequestReviewRequested,proto3,oneof"` +} + +type Event_PullRequestApproved struct { + PullRequestApproved *PullRequestApproved `protobuf:"bytes,64,opt,name=pull_request_approved,json=pullRequestApproved,proto3,oneof"` +} + +type Event_PullRequestChangesRequested struct { + PullRequestChangesRequested *PullRequestChangesRequested `protobuf:"bytes,65,opt,name=pull_request_changes_requested,json=pullRequestChangesRequested,proto3,oneof"` +} + +type Event_PullRequestReviewDismissed struct { + PullRequestReviewDismissed *PullRequestReviewDismissed `protobuf:"bytes,66,opt,name=pull_request_review_dismissed,json=pullRequestReviewDismissed,proto3,oneof"` +} + +type Event_CredentialConnected struct { + // Per-principal integration credentials (BRENT-358). + CredentialConnected *CredentialConnected `protobuf:"bytes,67,opt,name=credential_connected,json=credentialConnected,proto3,oneof"` +} + +type Event_CredentialRevoked struct { + CredentialRevoked *CredentialRevoked `protobuf:"bytes,68,opt,name=credential_revoked,json=credentialRevoked,proto3,oneof"` +} + +type Event_AgentRunAnnotated struct { + // AgentRunAnnotated records an operational signal on a run (e.g. credential + // shared_fallback). Queryable rollout metric for per-author key adoption. + AgentRunAnnotated *AgentRunAnnotated `protobuf:"bytes,69,opt,name=agent_run_annotated,json=agentRunAnnotated,proto3,oneof"` +} + +type Event_WorkspaceCreated struct { + // Workspace lifecycle (Brent Workspaces P1 / BRENT-412). + WorkspaceCreated *WorkspaceCreated `protobuf:"bytes,71,opt,name=workspace_created,json=workspaceCreated,proto3,oneof"` +} + +type Event_McpGrantWorkspaceBindingChanged struct { + // MCP grant-to-workspace binding lifecycle (ENG-5318). + McpGrantWorkspaceBindingChanged *MCPGrantWorkspaceBindingChanged `protobuf:"bytes,73,opt,name=mcp_grant_workspace_binding_changed,json=mcpGrantWorkspaceBindingChanged,proto3,oneof"` +} + +type Event_WorkspaceOnboardingCompleted struct { + // Workspace onboarding completion (BRENT-471). + WorkspaceOnboardingCompleted *WorkspaceOnboardingCompleted `protobuf:"bytes,75,opt,name=workspace_onboarding_completed,json=workspaceOnboardingCompleted,proto3,oneof"` +} + +type Event_WorkspaceRenamed struct { + // Workspace rename (BRENT-464): display_name edited and slug re-derived. + WorkspaceRenamed *WorkspaceRenamed `protobuf:"bytes,76,opt,name=workspace_renamed,json=workspaceRenamed,proto3,oneof"` +} + +type Event_WorkspaceDeleted struct { + // Workspace soft-delete (DeleteWorkspace). + WorkspaceDeleted *WorkspaceDeleted `protobuf:"bytes,77,opt,name=workspace_deleted,json=workspaceDeleted,proto3,oneof"` +} + +type Event_ApprovedEmailDomainAdded struct { + // Approved email domain lifecycle (ENG-5202). No event for resend. + ApprovedEmailDomainAdded *ApprovedEmailDomainAdded `protobuf:"bytes,78,opt,name=approved_email_domain_added,json=approvedEmailDomainAdded,proto3,oneof"` +} + +type Event_ApprovedEmailDomainVerified struct { + ApprovedEmailDomainVerified *ApprovedEmailDomainVerified `protobuf:"bytes,79,opt,name=approved_email_domain_verified,json=approvedEmailDomainVerified,proto3,oneof"` +} + +type Event_ApprovedEmailDomainDeleted struct { + ApprovedEmailDomainDeleted *ApprovedEmailDomainDeleted `protobuf:"bytes,80,opt,name=approved_email_domain_deleted,json=approvedEmailDomainDeleted,proto3,oneof"` +} + +type Event_GitlabWebhook struct { + // GitLabWebhook carries every GitLab webhook delivery routed via + // POST /webhooks/gitlab/{token}, authenticated with the per-install + // X-Gitlab-Token secret from ConnectGitLabResponse.webhook_secret. + // ENG-5416: foundation for GitLab review-loop steel thread (Sicura trial). + GitlabWebhook *GitLabWebhook `protobuf:"bytes,81,opt,name=gitlab_webhook,json=gitlabWebhook,proto3,oneof"` +} + +type Event_WorkspaceLlmCredentialConnected struct { + // Workspace-level LLM provider credentials (ENG-5468). + WorkspaceLlmCredentialConnected *WorkspaceLLMCredentialConnected `protobuf:"bytes,82,opt,name=workspace_llm_credential_connected,json=workspaceLlmCredentialConnected,proto3,oneof"` +} + +type Event_WorkspaceLlmCredentialRevoked struct { + WorkspaceLlmCredentialRevoked *WorkspaceLLMCredentialRevoked `protobuf:"bytes,83,opt,name=workspace_llm_credential_revoked,json=workspaceLlmCredentialRevoked,proto3,oneof"` +} + +type Event_BitbucketWebhook struct { + // BitbucketWebhook carries a Bitbucket PR webhook delivery relayed by the + // Brent Forge app and verified via its Forge Invocation Token at the ingest + // endpoint. ENG-5495: foundation for native Bitbucket integration. + BitbucketWebhook *BitbucketWebhook `protobuf:"bytes,84,opt,name=bitbucket_webhook,json=bitbucketWebhook,proto3,oneof"` +} + +type Event_WorkspaceMemberJoined struct { + // Workspace membership lifecycle: a distinct, workspace-scoped audit signal + // for a member joining/leaving, so a domain join surfaces as membership and + // not only as PrincipalCreated (follow-up to the domain-join cut, BRENT-523). + WorkspaceMemberJoined *WorkspaceMemberJoined `protobuf:"bytes,85,opt,name=workspace_member_joined,json=workspaceMemberJoined,proto3,oneof"` +} + +type Event_WorkspaceMemberLeft struct { + WorkspaceMemberLeft *WorkspaceMemberLeft `protobuf:"bytes,86,opt,name=workspace_member_left,json=workspaceMemberLeft,proto3,oneof"` +} + +type Event_ComposioTriggerMessage struct { + // ComposioTriggerMessage carries one inbound Composio Trigger V3 delivery + // (POST /webhooks/composio), attributed to a Brent workspace via + // connected_account_id. First-class typed family (ENG-5624) replacing the + // Composio-first OtherEvent stopgap from the ENG-5611 spike. Toolkit-agnostic: + // workflows discriminate on trigger_slug and read toolkit data via the + // synthetic decoded payload.* map (see embedded_json option). + ComposioTriggerMessage *ComposioTriggerMessage `protobuf:"bytes,87,opt,name=composio_trigger_message,json=composioTriggerMessage,proto3,oneof"` +} + +type Event_DeviationFindingAcknowledged struct { + DeviationFindingAcknowledged *DeviationFindingAcknowledged `protobuf:"bytes,88,opt,name=deviation_finding_acknowledged,json=deviationFindingAcknowledged,proto3,oneof"` +} + +type Event_DeviationFindingAcknowledgementCleared struct { + DeviationFindingAcknowledgementCleared *DeviationFindingAcknowledgementCleared `protobuf:"bytes,89,opt,name=deviation_finding_acknowledgement_cleared,json=deviationFindingAcknowledgementCleared,proto3,oneof"` +} + +type Event_PlanReviewPolicyDecided struct { + // PlanReviewPolicyDecided fires when a plan is created and the server + // stamps its peer-review requirement (ENG-5637 / BRENT-649). + PlanReviewPolicyDecided *PlanReviewPolicyDecided `protobuf:"bytes,90,opt,name=plan_review_policy_decided,json=planReviewPolicyDecided,proto3,oneof"` +} + +type Event_UnknownStoredPayload struct { + // UnknownStoredPayload is a read-path placeholder when a persisted row + // cannot be reconstructed into a typed variant. Never written by + // PersistingListener. + UnknownStoredPayload *UnknownStoredPayload `protobuf:"bytes,70,opt,name=unknown_stored_payload,json=unknownStoredPayload,proto3,oneof"` +} + +func (*Event_PlanCreated) isEvent_Payload() {} + +func (*Event_PlanUpdated) isEvent_Payload() {} + +func (*Event_PlanDeleted) isEvent_Payload() {} + +func (*Event_ReviewRequested) isEvent_Payload() {} + +func (*Event_ReviewSubmitted) isEvent_Payload() {} + +func (*Event_Other) isEvent_Payload() {} + +func (*Event_GithubWebhook) isEvent_Payload() {} + +func (*Event_SlackMention) isEvent_Payload() {} + +func (*Event_SlackReaction) isEvent_Payload() {} + +func (*Event_PullRequestOpened) isEvent_Payload() {} + +func (*Event_PullRequestSynchronized) isEvent_Payload() {} + +func (*Event_PullRequestUpdated) isEvent_Payload() {} + +func (*Event_PullRequestClosed) isEvent_Payload() {} + +func (*Event_PullRequestLinkedToPlan) isEvent_Payload() {} + +func (*Event_PullRequestUnlinkedFromPlan) isEvent_Payload() {} + +func (*Event_OrganisationAppInstallationUpserted) isEvent_Payload() {} + +func (*Event_OrganisationAppInstallationDeleted) isEvent_Payload() {} + +func (*Event_DeviationAnalysisStarted) isEvent_Payload() {} + +func (*Event_DeviationAnalysisCompleted) isEvent_Payload() {} + +func (*Event_DeviationAnalysisFailed) isEvent_Payload() {} + +func (*Event_WorkflowRunQueued) isEvent_Payload() {} + +func (*Event_WorkflowRunStarted) isEvent_Payload() {} + +func (*Event_WorkflowRunCompleted) isEvent_Payload() {} + +func (*Event_WorkflowRunFailed) isEvent_Payload() {} + +func (*Event_WorkflowRunCancelled) isEvent_Payload() {} + +func (*Event_ReviewNoEligibleReviewer) isEvent_Payload() {} + +func (*Event_PrincipalCreated) isEvent_Payload() {} + +func (*Event_PrincipalUpdated) isEvent_Payload() {} + +func (*Event_PrincipalTombstoned) isEvent_Payload() {} + +func (*Event_IdentityCreated) isEvent_Payload() {} + +func (*Event_IdentityDeleted) isEvent_Payload() {} + +func (*Event_BindingCreated) isEvent_Payload() {} + +func (*Event_BindingUpdated) isEvent_Payload() {} + +func (*Event_BindingDeleted) isEvent_Payload() {} + +func (*Event_ReviewDriveByStarted) isEvent_Payload() {} + +func (*Event_SlackWebhook) isEvent_Payload() {} + +func (*Event_ReviewDeleted) isEvent_Payload() {} + +func (*Event_PlanRestored) isEvent_Payload() {} + +func (*Event_LinearWebhook) isEvent_Payload() {} + +func (*Event_PullRequestCommentCreated) isEvent_Payload() {} + +func (*Event_DeviationFindingRecorded) isEvent_Payload() {} + +func (*Event_DeviationFindingUpdated) isEvent_Payload() {} + +func (*Event_DeviationFindingResolved) isEvent_Payload() {} + +func (*Event_AgentRunDispatched) isEvent_Payload() {} + +func (*Event_AgentRunStarted) isEvent_Payload() {} + +func (*Event_AgentRunPullRequestMatched) isEvent_Payload() {} + +func (*Event_AgentRunFlaggedNeedsYou) isEvent_Payload() {} + +func (*Event_AgentRunMerged) isEvent_Payload() {} + +func (*Event_AgentRunDeclined) isEvent_Payload() {} + +func (*Event_AgentRunCancelled) isEvent_Payload() {} + +func (*Event_AgentRunGatePassed) isEvent_Payload() {} + +func (*Event_PullRequestLinkedToAgentRun) isEvent_Payload() {} + +func (*Event_WorkflowIngested) isEvent_Payload() {} + +func (*Event_PullRequestReviewRequested) isEvent_Payload() {} + +func (*Event_PullRequestApproved) isEvent_Payload() {} + +func (*Event_PullRequestChangesRequested) isEvent_Payload() {} + +func (*Event_PullRequestReviewDismissed) isEvent_Payload() {} + +func (*Event_CredentialConnected) isEvent_Payload() {} + +func (*Event_CredentialRevoked) isEvent_Payload() {} + +func (*Event_AgentRunAnnotated) isEvent_Payload() {} + +func (*Event_WorkspaceCreated) isEvent_Payload() {} + +func (*Event_McpGrantWorkspaceBindingChanged) isEvent_Payload() {} + +func (*Event_WorkspaceOnboardingCompleted) isEvent_Payload() {} + +func (*Event_WorkspaceRenamed) isEvent_Payload() {} + +func (*Event_WorkspaceDeleted) isEvent_Payload() {} + +func (*Event_ApprovedEmailDomainAdded) isEvent_Payload() {} + +func (*Event_ApprovedEmailDomainVerified) isEvent_Payload() {} + +func (*Event_ApprovedEmailDomainDeleted) isEvent_Payload() {} + +func (*Event_GitlabWebhook) isEvent_Payload() {} + +func (*Event_WorkspaceLlmCredentialConnected) isEvent_Payload() {} + +func (*Event_WorkspaceLlmCredentialRevoked) isEvent_Payload() {} + +func (*Event_BitbucketWebhook) isEvent_Payload() {} + +func (*Event_WorkspaceMemberJoined) isEvent_Payload() {} + +func (*Event_WorkspaceMemberLeft) isEvent_Payload() {} + +func (*Event_ComposioTriggerMessage) isEvent_Payload() {} + +func (*Event_DeviationFindingAcknowledged) isEvent_Payload() {} + +func (*Event_DeviationFindingAcknowledgementCleared) isEvent_Payload() {} + +func (*Event_PlanReviewPolicyDecided) isEvent_Payload() {} + +func (*Event_UnknownStoredPayload) isEvent_Payload() {} + +// Actor identifies who or what caused an event. Flat shape; type-safety +// lives on the payload fields (e.g. PlanCreated.author_principal_id), not +// on the actor itself. +type Actor struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Discriminator: "human" | "system" | "external". + // - "human": id is a Brent principal_id UUID (e.g. + // "11111111-2222-3333-4444-555555555555"). Events emitted by older + // binaries may still carry the raw Auth0 subject ("auth0|abc123"); + // consumers must accept both forms. TODO(ENG-4265): once the + // author_subject columns are dropped, narrow this to "principal_id + // UUID only". + // - "system": id is a component name (e.g. "brent-backend", + // "executor", "github-webhook"). + // - "external": id is a source-qualified identifier + // (e.g. "github:"). + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + // The kind-specific identifier. Interpretation depends on `kind`. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Actor) Reset() { + *x = Actor{} + mi := &file_brent_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Actor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Actor) ProtoMessage() {} + +func (x *Actor) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Actor.ProtoReflect.Descriptor instead. +func (*Actor) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{94} +} + +func (x *Actor) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *Actor) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// ObjectReference points at the domain object the event is about. +type ObjectReference struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Lowercase domain-object name. Known values today: "plan", "review". + // Future values: "pr", "deployment". Free-string by design — adding + // a new domain object is a producer change, not a proto change. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // External (UUID) identifier of the referenced object. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ObjectReference) Reset() { + *x = ObjectReference{} + mi := &file_brent_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ObjectReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectReference) ProtoMessage() {} + +func (x *ObjectReference) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectReference.ProtoReflect.Descriptor instead. +func (*ObjectReference) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{95} +} + +func (x *ObjectReference) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ObjectReference) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// PlanCreated fires after plans.Store.CreatePlan commits. +// +// Aggregate signature it mirrors: +// +// CreatePlan(ctx, accountName, authorSubject, title, content) -> *Plan +type PlanCreated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the new plan (matches plans.external_id). + PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // Legacy Auth0 subject of the plan author. Only populated on events + // emitted by older binaries; new emitters leave this empty and populate + // author_principal_id instead. TODO(ENG-4265): remove once the storage + // column is dropped. + AuthorSubject string `protobuf:"bytes,2,opt,name=author_subject,json=authorSubject,proto3" json:"author_subject,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + // The full plan body content. Carried so workflows like + // assign_reviewer can scope a review without a separate get_plan tool + // call. Bytes-per-event cost is acceptable at our event rate + // (single-digit/min in dogfood). + Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + // Stable principal_id UUID (string form) of the plan author. Equal to + // Event.actor.id when the actor is "human" and the author is the + // caller, but kept on the payload so workflows can match without + // inspecting the envelope. + AuthorPrincipalId string `protobuf:"bytes,5,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanCreated) Reset() { + *x = PlanCreated{} + mi := &file_brent_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanCreated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanCreated) ProtoMessage() {} + +func (x *PlanCreated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[96] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanCreated.ProtoReflect.Descriptor instead. +func (*PlanCreated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{96} +} + +func (x *PlanCreated) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *PlanCreated) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PlanCreated) GetAuthorSubject() string { + if x != nil { + return x.AuthorSubject + } + return "" +} + +func (x *PlanCreated) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PlanCreated) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *PlanCreated) GetAuthorPrincipalId() string { + if x != nil { + return x.AuthorPrincipalId + } + return "" +} + +// PlanUpdated fires after plans.Store.UpdatePlan commits. Carries a +// self-describing before/after diff for changed fields only. +// +// Aggregate signature it mirrors: +// +// UpdatePlan(ctx, planID, accountName, title, content) -> *Plan +// +// Note: the producer must read the prior plan row before the update so +// it can compute changed_fields, previous, and after. UpdatePlanGuarded +// already does this under FOR UPDATE; UpdatePlan adopts the same pattern. +type PlanUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // Field names whose values changed in this update (e.g. + // ["title", "content"]). Workflows match on this to skip irrelevant + // updates cheaply, e.g. `"content" in event.plan_updated.changed_fields`. + ChangedFields []string `protobuf:"bytes,2,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` + // Previous values for the changed fields only, keyed by field name. + // Fields not in `changed_fields` are not present. google.protobuf.Value + // is used so workflows can compare against any field type without a + // proto change for every new plan column. + Previous map[string]*structpb.Value `protobuf:"bytes,3,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Post-update values for the changed fields only, keyed by field name. + // `after` captures state at emission time — not live object state. + After map[string]*structpb.Value `protobuf:"bytes,5,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanUpdated) Reset() { + *x = PlanUpdated{} + mi := &file_brent_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanUpdated) ProtoMessage() {} + +func (x *PlanUpdated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[97] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanUpdated.ProtoReflect.Descriptor instead. +func (*PlanUpdated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{97} +} + +func (x *PlanUpdated) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *PlanUpdated) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PlanUpdated) GetChangedFields() []string { + if x != nil { + return x.ChangedFields + } + return nil +} + +func (x *PlanUpdated) GetPrevious() map[string]*structpb.Value { + if x != nil { + return x.Previous + } + return nil +} + +func (x *PlanUpdated) GetAfter() map[string]*structpb.Value { + if x != nil { + return x.After + } + return nil +} + +// PlanDeleted fires after plans.Store.SoftDeletePlan commits. The +// underlying SQL is by (plan_id, account_name); the producer reads the +// prior row to populate author_subject before issuing the soft-delete. +// +// Aggregate signature it mirrors: +// +// SoftDeletePlan(ctx, planID, accountName) -> error +type PlanDeleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // Legacy Auth0 subject of the plan author at delete time. Populated + // only when the deleted plan was created before the FK migration + // (i.e. has no author_principal_id); new deletions populate + // author_principal_id instead. TODO(ENG-4265): remove once the storage + // column is dropped. + AuthorSubject string `protobuf:"bytes,2,opt,name=author_subject,json=authorSubject,proto3" json:"author_subject,omitempty"` + // Stable principal_id UUID (string form) of the plan author at delete + // time. Carried so "notify author of deletion" workflows can match / + // route on it without a get_plan round-trip against an already-deleted + // row. + AuthorPrincipalId string `protobuf:"bytes,3,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanDeleted) Reset() { + *x = PlanDeleted{} + mi := &file_brent_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanDeleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanDeleted) ProtoMessage() {} + +func (x *PlanDeleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[98] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanDeleted.ProtoReflect.Descriptor instead. +func (*PlanDeleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{98} +} + +func (x *PlanDeleted) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *PlanDeleted) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PlanDeleted) GetAuthorSubject() string { + if x != nil { + return x.AuthorSubject + } + return "" +} + +func (x *PlanDeleted) GetAuthorPrincipalId() string { + if x != nil { + return x.AuthorPrincipalId + } + return "" +} + +// ReviewDeleted fires after plans.Store.SoftDeletePlan cascade-soft-deletes +// a review row. One event is emitted per review deleted in the same +// transaction as PlanDeleted. +type ReviewDeleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,5,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + ReviewerPrincipalId string `protobuf:"bytes,4,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewDeleted) Reset() { + *x = ReviewDeleted{} + mi := &file_brent_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewDeleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewDeleted) ProtoMessage() {} + +func (x *ReviewDeleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewDeleted.ProtoReflect.Descriptor instead. +func (*ReviewDeleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{99} +} + +func (x *ReviewDeleted) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *ReviewDeleted) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *ReviewDeleted) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *ReviewDeleted) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +// PlanRestored fires after plans.Store.RestorePlan commits. +type PlanRestored struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,3,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + AuthorPrincipalId string `protobuf:"bytes,2,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanRestored) Reset() { + *x = PlanRestored{} + mi := &file_brent_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanRestored) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanRestored) ProtoMessage() {} + +func (x *PlanRestored) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanRestored.ProtoReflect.Descriptor instead. +func (*PlanRestored) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{100} +} + +func (x *PlanRestored) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *PlanRestored) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PlanRestored) GetAuthorPrincipalId() string { + if x != nil { + return x.AuthorPrincipalId + } + return "" +} + +// ReviewRequested fires after reviews.Store.RequestReview commits. +// +// Aggregate signature it mirrors: +// +// RequestReview(ctx, planID, accountName, reviewerSubject) -> *Review +type ReviewRequested struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // Stable principal_id UUID (string form) of the assigned reviewer. + ReviewerPrincipalId string `protobuf:"bytes,6,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewRequested) Reset() { + *x = ReviewRequested{} + mi := &file_brent_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewRequested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewRequested) ProtoMessage() {} + +func (x *ReviewRequested) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[101] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewRequested.ProtoReflect.Descriptor instead. +func (*ReviewRequested) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{101} +} + +func (x *ReviewRequested) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *ReviewRequested) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *ReviewRequested) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *ReviewRequested) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +// ReviewSubmitted fires after reviews.Store.SubmitReview commits. +// +// Aggregate signature it mirrors: +// +// SubmitReview(ctx, reviewID, accountName, reviewerSubject, verdict, +// comment) -> *Review +type ReviewSubmitted struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,9,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // Verdict-driven status: "approved" or "rejected". Mirrors + // reviews.Review.Status. Workflows typically filter on this, e.g. + // `match: event.payload.status == "approved"`. + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + // The reviewer's free-text verdict comment. + VerdictComment string `protobuf:"bytes,5,opt,name=verdict_comment,json=verdictComment,proto3" json:"verdict_comment,omitempty"` + // When the review transitioned to its terminal verdict. + DecidedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=decided_at,json=decidedAt,proto3" json:"decided_at,omitempty"` + // Stable principal_id UUID (string form) of the reviewer who submitted + // the verdict. + ReviewerPrincipalId string `protobuf:"bytes,8,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewSubmitted) Reset() { + *x = ReviewSubmitted{} + mi := &file_brent_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewSubmitted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewSubmitted) ProtoMessage() {} + +func (x *ReviewSubmitted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[102] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewSubmitted.ProtoReflect.Descriptor instead. +func (*ReviewSubmitted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{102} +} + +func (x *ReviewSubmitted) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *ReviewSubmitted) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *ReviewSubmitted) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *ReviewSubmitted) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ReviewSubmitted) GetVerdictComment() string { + if x != nil { + return x.VerdictComment + } + return "" +} + +func (x *ReviewSubmitted) GetDecidedAt() *timestamppb.Timestamp { + if x != nil { + return x.DecidedAt + } + return nil +} + +func (x *ReviewSubmitted) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +// ReviewNoEligibleReviewer fires when the request_review MCP tool refuses +// to assign a reviewer because the calling account has fewer than two +// active human principals (i.e. there is no second person to ask). This +// is the "Strangers using Brent" tarpit edge: a single-seat tenant has +// nobody else to review a plan. +// +// The actor on the surrounding Event is the calling principal (the would- +// be requester). The object reference points at the plan they tried to +// route. Workflows can match on this to drop a soft notice into the SPA +// — "Invite a teammate" — rather than letting the failed tool call sit +// silently in chat history. +// +// Persisted to the events table like every other Event: emitted via +// events.Store.AdminWriteEvent in request_review_tool.go, which dispatches +// to PersistingListener. The write is best-effort (store-owned tx, errors +// logged not propagated) so it never blocks the user-facing voice-guide +// error — see the implementation note in request_review_tool.go. +type ReviewNoEligibleReviewer struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The plan UUID the caller tried to route for review. + PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // The principal_id (UUID string) of the calling user — i.e. the + // would-be requester. Equal to Event.actor.id; duplicated here so + // downstream consumers don't have to reach across the envelope. + RequesterPrincipalId string `protobuf:"bytes,2,opt,name=requester_principal_id,json=requesterPrincipalId,proto3" json:"requester_principal_id,omitempty"` + // The count of active human principals visible to the calling + // account at the moment of the tool call. Always 0 or 1 when this + // event fires (the request_review handler only emits when the count + // is below 2). + ActiveHumanPrincipalCount int32 `protobuf:"varint,3,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewNoEligibleReviewer) Reset() { + *x = ReviewNoEligibleReviewer{} + mi := &file_brent_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewNoEligibleReviewer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewNoEligibleReviewer) ProtoMessage() {} + +func (x *ReviewNoEligibleReviewer) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[103] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewNoEligibleReviewer.ProtoReflect.Descriptor instead. +func (*ReviewNoEligibleReviewer) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{103} +} + +func (x *ReviewNoEligibleReviewer) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *ReviewNoEligibleReviewer) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *ReviewNoEligibleReviewer) GetRequesterPrincipalId() string { + if x != nil { + return x.RequesterPrincipalId + } + return "" +} + +func (x *ReviewNoEligibleReviewer) GetActiveHumanPrincipalCount() int32 { + if x != nil { + return x.ActiveHumanPrincipalCount + } + return 0 +} + +// PlanReviewPolicyDecided fires when plans.Store creates a plan and +// stamps the server-owned peer-review requirement (ENG-5637). The +// decision is fixed at creation from the workspace's active human +// count; MCP clients cannot set or override these fields. +type PlanReviewPolicyDecided struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the plan (matches plans.external_id). + PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"). + PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // required | not_required + ReviewRequirement string `protobuf:"bytes,3,opt,name=review_requirement,json=reviewRequirement,proto3" json:"review_requirement,omitempty"` + // another_human_available | no_other_human | existing_plan + ReviewPolicyReason string `protobuf:"bytes,4,opt,name=review_policy_reason,json=reviewPolicyReason,proto3" json:"review_policy_reason,omitempty"` + // Active human principal count observed when the decision was made. + ActiveHumanPrincipalCount int32 `protobuf:"varint,5,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanReviewPolicyDecided) Reset() { + *x = PlanReviewPolicyDecided{} + mi := &file_brent_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanReviewPolicyDecided) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanReviewPolicyDecided) ProtoMessage() {} + +func (x *PlanReviewPolicyDecided) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[104] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanReviewPolicyDecided.ProtoReflect.Descriptor instead. +func (*PlanReviewPolicyDecided) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{104} +} + +func (x *PlanReviewPolicyDecided) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *PlanReviewPolicyDecided) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PlanReviewPolicyDecided) GetReviewRequirement() string { + if x != nil { + return x.ReviewRequirement + } + return "" +} + +func (x *PlanReviewPolicyDecided) GetReviewPolicyReason() string { + if x != nil { + return x.ReviewPolicyReason + } + return "" +} + +func (x *PlanReviewPolicyDecided) GetActiveHumanPrincipalCount() int32 { + if x != nil { + return x.ActiveHumanPrincipalCount + } + return 0 +} + +// PrincipalCreated fires after a principal row is inserted by +// principals.Store. Emitted exactly once per principal_id; for the system +// (kind='agent') principal the bootstrap shape sets the actor equal to the +// subject (the system principal is its own creator) per D27 of +// brent-plan-auth-milestone.md. +type PrincipalCreated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the new principal (matches principals.external_id). + PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + // 'human' | 'agent' | 'group'. Mirrors principals.kind. + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + // Friendly name surfaced in the SPA, Slack pings, and audit log queries. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrincipalCreated) Reset() { + *x = PrincipalCreated{} + mi := &file_brent_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrincipalCreated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrincipalCreated) ProtoMessage() {} + +func (x *PrincipalCreated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[105] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrincipalCreated.ProtoReflect.Descriptor instead. +func (*PrincipalCreated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{105} +} + +func (x *PrincipalCreated) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *PrincipalCreated) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *PrincipalCreated) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +// PrincipalUpdated fires after a mutation on principals (display-name refresh, +// admin status changes, shadow lifecycle, etc.). Field diffs use the uniform +// changed_fields / previous / after triple (changed fields only). `after` +// captures post-update values at emission time — not live principal state. +type PrincipalUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the updated principal. + PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + // Field names whose values changed in this update (e.g. ["display_name"]). + ChangedFields []string `protobuf:"bytes,2,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` + // Previous values for the changed fields only, keyed by field name. + // Fields not in `changed_fields` are not present. + Previous map[string]*structpb.Value `protobuf:"bytes,3,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Post-update values for the changed fields only, keyed by field name. + // Frozen at emission time — not live object state. + After map[string]*structpb.Value `protobuf:"bytes,4,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrincipalUpdated) Reset() { + *x = PrincipalUpdated{} + mi := &file_brent_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrincipalUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrincipalUpdated) ProtoMessage() {} + +func (x *PrincipalUpdated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrincipalUpdated.ProtoReflect.Descriptor instead. +func (*PrincipalUpdated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{106} +} + +func (x *PrincipalUpdated) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *PrincipalUpdated) GetChangedFields() []string { + if x != nil { + return x.ChangedFields + } + return nil +} + +func (x *PrincipalUpdated) GetPrevious() map[string]*structpb.Value { + if x != nil { + return x.Previous + } + return nil +} + +func (x *PrincipalUpdated) GetAfter() map[string]*structpb.Value { + if x != nil { + return x.After + } + return nil +} + +// PrincipalTombstoned fires when a principal transitions to a +// tombstoned status. Reserved for the Friends-of-friends invite flow +// (per docs/designs/project-brent/core-components/friends-of-friends.md); +// no Phase 1 producer emits this today. +type PrincipalTombstoned struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + // 'human' | 'agent' | 'group'. Mirrors principals.kind at tombstone time. + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrincipalTombstoned) Reset() { + *x = PrincipalTombstoned{} + mi := &file_brent_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrincipalTombstoned) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrincipalTombstoned) ProtoMessage() {} + +func (x *PrincipalTombstoned) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[107] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrincipalTombstoned.ProtoReflect.Descriptor instead. +func (*PrincipalTombstoned) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{107} +} + +func (x *PrincipalTombstoned) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *PrincipalTombstoned) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +// WorkspaceCreated fires when CreateWorkspace mints a new workspaces row +// (Brent Workspaces P1 / BRENT-412), in the same transaction as the row +// insert and the creator's admin provisioning. +type WorkspaceCreated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // uuid tenant key of the new workspace (matches workspaces.workspace_id). + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + // ASCII URL key derived from display_name at create time. + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + // Original user-entered workspace name, preserved verbatim. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // principal_id (uuid) of the human provisioned as the workspace's first admin. + AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceCreated) Reset() { + *x = WorkspaceCreated{} + mi := &file_brent_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceCreated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceCreated) ProtoMessage() {} + +func (x *WorkspaceCreated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[108] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceCreated.ProtoReflect.Descriptor instead. +func (*WorkspaceCreated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{108} +} + +func (x *WorkspaceCreated) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *WorkspaceCreated) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *WorkspaceCreated) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *WorkspaceCreated) GetAdminPrincipalId() string { + if x != nil { + return x.AdminPrincipalId + } + return "" +} + +// WorkspaceOnboardingCompleted fires when CompleteWorkspaceOnboarding flips a +// workspace's onboarding_completed flag to true (BRENT-471), in the same +// transaction as the row update. Only an active admin member can trigger it. +type WorkspaceOnboardingCompleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + // uuid tenant key of the workspace (matches workspaces.workspace_id). + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + // principal_id (uuid) of the active admin who completed onboarding. + CompletedByPrincipalId string `protobuf:"bytes,2,opt,name=completed_by_principal_id,json=completedByPrincipalId,proto3" json:"completed_by_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceOnboardingCompleted) Reset() { + *x = WorkspaceOnboardingCompleted{} + mi := &file_brent_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceOnboardingCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceOnboardingCompleted) ProtoMessage() {} + +func (x *WorkspaceOnboardingCompleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[109] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceOnboardingCompleted.ProtoReflect.Descriptor instead. +func (*WorkspaceOnboardingCompleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{109} +} + +func (x *WorkspaceOnboardingCompleted) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *WorkspaceOnboardingCompleted) GetCompletedByPrincipalId() string { + if x != nil { + return x.CompletedByPrincipalId + } + return "" +} + +// WorkspaceRenamed fires when RenameWorkspace edits a workspace's display_name +// and re-derives its slug (BRENT-464), in the same transaction as the row +// update. Only an active admin member can trigger it. old_slug equals new_slug +// when the new name slugified to empty and the existing slug was preserved. +type WorkspaceRenamed struct { + state protoimpl.MessageState `protogen:"open.v1"` + // uuid tenant key of the workspace (matches workspaces.workspace_id). + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + // Slug before the rename. + OldSlug string `protobuf:"bytes,2,opt,name=old_slug,json=oldSlug,proto3" json:"old_slug,omitempty"` + // Slug after the rename (re-derived from new_display_name; equals old_slug + // when the new name had no usable slug). + NewSlug string `protobuf:"bytes,3,opt,name=new_slug,json=newSlug,proto3" json:"new_slug,omitempty"` + // display_name before the rename. + OldDisplayName string `protobuf:"bytes,4,opt,name=old_display_name,json=oldDisplayName,proto3" json:"old_display_name,omitempty"` + // display_name after the rename. + NewDisplayName string `protobuf:"bytes,5,opt,name=new_display_name,json=newDisplayName,proto3" json:"new_display_name,omitempty"` + // principal_id (uuid) of the active admin who performed the rename. + AdminPrincipalId string `protobuf:"bytes,6,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceRenamed) Reset() { + *x = WorkspaceRenamed{} + mi := &file_brent_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceRenamed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceRenamed) ProtoMessage() {} + +func (x *WorkspaceRenamed) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[110] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceRenamed.ProtoReflect.Descriptor instead. +func (*WorkspaceRenamed) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{110} +} + +func (x *WorkspaceRenamed) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *WorkspaceRenamed) GetOldSlug() string { + if x != nil { + return x.OldSlug + } + return "" +} + +func (x *WorkspaceRenamed) GetNewSlug() string { + if x != nil { + return x.NewSlug + } + return "" +} + +func (x *WorkspaceRenamed) GetOldDisplayName() string { + if x != nil { + return x.OldDisplayName + } + return "" +} + +func (x *WorkspaceRenamed) GetNewDisplayName() string { + if x != nil { + return x.NewDisplayName + } + return "" +} + +func (x *WorkspaceRenamed) GetAdminPrincipalId() string { + if x != nil { + return x.AdminPrincipalId + } + return "" +} + +// WorkspaceDeleted fires after workspaces.Store.DeleteWorkspace commits. +type WorkspaceDeleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + // Original slug before tombstoning to deleted-{workspace_id}. + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceDeleted) Reset() { + *x = WorkspaceDeleted{} + mi := &file_brent_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceDeleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceDeleted) ProtoMessage() {} + +func (x *WorkspaceDeleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[111] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceDeleted.ProtoReflect.Descriptor instead. +func (*WorkspaceDeleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{111} +} + +func (x *WorkspaceDeleted) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *WorkspaceDeleted) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *WorkspaceDeleted) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +// WorkspaceMemberJoined fires when a human principal becomes an active member +// of a workspace via a join flow — domain auto-approve (JoinByDomain) or invite +// acceptance — in the same transaction as the membership write. NOT emitted for +// the founding admin on CreateWorkspace (that is covered by WorkspaceCreated). +type WorkspaceMemberJoined struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` // "member" | "admin" + Source JoinSource `protobuf:"varint,5,opt,name=source,proto3,enum=brent.JoinSource" json:"source,omitempty"` // JOIN_SOURCE_DOMAIN | JOIN_SOURCE_INVITE + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceMemberJoined) Reset() { + *x = WorkspaceMemberJoined{} + mi := &file_brent_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceMemberJoined) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceMemberJoined) ProtoMessage() {} + +func (x *WorkspaceMemberJoined) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[112] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceMemberJoined.ProtoReflect.Descriptor instead. +func (*WorkspaceMemberJoined) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{112} +} + +func (x *WorkspaceMemberJoined) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *WorkspaceMemberJoined) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *WorkspaceMemberJoined) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *WorkspaceMemberJoined) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *WorkspaceMemberJoined) GetSource() JoinSource { + if x != nil { + return x.Source + } + return JoinSource_JOIN_SOURCE_UNSPECIFIED +} + +// WorkspaceMemberLeft fires when an active member's principal is tombstoned +// (member removal), in the same transaction as the tombstone. NOT emitted when +// an unaccepted invite (shadow) is revoked — that principal never joined. +type WorkspaceMemberLeft struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceMemberLeft) Reset() { + *x = WorkspaceMemberLeft{} + mi := &file_brent_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceMemberLeft) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceMemberLeft) ProtoMessage() {} + +func (x *WorkspaceMemberLeft) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[113] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceMemberLeft.ProtoReflect.Descriptor instead. +func (*WorkspaceMemberLeft) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{113} +} + +func (x *WorkspaceMemberLeft) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *WorkspaceMemberLeft) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *WorkspaceMemberLeft) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +// ApprovedEmailDomainAdded fires when an admin adds an approved email domain +// (ENG-5202), in the same transaction as the row insert. The domain starts +// unverified. +type ApprovedEmailDomainAdded struct { + state protoimpl.MessageState `protogen:"open.v1"` + // uuid tenant key of the workspace (matches workspaces.workspace_id). + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + // External UUID of the workspace_approved_email_domains row. + ApprovedEmailDomainId string `protobuf:"bytes,2,opt,name=approved_email_domain_id,json=approvedEmailDomainId,proto3" json:"approved_email_domain_id,omitempty"` + // The normalized domain that was added. + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + // principal_id (uuid) of the active admin who added the domain. + AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApprovedEmailDomainAdded) Reset() { + *x = ApprovedEmailDomainAdded{} + mi := &file_brent_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApprovedEmailDomainAdded) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApprovedEmailDomainAdded) ProtoMessage() {} + +func (x *ApprovedEmailDomainAdded) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[114] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApprovedEmailDomainAdded.ProtoReflect.Descriptor instead. +func (*ApprovedEmailDomainAdded) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{114} +} + +func (x *ApprovedEmailDomainAdded) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *ApprovedEmailDomainAdded) GetApprovedEmailDomainId() string { + if x != nil { + return x.ApprovedEmailDomainId + } + return "" +} + +func (x *ApprovedEmailDomainAdded) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ApprovedEmailDomainAdded) GetAdminPrincipalId() string { + if x != nil { + return x.AdminPrincipalId + } + return "" +} + +// ApprovedEmailDomainVerified fires when an admin verifies a domain with its +// emailed code, in the same transaction as the verified_at update. +type ApprovedEmailDomainVerified struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + ApprovedEmailDomainId string `protobuf:"bytes,2,opt,name=approved_email_domain_id,json=approvedEmailDomainId,proto3" json:"approved_email_domain_id,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + // principal_id (uuid) of the active admin who verified the domain. + AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApprovedEmailDomainVerified) Reset() { + *x = ApprovedEmailDomainVerified{} + mi := &file_brent_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApprovedEmailDomainVerified) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApprovedEmailDomainVerified) ProtoMessage() {} + +func (x *ApprovedEmailDomainVerified) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[115] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApprovedEmailDomainVerified.ProtoReflect.Descriptor instead. +func (*ApprovedEmailDomainVerified) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{115} +} + +func (x *ApprovedEmailDomainVerified) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *ApprovedEmailDomainVerified) GetApprovedEmailDomainId() string { + if x != nil { + return x.ApprovedEmailDomainId + } + return "" +} + +func (x *ApprovedEmailDomainVerified) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ApprovedEmailDomainVerified) GetAdminPrincipalId() string { + if x != nil { + return x.AdminPrincipalId + } + return "" +} + +// ApprovedEmailDomainDeleted fires when an admin deletes an approved email +// domain, in the same transaction as the row delete. +type ApprovedEmailDomainDeleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + ApprovedEmailDomainId string `protobuf:"bytes,2,opt,name=approved_email_domain_id,json=approvedEmailDomainId,proto3" json:"approved_email_domain_id,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + // principal_id (uuid) of the active admin who deleted the domain. + AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApprovedEmailDomainDeleted) Reset() { + *x = ApprovedEmailDomainDeleted{} + mi := &file_brent_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApprovedEmailDomainDeleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApprovedEmailDomainDeleted) ProtoMessage() {} + +func (x *ApprovedEmailDomainDeleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[116] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApprovedEmailDomainDeleted.ProtoReflect.Descriptor instead. +func (*ApprovedEmailDomainDeleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{116} +} + +func (x *ApprovedEmailDomainDeleted) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *ApprovedEmailDomainDeleted) GetApprovedEmailDomainId() string { + if x != nil { + return x.ApprovedEmailDomainId + } + return "" +} + +func (x *ApprovedEmailDomainDeleted) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ApprovedEmailDomainDeleted) GetAdminPrincipalId() string { + if x != nil { + return x.AdminPrincipalId + } + return "" +} + +// MCPGrantWorkspaceBindingChanged fires when an opaque MCP grant key is first +// bound to a workspace or when an existing active binding is superseded. +type MCPGrantWorkspaceBindingChanged struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the new mcp_grant_workspace_bindings row. + BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` + // Opaque provider-issued key used to resolve this MCP token family. + GrantKey string `protobuf:"bytes,2,opt,name=grant_key,json=grantKey,proto3" json:"grant_key,omitempty"` + // Workspace id the grant now resolves to. + WorkspaceId string `protobuf:"bytes,3,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + // Auth0 subject observed on the token exchange that created the binding. + Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` + // "created" for first binding, "superseded" when replacing a prior active row. + Action string `protobuf:"bytes,5,opt,name=action,proto3" json:"action,omitempty"` + // External UUID of the superseded binding row, when action is "superseded". + PreviousBindingId string `protobuf:"bytes,6,opt,name=previous_binding_id,json=previousBindingId,proto3" json:"previous_binding_id,omitempty"` + // Workspace id from the superseded binding row. + PreviousWorkspaceId string `protobuf:"bytes,7,opt,name=previous_workspace_id,json=previousWorkspaceId,proto3" json:"previous_workspace_id,omitempty"` + // Subject from the superseded binding row. + PreviousSubject string `protobuf:"bytes,8,opt,name=previous_subject,json=previousSubject,proto3" json:"previous_subject,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MCPGrantWorkspaceBindingChanged) Reset() { + *x = MCPGrantWorkspaceBindingChanged{} + mi := &file_brent_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MCPGrantWorkspaceBindingChanged) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MCPGrantWorkspaceBindingChanged) ProtoMessage() {} + +func (x *MCPGrantWorkspaceBindingChanged) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[117] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MCPGrantWorkspaceBindingChanged.ProtoReflect.Descriptor instead. +func (*MCPGrantWorkspaceBindingChanged) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{117} +} + +func (x *MCPGrantWorkspaceBindingChanged) GetBindingId() string { + if x != nil { + return x.BindingId + } + return "" +} + +func (x *MCPGrantWorkspaceBindingChanged) GetGrantKey() string { + if x != nil { + return x.GrantKey + } + return "" +} + +func (x *MCPGrantWorkspaceBindingChanged) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *MCPGrantWorkspaceBindingChanged) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *MCPGrantWorkspaceBindingChanged) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *MCPGrantWorkspaceBindingChanged) GetPreviousBindingId() string { + if x != nil { + return x.PreviousBindingId + } + return "" +} + +func (x *MCPGrantWorkspaceBindingChanged) GetPreviousWorkspaceId() string { + if x != nil { + return x.PreviousWorkspaceId + } + return "" +} + +func (x *MCPGrantWorkspaceBindingChanged) GetPreviousSubject() string { + if x != nil { + return x.PreviousSubject + } + return "" +} + +// IdentityCreated fires after a principal_identities row is inserted by +// the winning first-run insert during onboarding (ProvisionPrincipalTx / +// CreateWorkspace). Lost-race inserters do not emit (the winning transaction +// already wrote one). +type IdentityCreated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the principal_identities row. + IdentityId string `protobuf:"bytes,1,opt,name=identity_id,json=identityId,proto3" json:"identity_id,omitempty"` + // External UUID of the principal that owns this identity. + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + // 'auth0' | 'oauth_client_credentials'. Mirrors principal_identities.provider. + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + // Provider-side stable subject (e.g. Auth0 'sub' claim). + Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IdentityCreated) Reset() { + *x = IdentityCreated{} + mi := &file_brent_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IdentityCreated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IdentityCreated) ProtoMessage() {} + +func (x *IdentityCreated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[118] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IdentityCreated.ProtoReflect.Descriptor instead. +func (*IdentityCreated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{118} +} + +func (x *IdentityCreated) GetIdentityId() string { + if x != nil { + return x.IdentityId + } + return "" +} + +func (x *IdentityCreated) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *IdentityCreated) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *IdentityCreated) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +// IdentityDeleted fires when a principal_identities row is removed (e.g. +// principal-merge or de-provisioning). No Phase 1 producer emits this +// today; reserved for future identity-management surfaces. +type IdentityDeleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + IdentityId string `protobuf:"bytes,1,opt,name=identity_id,json=identityId,proto3" json:"identity_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IdentityDeleted) Reset() { + *x = IdentityDeleted{} + mi := &file_brent_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IdentityDeleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IdentityDeleted) ProtoMessage() {} + +func (x *IdentityDeleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[119] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IdentityDeleted.ProtoReflect.Descriptor instead. +func (*IdentityDeleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{119} +} + +func (x *IdentityDeleted) GetIdentityId() string { + if x != nil { + return x.IdentityId + } + return "" +} + +func (x *IdentityDeleted) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *IdentityDeleted) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *IdentityDeleted) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +// BindingCreated fires when a principal_bindings row transitions to +// state='verified' as a fresh row — either an UpsertVerifiedBinding +// first-call (onboarding wizard) or the INSERT half of a SetMyBinding +// rotation (which also emits BindingDeleted for the tombstoned old row; +// see D3 of the Phase 1.7 plan). +type BindingCreated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the principal_bindings row. + BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` + // External UUID of the principal the binding belongs to. + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + // 'github' | 'linear' | 'slack' | 'email'. Mirrors principal_bindings.kind. + Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` + // The looked-up value (Slack member ID, GitHub login, Linear slug, + // email). Mirrors principal_bindings.handle. + Handle string `protobuf:"bytes,4,opt,name=handle,proto3" json:"handle,omitempty"` + // 'verified' on emission today. Carried explicitly for forward + // compatibility with the Friends-of-friends 'claimed' / 'disputed' + // surfaces. + State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BindingCreated) Reset() { + *x = BindingCreated{} + mi := &file_brent_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BindingCreated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BindingCreated) ProtoMessage() {} + +func (x *BindingCreated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[120] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BindingCreated.ProtoReflect.Descriptor instead. +func (*BindingCreated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{120} +} + +func (x *BindingCreated) GetBindingId() string { + if x != nil { + return x.BindingId + } + return "" +} + +func (x *BindingCreated) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *BindingCreated) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *BindingCreated) GetHandle() string { + if x != nil { + return x.Handle + } + return "" +} + +func (x *BindingCreated) GetState() string { + if x != nil { + return x.State + } + return "" +} + +// BindingUpdated fires for in-place mutations of a verified binding row +// (subject refresh, admin upsert DO UPDATE, shadow revival). Field diffs +// use the uniform changed_fields / previous / after triple (changed fields +// only). `after` captures post-update values at emission time — not live +// binding state. +type BindingUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + ChangedFields []string `protobuf:"bytes,3,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` + // Previous values for changed_fields only, keyed by field name. + Previous map[string]*structpb.Value `protobuf:"bytes,4,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Post-update values for changed_fields only. Frozen at emission time. + After map[string]*structpb.Value `protobuf:"bytes,5,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BindingUpdated) Reset() { + *x = BindingUpdated{} + mi := &file_brent_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BindingUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BindingUpdated) ProtoMessage() {} + +func (x *BindingUpdated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[121] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BindingUpdated.ProtoReflect.Descriptor instead. +func (*BindingUpdated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{121} +} + +func (x *BindingUpdated) GetBindingId() string { + if x != nil { + return x.BindingId + } + return "" +} + +func (x *BindingUpdated) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *BindingUpdated) GetChangedFields() []string { + if x != nil { + return x.ChangedFields + } + return nil +} + +func (x *BindingUpdated) GetPrevious() map[string]*structpb.Value { + if x != nil { + return x.Previous + } + return nil +} + +func (x *BindingUpdated) GetAfter() map[string]*structpb.Value { + if x != nil { + return x.After + } + return nil +} + +// BindingDeleted fires when a verified binding row transitions to +// state='tombstoned' — either via DeleteMyBinding or the tombstone half of +// a SetMyBinding rotation. +type BindingDeleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` + Handle string `protobuf:"bytes,4,opt,name=handle,proto3" json:"handle,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BindingDeleted) Reset() { + *x = BindingDeleted{} + mi := &file_brent_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BindingDeleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BindingDeleted) ProtoMessage() {} + +func (x *BindingDeleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[122] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BindingDeleted.ProtoReflect.Descriptor instead. +func (*BindingDeleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{122} +} + +func (x *BindingDeleted) GetBindingId() string { + if x != nil { + return x.BindingId + } + return "" +} + +func (x *BindingDeleted) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *BindingDeleted) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *BindingDeleted) GetHandle() string { + if x != nil { + return x.Handle + } + return "" +} + +// CredentialConnected fires when principals.Store upserts a per-principal +// integration secret (provider-agnostic; Cursor is provider='cursor'). +type CredentialConnected struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + AccountEmail string `protobuf:"bytes,2,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"` + SecretLast4 string `protobuf:"bytes,3,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialConnected) Reset() { + *x = CredentialConnected{} + mi := &file_brent_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialConnected) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialConnected) ProtoMessage() {} + +func (x *CredentialConnected) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[123] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CredentialConnected.ProtoReflect.Descriptor instead. +func (*CredentialConnected) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{123} +} + +func (x *CredentialConnected) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *CredentialConnected) GetAccountEmail() string { + if x != nil { + return x.AccountEmail + } + return "" +} + +func (x *CredentialConnected) GetSecretLast4() string { + if x != nil { + return x.SecretLast4 + } + return "" +} + +// CredentialRevoked fires when principals.Store deletes a per-principal +// integration secret for a provider. +type CredentialRevoked struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialRevoked) Reset() { + *x = CredentialRevoked{} + mi := &file_brent_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialRevoked) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialRevoked) ProtoMessage() {} + +func (x *CredentialRevoked) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[124] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CredentialRevoked.ProtoReflect.Descriptor instead. +func (*CredentialRevoked) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{124} +} + +func (x *CredentialRevoked) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +// WorkspaceLLMCredentialConnected fires when credentials.Store upserts a +// workspace-level LLM provider key (provider-agnostic; OpenAI is provider='openai'). +type WorkspaceLLMCredentialConnected struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + SecretLast4 string `protobuf:"bytes,2,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceLLMCredentialConnected) Reset() { + *x = WorkspaceLLMCredentialConnected{} + mi := &file_brent_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceLLMCredentialConnected) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceLLMCredentialConnected) ProtoMessage() {} + +func (x *WorkspaceLLMCredentialConnected) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[125] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceLLMCredentialConnected.ProtoReflect.Descriptor instead. +func (*WorkspaceLLMCredentialConnected) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{125} +} + +func (x *WorkspaceLLMCredentialConnected) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *WorkspaceLLMCredentialConnected) GetSecretLast4() string { + if x != nil { + return x.SecretLast4 + } + return "" +} + +// WorkspaceLLMCredentialRevoked fires when credentials.Store deletes a +// workspace-level LLM provider key for a provider. +type WorkspaceLLMCredentialRevoked struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceLLMCredentialRevoked) Reset() { + *x = WorkspaceLLMCredentialRevoked{} + mi := &file_brent_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceLLMCredentialRevoked) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceLLMCredentialRevoked) ProtoMessage() {} + +func (x *WorkspaceLLMCredentialRevoked) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[126] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceLLMCredentialRevoked.ProtoReflect.Descriptor instead. +func (*WorkspaceLLMCredentialRevoked) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{126} +} + +func (x *WorkspaceLLMCredentialRevoked) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +// ReviewDriveByStarted fires from reviews.Store.SubmitReview's drive-by +// branch (D28 attribution: caller != assigned reviewer). Replaces the +// ReviewRequested emission previously fired on this branch; the +// non-drive-by request-time-assignment path continues to emit +// ReviewRequested. +type ReviewDriveByStarted struct { + state protoimpl.MessageState `protogen:"open.v1"` + // External UUID of the review row. + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + // External UUID of the plan being reviewed. + PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,5,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // Stable principal_id (UUID string) of the caller — i.e. the person + // submitting the drive-by review. Equal to Event.actor.id; duplicated + // here so downstream consumers don't have to reach across the envelope. + CallerPrincipalId string `protobuf:"bytes,3,opt,name=caller_principal_id,json=callerPrincipalId,proto3" json:"caller_principal_id,omitempty"` + // Stable principal_id (UUID string) of the originally assigned reviewer. + // Different from caller_principal_id by definition (otherwise the call + // would not be a drive-by). + AssignedReviewerPrincipalId string `protobuf:"bytes,4,opt,name=assigned_reviewer_principal_id,json=assignedReviewerPrincipalId,proto3" json:"assigned_reviewer_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewDriveByStarted) Reset() { + *x = ReviewDriveByStarted{} + mi := &file_brent_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewDriveByStarted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewDriveByStarted) ProtoMessage() {} + +func (x *ReviewDriveByStarted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[127] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewDriveByStarted.ProtoReflect.Descriptor instead. +func (*ReviewDriveByStarted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{127} +} + +func (x *ReviewDriveByStarted) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *ReviewDriveByStarted) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *ReviewDriveByStarted) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *ReviewDriveByStarted) GetCallerPrincipalId() string { + if x != nil { + return x.CallerPrincipalId + } + return "" +} + +func (x *ReviewDriveByStarted) GetAssignedReviewerPrincipalId() string { + if x != nil { + return x.AssignedReviewerPrincipalId + } + return "" +} + +// OtherEvent is the opaque external-event payload in this proto slice. +// GitHub deliveries use GitHubWebhook (below) and never OtherEvent. +// Slack deliveries use the typed Slack*Event family (SlackMentionReceived, +// SlackReactionAdded); OtherEvent remains available for any future +// untyped external source. +// +// CEL `match:` filters reach into the fields map, e.g.: +// +// event.payload.source == "slack" +// && event.payload.event_kind == "app_mention" +// && event.payload.fields["channel"] == "C12345" +type OtherEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Integration name. Known value today: "github". Future: any source we + // haven't added a typed family for. + Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + // Upstream event identifier, e.g. "release", "issue.opened". + EventKind string `protobuf:"bytes,2,opt,name=event_kind,json=eventKind,proto3" json:"event_kind,omitempty"` + // Per-event values the producer extracted from the inbound payload. + // The available keys vary by (source, event_kind). The + // `brent://workflows/syntax` MCP resource enumerates the supported + // keys for every event_kind. + Fields map[string]string `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OtherEvent) Reset() { + *x = OtherEvent{} + mi := &file_brent_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OtherEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OtherEvent) ProtoMessage() {} + +func (x *OtherEvent) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[128] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OtherEvent.ProtoReflect.Descriptor instead. +func (*OtherEvent) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{128} +} + +func (x *OtherEvent) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *OtherEvent) GetEventKind() string { + if x != nil { + return x.EventKind + } + return "" +} + +func (x *OtherEvent) GetFields() map[string]string { + if x != nil { + return x.Fields + } + return nil +} + +// UnknownStoredPayload is returned on read when a persisted events row +// cannot be reconstructed into a typed Event.payload variant. +type UnknownStoredPayload struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Value from events.payload_type — may name a removed or typo'd variant. + StoredPayloadType string `protobuf:"bytes,1,opt,name=stored_payload_type,json=storedPayloadType,proto3" json:"stored_payload_type,omitempty"` + // Raw bytes from events.payload (protojson when written by PersistingListener). + RawPayloadJson []byte `protobuf:"bytes,2,opt,name=raw_payload_json,json=rawPayloadJson,proto3" json:"raw_payload_json,omitempty"` + // Reason code: EMPTY_PAYLOAD_TYPE | UNKNOWN_PAYLOAD_TYPE | PAYLOAD_UNMARSHAL_FAILED + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnknownStoredPayload) Reset() { + *x = UnknownStoredPayload{} + mi := &file_brent_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnknownStoredPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnknownStoredPayload) ProtoMessage() {} + +func (x *UnknownStoredPayload) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[129] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnknownStoredPayload.ProtoReflect.Descriptor instead. +func (*UnknownStoredPayload) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{129} +} + +func (x *UnknownStoredPayload) GetStoredPayloadType() string { + if x != nil { + return x.StoredPayloadType + } + return "" +} + +func (x *UnknownStoredPayload) GetRawPayloadJson() []byte { + if x != nil { + return x.RawPayloadJson + } + return nil +} + +func (x *UnknownStoredPayload) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +// PullRequestOpened fires when pullrequests.Store.Upsert inserts a new +// pull_requests row. Routing snapshot enumerates the fields CEL match +// filters need to dispatch without a DB read. +type PullRequestOpened struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestOpened) Reset() { + *x = PullRequestOpened{} + mi := &file_brent_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestOpened) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestOpened) ProtoMessage() {} + +func (x *PullRequestOpened) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[130] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestOpened.ProtoReflect.Descriptor instead. +func (*PullRequestOpened) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{130} +} + +func (x *PullRequestOpened) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestOpened) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestOpened) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestOpened) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestOpened) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequestOpened) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestOpened) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestOpened) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequestOpened) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequestOpened) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestOpened) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestOpened) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestOpened) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestOpened) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +// PullRequestSynchronized fires when Upsert detects that head_sha changed. +type PullRequestSynchronized struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + PreviousHeadSha string `protobuf:"bytes,12,opt,name=previous_head_sha,json=previousHeadSha,proto3" json:"previous_head_sha,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestSynchronized) Reset() { + *x = PullRequestSynchronized{} + mi := &file_brent_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestSynchronized) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestSynchronized) ProtoMessage() {} + +func (x *PullRequestSynchronized) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[131] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestSynchronized.ProtoReflect.Descriptor instead. +func (*PullRequestSynchronized) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{131} +} + +func (x *PullRequestSynchronized) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestSynchronized) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestSynchronized) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestSynchronized) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestSynchronized) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequestSynchronized) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestSynchronized) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestSynchronized) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequestSynchronized) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequestSynchronized) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestSynchronized) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestSynchronized) GetPreviousHeadSha() string { + if x != nil { + return x.PreviousHeadSha + } + return "" +} + +func (x *PullRequestSynchronized) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestSynchronized) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestSynchronized) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +// PullRequestUpdated fires when Upsert detects a change in any tracked +// non-head field. Routing snapshot fields (title, body, branches, etc.) +// remain on the message for convenience; field diffs use the uniform +// changed_fields / previous / after triple (changed fields only). +// `after` captures post-update values at emission time — not live PR state. +type PullRequestUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + ChangedFields []string `protobuf:"bytes,12,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + // Previous values for changed_fields only, keyed by field name. + Previous map[string]*structpb.Value `protobuf:"bytes,17,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Post-update values for changed_fields only. Frozen at emission time. + After map[string]*structpb.Value `protobuf:"bytes,18,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestUpdated) Reset() { + *x = PullRequestUpdated{} + mi := &file_brent_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestUpdated) ProtoMessage() {} + +func (x *PullRequestUpdated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[132] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestUpdated.ProtoReflect.Descriptor instead. +func (*PullRequestUpdated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{132} +} + +func (x *PullRequestUpdated) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestUpdated) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestUpdated) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestUpdated) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestUpdated) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequestUpdated) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestUpdated) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestUpdated) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequestUpdated) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequestUpdated) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestUpdated) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestUpdated) GetChangedFields() []string { + if x != nil { + return x.ChangedFields + } + return nil +} + +func (x *PullRequestUpdated) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestUpdated) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +func (x *PullRequestUpdated) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestUpdated) GetPrevious() map[string]*structpb.Value { + if x != nil { + return x.Previous + } + return nil +} + +func (x *PullRequestUpdated) GetAfter() map[string]*structpb.Value { + if x != nil { + return x.After + } + return nil +} + +// PullRequestClosed fires when Close transitions state to 'closed'. +type PullRequestClosed struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + Merged bool `protobuf:"varint,12,opt,name=merged,proto3" json:"merged,omitempty"` + MergeCommitSha string `protobuf:"bytes,13,opt,name=merge_commit_sha,json=mergeCommitSha,proto3" json:"merge_commit_sha,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestClosed) Reset() { + *x = PullRequestClosed{} + mi := &file_brent_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestClosed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestClosed) ProtoMessage() {} + +func (x *PullRequestClosed) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[133] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestClosed.ProtoReflect.Descriptor instead. +func (*PullRequestClosed) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{133} +} + +func (x *PullRequestClosed) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestClosed) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestClosed) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestClosed) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestClosed) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequestClosed) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestClosed) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestClosed) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequestClosed) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequestClosed) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestClosed) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestClosed) GetMerged() bool { + if x != nil { + return x.Merged + } + return false +} + +func (x *PullRequestClosed) GetMergeCommitSha() string { + if x != nil { + return x.MergeCommitSha + } + return "" +} + +func (x *PullRequestClosed) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestClosed) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestClosed) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +// PullRequestLinkedToPlan fires when pullrequests.Store links a PR to a +// plan. The routing snapshot matches the lifecycle events; linked_plan_uuid +// and link_reason carry the post-transition link state. +type PullRequestLinkedToPlan struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestLinkedToPlan) Reset() { + *x = PullRequestLinkedToPlan{} + mi := &file_brent_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestLinkedToPlan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestLinkedToPlan) ProtoMessage() {} + +func (x *PullRequestLinkedToPlan) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[134] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestLinkedToPlan.ProtoReflect.Descriptor instead. +func (*PullRequestLinkedToPlan) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{134} +} + +func (x *PullRequestLinkedToPlan) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestLinkedToPlan) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestLinkedToPlan) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestLinkedToPlan) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +// PullRequestUnlinkedFromPlan fires when a PR's plan link is cleared or +// replaced. previous_plan_uuid is the plan linked before this event. +type PullRequestUnlinkedFromPlan struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,17,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + PreviousPlanUuid string `protobuf:"bytes,16,opt,name=previous_plan_uuid,json=previousPlanUuid,proto3" json:"previous_plan_uuid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestUnlinkedFromPlan) Reset() { + *x = PullRequestUnlinkedFromPlan{} + mi := &file_brent_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestUnlinkedFromPlan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestUnlinkedFromPlan) ProtoMessage() {} + +func (x *PullRequestUnlinkedFromPlan) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[135] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestUnlinkedFromPlan.ProtoReflect.Descriptor instead. +func (*PullRequestUnlinkedFromPlan) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{135} +} + +func (x *PullRequestUnlinkedFromPlan) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestUnlinkedFromPlan) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestUnlinkedFromPlan) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +func (x *PullRequestUnlinkedFromPlan) GetPreviousPlanUuid() string { + if x != nil { + return x.PreviousPlanUuid + } + return "" +} + +// PullRequestLinkedToAgentRun fires when pullrequests.Store.LinkAgentRun +// sets pull_requests.agent_run_id after a plan-ID match (ENG-4896). The +// routing snapshot matches the other PR lifecycle events so workflows can +// match on it identically; agent_run_uuid carries the run the PR was linked +// to. +type PullRequestLinkedToAgentRun struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` + HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` + BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` + IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` + AgentRunUuid string `protobuf:"bytes,16,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestLinkedToAgentRun) Reset() { + *x = PullRequestLinkedToAgentRun{} + mi := &file_brent_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestLinkedToAgentRun) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestLinkedToAgentRun) ProtoMessage() {} + +func (x *PullRequestLinkedToAgentRun) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[136] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestLinkedToAgentRun.ProtoReflect.Descriptor instead. +func (*PullRequestLinkedToAgentRun) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{136} +} + +func (x *PullRequestLinkedToAgentRun) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestLinkedToAgentRun) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetHeadBranch() string { + if x != nil { + return x.HeadBranch + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetBaseBranch() string { + if x != nil { + return x.BaseBranch + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetIsDraft() bool { + if x != nil { + return x.IsDraft + } + return false +} + +func (x *PullRequestLinkedToAgentRun) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetLinkReason() string { + if x != nil { + return x.LinkReason + } + return "" +} + +func (x *PullRequestLinkedToAgentRun) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +// PullRequestReviewRequested fires when an individual reviewer or team is +// assigned to review a tracked pull request. +type PullRequestReviewRequested struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + RequestedTeam string `protobuf:"bytes,8,opt,name=requested_team,json=requestedTeam,proto3" json:"requested_team,omitempty"` + Url string `protobuf:"bytes,9,opt,name=url,proto3" json:"url,omitempty"` + // Stable principal_id UUID (string form) of the requested individual + // reviewer. Exactly one of requested_reviewer_principal_id or + // requested_team is populated. + RequestedReviewerPrincipalId string `protobuf:"bytes,10,opt,name=requested_reviewer_principal_id,json=requestedReviewerPrincipalId,proto3" json:"requested_reviewer_principal_id,omitempty"` + // True when an individual assignee is a bot; principal_id is empty. + RequestedReviewerIsBot bool `protobuf:"varint,11,opt,name=requested_reviewer_is_bot,json=requestedReviewerIsBot,proto3" json:"requested_reviewer_is_bot,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestReviewRequested) Reset() { + *x = PullRequestReviewRequested{} + mi := &file_brent_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestReviewRequested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestReviewRequested) ProtoMessage() {} + +func (x *PullRequestReviewRequested) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[137] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestReviewRequested.ProtoReflect.Descriptor instead. +func (*PullRequestReviewRequested) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{137} +} + +func (x *PullRequestReviewRequested) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestReviewRequested) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestReviewRequested) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestReviewRequested) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestReviewRequested) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestReviewRequested) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestReviewRequested) GetRequestedTeam() string { + if x != nil { + return x.RequestedTeam + } + return "" +} + +func (x *PullRequestReviewRequested) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestReviewRequested) GetRequestedReviewerPrincipalId() string { + if x != nil { + return x.RequestedReviewerPrincipalId + } + return "" +} + +func (x *PullRequestReviewRequested) GetRequestedReviewerIsBot() bool { + if x != nil { + return x.RequestedReviewerIsBot + } + return false +} + +// PullRequestApproved fires when a tracked pull request receives an approving +// review on its current head. +type PullRequestApproved struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + ReviewerIsBot bool `protobuf:"varint,8,opt,name=reviewer_is_bot,json=reviewerIsBot,proto3" json:"reviewer_is_bot,omitempty"` + // Interim vendor review identifier (GitHub database ID today). A Brent PR + // review row will replace this field in a later phase. + ReviewId int64 `protobuf:"varint,9,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + CommitId string `protobuf:"bytes,10,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` + SubmittedAt string `protobuf:"bytes,11,opt,name=submitted_at,json=submittedAt,proto3" json:"submitted_at,omitempty"` + Url string `protobuf:"bytes,12,opt,name=url,proto3" json:"url,omitempty"` + // Stable principal_id UUID (string form) of the human reviewer. Intentionally + // empty when reviewer_is_bot is true. + ReviewerPrincipalId string `protobuf:"bytes,13,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + // GitHub login of the reviewer at submit time. Populated for bot and human + // reviews so Layer 1 replay can detect self-approval without principal lookup. + ReviewerGithubLogin string `protobuf:"bytes,14,opt,name=reviewer_github_login,json=reviewerGithubLogin,proto3" json:"reviewer_github_login,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestApproved) Reset() { + *x = PullRequestApproved{} + mi := &file_brent_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestApproved) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestApproved) ProtoMessage() {} + +func (x *PullRequestApproved) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[138] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestApproved.ProtoReflect.Descriptor instead. +func (*PullRequestApproved) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{138} +} + +func (x *PullRequestApproved) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestApproved) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestApproved) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestApproved) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestApproved) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestApproved) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestApproved) GetReviewerIsBot() bool { + if x != nil { + return x.ReviewerIsBot + } + return false +} + +func (x *PullRequestApproved) GetReviewId() int64 { + if x != nil { + return x.ReviewId + } + return 0 +} + +func (x *PullRequestApproved) GetCommitId() string { + if x != nil { + return x.CommitId + } + return "" +} + +func (x *PullRequestApproved) GetSubmittedAt() string { + if x != nil { + return x.SubmittedAt + } + return "" +} + +func (x *PullRequestApproved) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestApproved) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +func (x *PullRequestApproved) GetReviewerGithubLogin() string { + if x != nil { + return x.ReviewerGithubLogin + } + return "" +} + +// PullRequestChangesRequested fires when a tracked pull request receives a +// changes-requested review on its current head. +type PullRequestChangesRequested struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + ReviewerIsBot bool `protobuf:"varint,8,opt,name=reviewer_is_bot,json=reviewerIsBot,proto3" json:"reviewer_is_bot,omitempty"` + ReviewId int64 `protobuf:"varint,9,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + CommitId string `protobuf:"bytes,10,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` + SubmittedAt string `protobuf:"bytes,11,opt,name=submitted_at,json=submittedAt,proto3" json:"submitted_at,omitempty"` + Url string `protobuf:"bytes,12,opt,name=url,proto3" json:"url,omitempty"` + ReviewerPrincipalId string `protobuf:"bytes,13,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestChangesRequested) Reset() { + *x = PullRequestChangesRequested{} + mi := &file_brent_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestChangesRequested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestChangesRequested) ProtoMessage() {} + +func (x *PullRequestChangesRequested) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[139] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestChangesRequested.ProtoReflect.Descriptor instead. +func (*PullRequestChangesRequested) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{139} +} + +func (x *PullRequestChangesRequested) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestChangesRequested) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestChangesRequested) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestChangesRequested) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestChangesRequested) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestChangesRequested) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestChangesRequested) GetReviewerIsBot() bool { + if x != nil { + return x.ReviewerIsBot + } + return false +} + +func (x *PullRequestChangesRequested) GetReviewId() int64 { + if x != nil { + return x.ReviewId + } + return 0 +} + +func (x *PullRequestChangesRequested) GetCommitId() string { + if x != nil { + return x.CommitId + } + return "" +} + +func (x *PullRequestChangesRequested) GetSubmittedAt() string { + if x != nil { + return x.SubmittedAt + } + return "" +} + +func (x *PullRequestChangesRequested) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestChangesRequested) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +// PullRequestReviewDismissed fires when a prior review on a tracked pull +// request is cleared. +type PullRequestReviewDismissed struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + ReviewId int64 `protobuf:"varint,8,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + CommitId string `protobuf:"bytes,9,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` + DismissedAt string `protobuf:"bytes,10,opt,name=dismissed_at,json=dismissedAt,proto3" json:"dismissed_at,omitempty"` + Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` + ReviewerPrincipalId string `protobuf:"bytes,12,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + // True when the author of the dismissed review is a bot; + // reviewer_principal_id is intentionally empty for bot reviewers. + ReviewerIsBot bool `protobuf:"varint,13,opt,name=reviewer_is_bot,json=reviewerIsBot,proto3" json:"reviewer_is_bot,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestReviewDismissed) Reset() { + *x = PullRequestReviewDismissed{} + mi := &file_brent_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestReviewDismissed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestReviewDismissed) ProtoMessage() {} + +func (x *PullRequestReviewDismissed) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[140] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestReviewDismissed.ProtoReflect.Descriptor instead. +func (*PullRequestReviewDismissed) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{140} +} + +func (x *PullRequestReviewDismissed) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestReviewDismissed) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestReviewDismissed) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestReviewDismissed) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestReviewDismissed) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestReviewDismissed) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestReviewDismissed) GetReviewId() int64 { + if x != nil { + return x.ReviewId + } + return 0 +} + +func (x *PullRequestReviewDismissed) GetCommitId() string { + if x != nil { + return x.CommitId + } + return "" +} + +func (x *PullRequestReviewDismissed) GetDismissedAt() string { + if x != nil { + return x.DismissedAt + } + return "" +} + +func (x *PullRequestReviewDismissed) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PullRequestReviewDismissed) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +func (x *PullRequestReviewDismissed) GetReviewerIsBot() bool { + if x != nil { + return x.ReviewerIsBot + } + return false +} + +// PullRequestCommentCreated fires when a comment on a tracked PR may +// acknowledge deviation findings. +type PullRequestCommentCreated struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,11,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + CommentId string `protobuf:"bytes,6,opt,name=comment_id,json=commentId,proto3" json:"comment_id,omitempty"` + CommentSource string `protobuf:"bytes,7,opt,name=comment_source,json=commentSource,proto3" json:"comment_source,omitempty"` + Action string `protobuf:"bytes,8,opt,name=action,proto3" json:"action,omitempty"` + Author string `protobuf:"bytes,9,opt,name=author,proto3" json:"author,omitempty"` + AuthorIsBot bool `protobuf:"varint,10,opt,name=author_is_bot,json=authorIsBot,proto3" json:"author_is_bot,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PullRequestCommentCreated) Reset() { + *x = PullRequestCommentCreated{} + mi := &file_brent_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullRequestCommentCreated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullRequestCommentCreated) ProtoMessage() {} + +func (x *PullRequestCommentCreated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[141] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullRequestCommentCreated.ProtoReflect.Descriptor instead. +func (*PullRequestCommentCreated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{141} +} + +func (x *PullRequestCommentCreated) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *PullRequestCommentCreated) GetRepoFullName() string { + if x != nil { + return x.RepoFullName + } + return "" +} + +func (x *PullRequestCommentCreated) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *PullRequestCommentCreated) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *PullRequestCommentCreated) GetLinkedPlanUuid() string { + if x != nil { + return x.LinkedPlanUuid + } + return "" +} + +func (x *PullRequestCommentCreated) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *PullRequestCommentCreated) GetCommentId() string { + if x != nil { + return x.CommentId + } + return "" +} + +func (x *PullRequestCommentCreated) GetCommentSource() string { + if x != nil { + return x.CommentSource + } + return "" +} + +func (x *PullRequestCommentCreated) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *PullRequestCommentCreated) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *PullRequestCommentCreated) GetAuthorIsBot() bool { + if x != nil { + return x.AuthorIsBot + } + return false +} + +// DeviationAnalysisStarted fires when deviationanalyses.Store.BeginAnalysis +// inserts a fresh analysis row (idempotent re-calls do not re-emit). +type DeviationAnalysisStarted struct { + state protoimpl.MessageState `protogen:"open.v1"` + AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + WorkflowRunId string `protobuf:"bytes,5,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationAnalysisStarted) Reset() { + *x = DeviationAnalysisStarted{} + mi := &file_brent_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationAnalysisStarted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationAnalysisStarted) ProtoMessage() {} + +func (x *DeviationAnalysisStarted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[142] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationAnalysisStarted.ProtoReflect.Descriptor instead. +func (*DeviationAnalysisStarted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{142} +} + +func (x *DeviationAnalysisStarted) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationAnalysisStarted) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *DeviationAnalysisStarted) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *DeviationAnalysisStarted) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *DeviationAnalysisStarted) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *DeviationAnalysisStarted) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *DeviationAnalysisStarted) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +// DeviationAnalysisCompleted fires when deviationanalyses.Store.CompleteAnalysis +// commits. check_conclusion and findings carry the four-state model for +// workflow branching (success | failure | neutral). +type FindingSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + Acknowledged bool `protobuf:"varint,2,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"` + AckSource string `protobuf:"bytes,3,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` + AckRef string `protobuf:"bytes,4,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` + AckReasoningQuote string `protobuf:"bytes,5,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FindingSummary) Reset() { + *x = FindingSummary{} + mi := &file_brent_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FindingSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindingSummary) ProtoMessage() {} + +func (x *FindingSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[143] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindingSummary.ProtoReflect.Descriptor instead. +func (*FindingSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{143} +} + +func (x *FindingSummary) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *FindingSummary) GetAcknowledged() bool { + if x != nil { + return x.Acknowledged + } + return false +} + +func (x *FindingSummary) GetAckSource() string { + if x != nil { + return x.AckSource + } + return "" +} + +func (x *FindingSummary) GetAckRef() string { + if x != nil { + return x.AckRef + } + return "" +} + +func (x *FindingSummary) GetAckReasoningQuote() string { + if x != nil { + return x.AckReasoningQuote + } + return "" +} + +type DeviationAnalysisCompleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,12,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + FindingCountByTag map[string]int64 `protobuf:"bytes,7,rep,name=finding_count_by_tag,json=findingCountByTag,proto3" json:"finding_count_by_tag,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` + CheckConclusion string `protobuf:"bytes,9,opt,name=check_conclusion,json=checkConclusion,proto3" json:"check_conclusion,omitempty"` + AppliedRedFindingKinds []string `protobuf:"bytes,10,rep,name=applied_red_finding_kinds,json=appliedRedFindingKinds,proto3" json:"applied_red_finding_kinds,omitempty"` + Findings []*FindingSummary `protobuf:"bytes,11,rep,name=findings,proto3" json:"findings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationAnalysisCompleted) Reset() { + *x = DeviationAnalysisCompleted{} + mi := &file_brent_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationAnalysisCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationAnalysisCompleted) ProtoMessage() {} + +func (x *DeviationAnalysisCompleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[144] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationAnalysisCompleted.ProtoReflect.Descriptor instead. +func (*DeviationAnalysisCompleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{144} +} + +func (x *DeviationAnalysisCompleted) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationAnalysisCompleted) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *DeviationAnalysisCompleted) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *DeviationAnalysisCompleted) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *DeviationAnalysisCompleted) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *DeviationAnalysisCompleted) GetFindingCountByTag() map[string]int64 { + if x != nil { + return x.FindingCountByTag + } + return nil +} + +func (x *DeviationAnalysisCompleted) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +func (x *DeviationAnalysisCompleted) GetCheckConclusion() string { + if x != nil { + return x.CheckConclusion + } + return "" +} + +func (x *DeviationAnalysisCompleted) GetAppliedRedFindingKinds() []string { + if x != nil { + return x.AppliedRedFindingKinds + } + return nil +} + +func (x *DeviationAnalysisCompleted) GetFindings() []*FindingSummary { + if x != nil { + return x.Findings + } + return nil +} + +// DeviationAnalysisFailed fires when deviationanalyses.Store.FailAnalysis commits. +type DeviationAnalysisFailed struct { + state protoimpl.MessageState `protogen:"open.v1"` + AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"` + FailedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=failed_at,json=failedAt,proto3" json:"failed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationAnalysisFailed) Reset() { + *x = DeviationAnalysisFailed{} + mi := &file_brent_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationAnalysisFailed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationAnalysisFailed) ProtoMessage() {} + +func (x *DeviationAnalysisFailed) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[145] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationAnalysisFailed.ProtoReflect.Descriptor instead. +func (*DeviationAnalysisFailed) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{145} +} + +func (x *DeviationAnalysisFailed) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationAnalysisFailed) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *DeviationAnalysisFailed) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *DeviationAnalysisFailed) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *DeviationAnalysisFailed) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *DeviationAnalysisFailed) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *DeviationAnalysisFailed) GetFailedAt() *timestamppb.Timestamp { + if x != nil { + return x.FailedAt + } + return nil +} + +// DeviationFindingRecorded fires when deviationanalyses.Store.RecordFinding commits. +type DeviationFindingRecorded struct { + state protoimpl.MessageState `protogen:"open.v1"` + FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` + AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` + RecordedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=recorded_at,json=recordedAt,proto3" json:"recorded_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationFindingRecorded) Reset() { + *x = DeviationFindingRecorded{} + mi := &file_brent_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationFindingRecorded) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationFindingRecorded) ProtoMessage() {} + +func (x *DeviationFindingRecorded) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[146] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationFindingRecorded.ProtoReflect.Descriptor instead. +func (*DeviationFindingRecorded) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{146} +} + +func (x *DeviationFindingRecorded) GetFindingId() string { + if x != nil { + return x.FindingId + } + return "" +} + +func (x *DeviationFindingRecorded) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationFindingRecorded) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *DeviationFindingRecorded) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *DeviationFindingRecorded) GetRecordedAt() *timestamppb.Timestamp { + if x != nil { + return x.RecordedAt + } + return nil +} + +// DeviationFindingUpdated fires when deviationanalyses.Store.UpdateFinding +// commits. Routing snapshot fields (tag, summary) remain on the message; +// field diffs use the uniform changed_fields / previous / after triple +// (changed fields only). `after` captures post-update values at emission +// time — not live finding state. +type DeviationFindingUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` + AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` + ChangedFields []string `protobuf:"bytes,5,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` + // Previous values for changed_fields only, keyed by field name. + Previous map[string]*structpb.Value `protobuf:"bytes,6,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Post-update values for changed_fields only. Frozen at emission time. + After map[string]*structpb.Value `protobuf:"bytes,7,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationFindingUpdated) Reset() { + *x = DeviationFindingUpdated{} + mi := &file_brent_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationFindingUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationFindingUpdated) ProtoMessage() {} + +func (x *DeviationFindingUpdated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[147] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationFindingUpdated.ProtoReflect.Descriptor instead. +func (*DeviationFindingUpdated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{147} +} + +func (x *DeviationFindingUpdated) GetFindingId() string { + if x != nil { + return x.FindingId + } + return "" +} + +func (x *DeviationFindingUpdated) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationFindingUpdated) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *DeviationFindingUpdated) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *DeviationFindingUpdated) GetChangedFields() []string { + if x != nil { + return x.ChangedFields + } + return nil +} + +func (x *DeviationFindingUpdated) GetPrevious() map[string]*structpb.Value { + if x != nil { + return x.Previous + } + return nil +} + +func (x *DeviationFindingUpdated) GetAfter() map[string]*structpb.Value { + if x != nil { + return x.After + } + return nil +} + +// DeviationFindingResolved fires when deviationanalyses.Store.ResolveFinding commits. +type DeviationFindingResolved struct { + state protoimpl.MessageState `protogen:"open.v1"` + FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` + AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + ResolutionCommit string `protobuf:"bytes,5,opt,name=resolution_commit,json=resolutionCommit,proto3" json:"resolution_commit,omitempty"` + ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=resolved_at,json=resolvedAt,proto3" json:"resolved_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationFindingResolved) Reset() { + *x = DeviationFindingResolved{} + mi := &file_brent_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationFindingResolved) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationFindingResolved) ProtoMessage() {} + +func (x *DeviationFindingResolved) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[148] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationFindingResolved.ProtoReflect.Descriptor instead. +func (*DeviationFindingResolved) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{148} +} + +func (x *DeviationFindingResolved) GetFindingId() string { + if x != nil { + return x.FindingId + } + return "" +} + +func (x *DeviationFindingResolved) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationFindingResolved) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *DeviationFindingResolved) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *DeviationFindingResolved) GetResolutionCommit() string { + if x != nil { + return x.ResolutionCommit + } + return "" +} + +func (x *DeviationFindingResolved) GetResolvedAt() *timestamppb.Timestamp { + if x != nil { + return x.ResolvedAt + } + return nil +} + +// DeviationFindingAcknowledged fires when a finding transitions from +// unacknowledged to acknowledged. +type DeviationFindingAcknowledged struct { + state protoimpl.MessageState `protogen:"open.v1"` + FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` + AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + // Empty for legacy findings created before slug support. + Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` + // issue_comment | review_comment | commit_message | pr_description. + AckSource string `protobuf:"bytes,5,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` + AckRef string `protobuf:"bytes,6,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` + AckReasoningQuote string `protobuf:"bytes,7,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` + AcknowledgedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=acknowledged_at,json=acknowledgedAt,proto3" json:"acknowledged_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationFindingAcknowledged) Reset() { + *x = DeviationFindingAcknowledged{} + mi := &file_brent_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationFindingAcknowledged) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationFindingAcknowledged) ProtoMessage() {} + +func (x *DeviationFindingAcknowledged) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[149] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationFindingAcknowledged.ProtoReflect.Descriptor instead. +func (*DeviationFindingAcknowledged) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{149} +} + +func (x *DeviationFindingAcknowledged) GetFindingId() string { + if x != nil { + return x.FindingId + } + return "" +} + +func (x *DeviationFindingAcknowledged) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationFindingAcknowledged) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *DeviationFindingAcknowledged) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *DeviationFindingAcknowledged) GetAckSource() string { + if x != nil { + return x.AckSource + } + return "" +} + +func (x *DeviationFindingAcknowledged) GetAckRef() string { + if x != nil { + return x.AckRef + } + return "" +} + +func (x *DeviationFindingAcknowledged) GetAckReasoningQuote() string { + if x != nil { + return x.AckReasoningQuote + } + return "" +} + +func (x *DeviationFindingAcknowledged) GetAcknowledgedAt() *timestamppb.Timestamp { + if x != nil { + return x.AcknowledgedAt + } + return nil +} + +// DeviationFindingAcknowledgementCleared fires when a finding transitions +// from acknowledged to unacknowledged. Acknowledgement fields preserve the +// provenance that was removed by the mutation. +type DeviationFindingAcknowledgementCleared struct { + state protoimpl.MessageState `protogen:"open.v1"` + FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` + AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + // Empty for legacy findings created before slug support. + Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` + AckSource string `protobuf:"bytes,5,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` + AckRef string `protobuf:"bytes,6,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` + AckReasoningQuote string `protobuf:"bytes,7,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` + ClearedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=cleared_at,json=clearedAt,proto3" json:"cleared_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviationFindingAcknowledgementCleared) Reset() { + *x = DeviationFindingAcknowledgementCleared{} + mi := &file_brent_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviationFindingAcknowledgementCleared) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviationFindingAcknowledgementCleared) ProtoMessage() {} + +func (x *DeviationFindingAcknowledgementCleared) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[150] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviationFindingAcknowledgementCleared.ProtoReflect.Descriptor instead. +func (*DeviationFindingAcknowledgementCleared) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{150} +} + +func (x *DeviationFindingAcknowledgementCleared) GetFindingId() string { + if x != nil { + return x.FindingId + } + return "" +} + +func (x *DeviationFindingAcknowledgementCleared) GetAnalysisId() string { + if x != nil { + return x.AnalysisId + } + return "" +} + +func (x *DeviationFindingAcknowledgementCleared) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *DeviationFindingAcknowledgementCleared) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *DeviationFindingAcknowledgementCleared) GetAckSource() string { + if x != nil { + return x.AckSource + } + return "" +} + +func (x *DeviationFindingAcknowledgementCleared) GetAckRef() string { + if x != nil { + return x.AckRef + } + return "" +} + +func (x *DeviationFindingAcknowledgementCleared) GetAckReasoningQuote() string { + if x != nil { + return x.AckReasoningQuote + } + return "" +} + +func (x *DeviationFindingAcknowledgementCleared) GetClearedAt() *timestamppb.Timestamp { + if x != nil { + return x.ClearedAt + } + return nil +} + +// AgentRunDispatched fires when agentruns.Store.ConfirmDispatched commits. +// The pending row is written earlier by Dispatch (no event). +type AgentRunDispatched struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,9,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"` + Harness string `protobuf:"bytes,4,opt,name=harness,proto3" json:"harness,omitempty"` + Model string `protobuf:"bytes,5,opt,name=model,proto3" json:"model,omitempty"` + Branch string `protobuf:"bytes,6,opt,name=branch,proto3" json:"branch,omitempty"` + RunHandle string `protobuf:"bytes,7,opt,name=run_handle,json=runHandle,proto3" json:"run_handle,omitempty"` + RunLogUrl string `protobuf:"bytes,8,opt,name=run_log_url,json=runLogUrl,proto3" json:"run_log_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunDispatched) Reset() { + *x = AgentRunDispatched{} + mi := &file_brent_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunDispatched) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunDispatched) ProtoMessage() {} + +func (x *AgentRunDispatched) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[151] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunDispatched.ProtoReflect.Descriptor instead. +func (*AgentRunDispatched) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{151} +} + +func (x *AgentRunDispatched) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunDispatched) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunDispatched) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *AgentRunDispatched) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *AgentRunDispatched) GetHarness() string { + if x != nil { + return x.Harness + } + return "" +} + +func (x *AgentRunDispatched) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *AgentRunDispatched) GetBranch() string { + if x != nil { + return x.Branch + } + return "" +} + +func (x *AgentRunDispatched) GetRunHandle() string { + if x != nil { + return x.RunHandle + } + return "" +} + +func (x *AgentRunDispatched) GetRunLogUrl() string { + if x != nil { + return x.RunLogUrl + } + return "" +} + +// AgentRunStarted fires on the first dispatched -> working transition. +type AgentRunStarted struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,3,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunStarted) Reset() { + *x = AgentRunStarted{} + mi := &file_brent_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunStarted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunStarted) ProtoMessage() {} + +func (x *AgentRunStarted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[152] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunStarted.ProtoReflect.Descriptor instead. +func (*AgentRunStarted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{152} +} + +func (x *AgentRunStarted) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunStarted) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunStarted) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +// AgentRunPullRequestMatched fires when a PR is attached to the run. +type AgentRunPullRequestMatched struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + PrUuid string `protobuf:"bytes,2,opt,name=pr_uuid,json=prUuid,proto3" json:"pr_uuid,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunPullRequestMatched) Reset() { + *x = AgentRunPullRequestMatched{} + mi := &file_brent_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunPullRequestMatched) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunPullRequestMatched) ProtoMessage() {} + +func (x *AgentRunPullRequestMatched) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[153] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunPullRequestMatched.ProtoReflect.Descriptor instead. +func (*AgentRunPullRequestMatched) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{153} +} + +func (x *AgentRunPullRequestMatched) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunPullRequestMatched) GetPrUuid() string { + if x != nil { + return x.PrUuid + } + return "" +} + +func (x *AgentRunPullRequestMatched) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunPullRequestMatched) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +// AgentRunFlaggedNeedsYou fires when Brent surfaces a run as needing attention. +type AgentRunFlaggedNeedsYou struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunFlaggedNeedsYou) Reset() { + *x = AgentRunFlaggedNeedsYou{} + mi := &file_brent_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunFlaggedNeedsYou) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunFlaggedNeedsYou) ProtoMessage() {} + +func (x *AgentRunFlaggedNeedsYou) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[154] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunFlaggedNeedsYou.ProtoReflect.Descriptor instead. +func (*AgentRunFlaggedNeedsYou) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{154} +} + +func (x *AgentRunFlaggedNeedsYou) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunFlaggedNeedsYou) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *AgentRunFlaggedNeedsYou) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunFlaggedNeedsYou) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +// AgentRunGatePassed fires when the deviation gate passes (success/neutral conclusion) +// but the PR is not yet merged. The run is terminal for watchdog purposes but awaits +// a human merge on GitHub. +type AgentRunGatePassed struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + PrUuid string `protobuf:"bytes,2,opt,name=pr_uuid,json=prUuid,proto3" json:"pr_uuid,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunGatePassed) Reset() { + *x = AgentRunGatePassed{} + mi := &file_brent_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunGatePassed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunGatePassed) ProtoMessage() {} + +func (x *AgentRunGatePassed) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[155] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunGatePassed.ProtoReflect.Descriptor instead. +func (*AgentRunGatePassed) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{155} +} + +func (x *AgentRunGatePassed) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunGatePassed) GetPrUuid() string { + if x != nil { + return x.PrUuid + } + return "" +} + +func (x *AgentRunGatePassed) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunGatePassed) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +// AgentRunMerged fires when the PR is actually merged on GitHub. +type AgentRunMerged struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + PrUuid string `protobuf:"bytes,2,opt,name=pr_uuid,json=prUuid,proto3" json:"pr_uuid,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunMerged) Reset() { + *x = AgentRunMerged{} + mi := &file_brent_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunMerged) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunMerged) ProtoMessage() {} + +func (x *AgentRunMerged) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[156] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunMerged.ProtoReflect.Descriptor instead. +func (*AgentRunMerged) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{156} +} + +func (x *AgentRunMerged) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunMerged) GetPrUuid() string { + if x != nil { + return x.PrUuid + } + return "" +} + +func (x *AgentRunMerged) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunMerged) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +// AgentRunCancelled fires on user-initiated stop (distinct from needs_you). +type AgentRunCancelled struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunCancelled) Reset() { + *x = AgentRunCancelled{} + mi := &file_brent_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunCancelled) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunCancelled) ProtoMessage() {} + +func (x *AgentRunCancelled) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[157] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunCancelled.ProtoReflect.Descriptor instead. +func (*AgentRunCancelled) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{157} +} + +func (x *AgentRunCancelled) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunCancelled) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *AgentRunCancelled) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunCancelled) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +// AgentRunDeclined fires when the dispatch gate decides not to launch. +// No agent_runs row is written. +type AgentRunDeclined struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,3,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunDeclined) Reset() { + *x = AgentRunDeclined{} + mi := &file_brent_proto_msgTypes[158] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunDeclined) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunDeclined) ProtoMessage() {} + +func (x *AgentRunDeclined) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[158] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunDeclined.ProtoReflect.Descriptor instead. +func (*AgentRunDeclined) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{158} +} + +func (x *AgentRunDeclined) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunDeclined) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *AgentRunDeclined) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +// AgentRunAnnotated records an operational signal on an agent run row. +type AgentRunAnnotated struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` + Signal string `protobuf:"bytes,2,opt,name=signal,proto3" json:"signal,omitempty"` + AuthorPrincipalId string `protobuf:"bytes,3,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` + Provider string `protobuf:"bytes,4,opt,name=provider,proto3" json:"provider,omitempty"` + PlanUuid string `protobuf:"bytes,5,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentRunAnnotated) Reset() { + *x = AgentRunAnnotated{} + mi := &file_brent_proto_msgTypes[159] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentRunAnnotated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentRunAnnotated) ProtoMessage() {} + +func (x *AgentRunAnnotated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[159] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentRunAnnotated.ProtoReflect.Descriptor instead. +func (*AgentRunAnnotated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{159} +} + +func (x *AgentRunAnnotated) GetAgentRunUuid() string { + if x != nil { + return x.AgentRunUuid + } + return "" +} + +func (x *AgentRunAnnotated) GetSignal() string { + if x != nil { + return x.Signal + } + return "" +} + +func (x *AgentRunAnnotated) GetAuthorPrincipalId() string { + if x != nil { + return x.AuthorPrincipalId + } + return "" +} + +func (x *AgentRunAnnotated) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *AgentRunAnnotated) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *AgentRunAnnotated) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +// WorkflowIngested fires when the workflow ingest worker finishes processing +// one .brent/workflows/*.md file at a commit. outcome is "loaded", +// "failed_parse", or "deleted" (string, not enum — CEL-matchable and +// consistent with ReviewSubmitted.status). error carries the failure reason +// when outcome is failed_parse; for deleted outcomes it is "removed_from_repo". +type WorkflowIngested struct { + state protoimpl.MessageState `protogen:"open.v1"` + SourceRepoFullName string `protobuf:"bytes,1,opt,name=source_repo_full_name,json=sourceRepoFullName,proto3" json:"source_repo_full_name,omitempty"` + SourcePath string `protobuf:"bytes,2,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"` + CommitSha string `protobuf:"bytes,3,opt,name=commit_sha,json=commitSha,proto3" json:"commit_sha,omitempty"` + Outcome string `protobuf:"bytes,4,opt,name=outcome,proto3" json:"outcome,omitempty"` + Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` + WorkflowExternalId *string `protobuf:"bytes,6,opt,name=workflow_external_id,json=workflowExternalId,proto3,oneof" json:"workflow_external_id,omitempty"` + Name *string `protobuf:"bytes,7,opt,name=name,proto3,oneof" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowIngested) Reset() { + *x = WorkflowIngested{} + mi := &file_brent_proto_msgTypes[160] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowIngested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowIngested) ProtoMessage() {} + +func (x *WorkflowIngested) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[160] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowIngested.ProtoReflect.Descriptor instead. +func (*WorkflowIngested) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{160} +} + +func (x *WorkflowIngested) GetSourceRepoFullName() string { + if x != nil { + return x.SourceRepoFullName + } + return "" +} + +func (x *WorkflowIngested) GetSourcePath() string { + if x != nil { + return x.SourcePath + } + return "" +} + +func (x *WorkflowIngested) GetCommitSha() string { + if x != nil { + return x.CommitSha + } + return "" +} + +func (x *WorkflowIngested) GetOutcome() string { + if x != nil { + return x.Outcome + } + return "" +} + +func (x *WorkflowIngested) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *WorkflowIngested) GetWorkflowExternalId() string { + if x != nil && x.WorkflowExternalId != nil { + return *x.WorkflowExternalId + } + return "" +} + +func (x *WorkflowIngested) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +// WorkflowRunQueued fires when workflows.Store inserts a workflow_runs row. +type WorkflowRunQueued struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + QueuedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=queued_at,json=queuedAt,proto3" json:"queued_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRunQueued) Reset() { + *x = WorkflowRunQueued{} + mi := &file_brent_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRunQueued) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRunQueued) ProtoMessage() {} + +func (x *WorkflowRunQueued) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[161] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRunQueued.ProtoReflect.Descriptor instead. +func (*WorkflowRunQueued) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{161} +} + +func (x *WorkflowRunQueued) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *WorkflowRunQueued) GetWorkflowName() string { + if x != nil { + return x.WorkflowName + } + return "" +} + +func (x *WorkflowRunQueued) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowRunQueued) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *WorkflowRunQueued) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *WorkflowRunQueued) GetQueuedAt() *timestamppb.Timestamp { + if x != nil { + return x.QueuedAt + } + return nil +} + +// WorkflowRunStarted fires when a run transitions to running. +type WorkflowRunStarted struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRunStarted) Reset() { + *x = WorkflowRunStarted{} + mi := &file_brent_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRunStarted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRunStarted) ProtoMessage() {} + +func (x *WorkflowRunStarted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[162] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRunStarted.ProtoReflect.Descriptor instead. +func (*WorkflowRunStarted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{162} +} + +func (x *WorkflowRunStarted) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *WorkflowRunStarted) GetWorkflowName() string { + if x != nil { + return x.WorkflowName + } + return "" +} + +func (x *WorkflowRunStarted) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowRunStarted) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *WorkflowRunStarted) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *WorkflowRunStarted) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +// WorkflowRunCompleted fires when a run reaches completed terminal status. +type WorkflowRunCompleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRunCompleted) Reset() { + *x = WorkflowRunCompleted{} + mi := &file_brent_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRunCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRunCompleted) ProtoMessage() {} + +func (x *WorkflowRunCompleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[163] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRunCompleted.ProtoReflect.Descriptor instead. +func (*WorkflowRunCompleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{163} +} + +func (x *WorkflowRunCompleted) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *WorkflowRunCompleted) GetWorkflowName() string { + if x != nil { + return x.WorkflowName + } + return "" +} + +func (x *WorkflowRunCompleted) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowRunCompleted) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *WorkflowRunCompleted) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *WorkflowRunCompleted) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +// WorkflowRunFailed fires when a run reaches failed terminal status. +type WorkflowRunFailed struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + ErrorMessage string `protobuf:"bytes,6,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + FailedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=failed_at,json=failedAt,proto3" json:"failed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRunFailed) Reset() { + *x = WorkflowRunFailed{} + mi := &file_brent_proto_msgTypes[164] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRunFailed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRunFailed) ProtoMessage() {} + +func (x *WorkflowRunFailed) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[164] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRunFailed.ProtoReflect.Descriptor instead. +func (*WorkflowRunFailed) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{164} +} + +func (x *WorkflowRunFailed) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *WorkflowRunFailed) GetWorkflowName() string { + if x != nil { + return x.WorkflowName + } + return "" +} + +func (x *WorkflowRunFailed) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowRunFailed) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *WorkflowRunFailed) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *WorkflowRunFailed) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *WorkflowRunFailed) GetFailedAt() *timestamppb.Timestamp { + if x != nil { + return x.FailedAt + } + return nil +} + +// WorkflowRunCancelled fires when a run reaches cancelled terminal status. +type WorkflowRunCancelled struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + CancelReason string `protobuf:"bytes,6,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"` + CancelledAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=cancelled_at,json=cancelledAt,proto3" json:"cancelled_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRunCancelled) Reset() { + *x = WorkflowRunCancelled{} + mi := &file_brent_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRunCancelled) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRunCancelled) ProtoMessage() {} + +func (x *WorkflowRunCancelled) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[165] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRunCancelled.ProtoReflect.Descriptor instead. +func (*WorkflowRunCancelled) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{165} +} + +func (x *WorkflowRunCancelled) GetWorkflowRunId() string { + if x != nil { + return x.WorkflowRunId + } + return "" +} + +func (x *WorkflowRunCancelled) GetWorkflowName() string { + if x != nil { + return x.WorkflowName + } + return "" +} + +func (x *WorkflowRunCancelled) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowRunCancelled) GetPrId() string { + if x != nil { + return x.PrId + } + return "" +} + +func (x *WorkflowRunCancelled) GetHeadSha() string { + if x != nil { + return x.HeadSha + } + return "" +} + +func (x *WorkflowRunCancelled) GetCancelReason() string { + if x != nil { + return x.CancelReason + } + return "" +} + +func (x *WorkflowRunCancelled) GetCancelledAt() *timestamppb.Timestamp { + if x != nil { + return x.CancelledAt + } + return nil +} + +// SlackWebhook is the single payload carrying every mapped Slack Events +// API delivery. event_payload is the signature-validated raw JSON body (the +// same bytes VerifySignature ran against). event_type is the inner +// event type from the envelope (e.g. "app_uninstalled", +// "tokens_revoked", "app_mention"). account_name and team_id are the +// Brent routing outcome from organisation_app_installations. +type SlackWebhook struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Slack event_id from the outer event_callback envelope. + DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` + // Inner event type (e.g. app_mention, app_uninstalled, tokens_revoked). + EventType string `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // Brent account that owns the mapped Slack workspace install. + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // Slack workspace team_id from the outer envelope. + TeamId string `protobuf:"bytes,4,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` + // The signature-validated raw JSON delivery body. Annotated embedded_json + // so protojson emits readable JSON (not base64) and CEL discovers the + // synthetic decoded `payload` field automatically. See embedded_json option. + EventPayload string `protobuf:"bytes,5,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SlackWebhook) Reset() { + *x = SlackWebhook{} + mi := &file_brent_proto_msgTypes[166] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SlackWebhook) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlackWebhook) ProtoMessage() {} + +func (x *SlackWebhook) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[166] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlackWebhook.ProtoReflect.Descriptor instead. +func (*SlackWebhook) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{166} +} + +func (x *SlackWebhook) GetDeliveryId() string { + if x != nil { + return x.DeliveryId + } + return "" +} + +func (x *SlackWebhook) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *SlackWebhook) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *SlackWebhook) GetTeamId() string { + if x != nil { + return x.TeamId + } + return "" +} + +func (x *SlackWebhook) GetEventPayload() string { + if x != nil { + return x.EventPayload + } + return "" +} + +// LinearWebhook is the single payload carrying every mapped Linear +// webhook delivery. event_payload is the signature-validated raw JSON body +// (the same bytes that the Linear-Signature HMAC ran against). +// event_type and event_action are the body.type and body.action +// strings (e.g. "PermissionChange"/"teamAccessChanged", +// "OAuthApp"/"revoked"). account_name and organization_id are the +// Brent routing outcome from organisation_app_installations +// (provider='linear', external_workspace_id=). +// Unmapped deliveries return a 404 from the webhook handler and no +// event row is written (resolve-before-write). +// +// Workflow CEL: the environment exposes a synthetic decoded +// event.linear_webhook.payload.* field (dyn) that mirrors the delivery +// JSON body; the raw event_payload string is hidden from CEL — use the +// decoded form for field access, same as GitHubWebhook. +type LinearWebhook struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Linear-Delivery header (UUID assigned by Linear). + DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` + // body.type ("PermissionChange" | "OAuthApp" | ...). + EventType string `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // body.action ("teamAccessChanged" | "revoked" | ...). + EventAction string `protobuf:"bytes,3,opt,name=event_action,json=eventAction,proto3" json:"event_action,omitempty"` + // Brent account that owns the mapped Linear workspace install. + AccountName string `protobuf:"bytes,4,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // body.organizationId — Linear workspace identifier carried on every + // webhook delivery; stored on the install row as external_workspace_id. + OrganizationId string `protobuf:"bytes,5,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` + // The signature-validated raw JSON delivery body. Annotated embedded_json + // so protojson emits readable JSON (not base64) and CEL discovers the + // synthetic decoded `payload` field automatically. See embedded_json option. + EventPayload string `protobuf:"bytes,6,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LinearWebhook) Reset() { + *x = LinearWebhook{} + mi := &file_brent_proto_msgTypes[167] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LinearWebhook) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinearWebhook) ProtoMessage() {} + +func (x *LinearWebhook) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[167] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LinearWebhook.ProtoReflect.Descriptor instead. +func (*LinearWebhook) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{167} +} + +func (x *LinearWebhook) GetDeliveryId() string { + if x != nil { + return x.DeliveryId + } + return "" +} + +func (x *LinearWebhook) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *LinearWebhook) GetEventAction() string { + if x != nil { + return x.EventAction + } + return "" +} + +func (x *LinearWebhook) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *LinearWebhook) GetOrganizationId() string { + if x != nil { + return x.OrganizationId + } + return "" +} + +func (x *LinearWebhook) GetEventPayload() string { + if x != nil { + return x.EventPayload + } + return "" +} + +// ComposioTriggerMessage carries one inbound Composio Trigger V3 delivery +// (POST /webhooks/composio), attributed to a Brent workspace via +// connected_account_id. First-class typed family (ENG-5624) replacing the +// Composio-first OtherEvent stopgap from the ENG-5611 spike. Toolkit-agnostic: +// workflows discriminate on trigger_slug and read toolkit data via the +// synthetic decoded payload.* map (see embedded_json option). +type ComposioTriggerMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Webhook-Id header — unique per delivery/redelivery. Workflows key their + // thread on this; trigger_id is stable across deliveries and must not be a + // thread key. + DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` + // Composio trigger slug, e.g. "JIRA_NEW_ISSUE_TRIGGER". Direct CEL field. + TriggerSlug string `protobuf:"bytes,2,opt,name=trigger_slug,json=triggerSlug,proto3" json:"trigger_slug,omitempty"` + // Composio trigger instance id (stable across deliveries). + TriggerId string `protobuf:"bytes,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"` + // connected_account_id mapping to a Brent workspace via + // organisation_app_installations (provider = mcp-aggregator). + ConnectedAccountId string `protobuf:"bytes,4,opt,name=connected_account_id,json=connectedAccountId,proto3" json:"connected_account_id,omitempty"` + // Raw Composio delivery `data` JSON. Annotated embedded_json so CEL + // discovers the synthetic decoded `payload` field automatically, e.g. + // event.composio_trigger_message.payload.issue_key. + // + // Retention/sensitivity: persisted verbatim in events.payload jsonb under + // the same table retention as GitHubWebhook/LinearWebhook event_payload + // (see adr-embedded-json-in-events). No field-level redaction in this phase. + EventPayload string `protobuf:"bytes,5,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComposioTriggerMessage) Reset() { + *x = ComposioTriggerMessage{} + mi := &file_brent_proto_msgTypes[168] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComposioTriggerMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComposioTriggerMessage) ProtoMessage() {} + +func (x *ComposioTriggerMessage) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[168] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComposioTriggerMessage.ProtoReflect.Descriptor instead. +func (*ComposioTriggerMessage) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{168} +} + +func (x *ComposioTriggerMessage) GetDeliveryId() string { + if x != nil { + return x.DeliveryId + } + return "" +} + +func (x *ComposioTriggerMessage) GetTriggerSlug() string { + if x != nil { + return x.TriggerSlug + } + return "" +} + +func (x *ComposioTriggerMessage) GetTriggerId() string { + if x != nil { + return x.TriggerId + } + return "" +} + +func (x *ComposioTriggerMessage) GetConnectedAccountId() string { + if x != nil { + return x.ConnectedAccountId + } + return "" +} + +func (x *ComposioTriggerMessage) GetEventPayload() string { + if x != nil { + return x.EventPayload + } + return "" +} + +// GitHubWebhook is the single payload carrying every GitHub webhook +// delivery. event_payload is the signature-validated raw JSON body +// (the same bytes ValidatePayload ran against). event_type is the +// X-GitHub-Event header captured at the producer (e.g. "pull_request", +// "check_suite", "push"). Workflow authors match the header via +// event.github_webhook.event_type and the delivery body via the synthetic +// decoded event.github_webhook.payload.* map (see embedded_json option — +// the raw event_payload string is hidden from CEL). Decode is lazy and +// memoised by delivery_id so a single delivery hitting N matching +// workflows pays the JSON-decode cost once. +type GitHubWebhook struct { + state protoimpl.MessageState `protogen:"open.v1"` + // X-GitHub-Delivery (UUID assigned by GitHub). + DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` + // The signature-validated raw JSON delivery body — the same bytes + // ValidatePayload ran against. Annotated embedded_json so CEL discovers + // the synthetic decoded `payload` field automatically. See embedded_json + // option. + EventPayload string `protobuf:"bytes,2,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` + // The X-GitHub-Event header captured at the producer (e.g. + // "pull_request", "check_suite", "push", "release"). Direct CEL + // field — workflows discriminate event kind without parsing the body. + EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GitHubWebhook) Reset() { + *x = GitHubWebhook{} + mi := &file_brent_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GitHubWebhook) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitHubWebhook) ProtoMessage() {} + +func (x *GitHubWebhook) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[169] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitHubWebhook.ProtoReflect.Descriptor instead. +func (*GitHubWebhook) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{169} +} + +func (x *GitHubWebhook) GetDeliveryId() string { + if x != nil { + return x.DeliveryId + } + return "" +} + +func (x *GitHubWebhook) GetEventPayload() string { + if x != nil { + return x.EventPayload + } + return "" +} + +func (x *GitHubWebhook) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +// GitLabWebhook is the single payload carrying every GitLab webhook +// delivery. Deliveries arrive at POST /webhooks/gitlab/{token} and +// authenticate via the per-install X-Gitlab-Token secret (issued at +// ConnectGitLab time). event_payload is the secret-token-validated raw +// JSON body. event_type is the X-Gitlab-Event header captured at the +// producer (e.g. "Merge Request Hook", "Push Hook"). Workflow authors +// match via event.gitlab_webhook.event_type and the delivery body via +// the synthetic decoded event.gitlab_webhook.payload.* map (see +// embedded_json option — the raw event_payload string is hidden from CEL). +// +// Unlike GitHub's HMAC body signature, GitLab v18 uses the +// X-Gitlab-Token secret-token scheme: the per-install secret is sent +// verbatim in the header and compared constant-time on the receiver. +// Transport integrity rests on TLS; redelivery dedup rests on the +// Idempotency-Key ledger (gitlab_event_deliveries table). +type GitLabWebhook struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Idempotency-Key header (stable across GitLab retries). + DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` + // The secret-token-validated raw JSON delivery body. Annotated + // embedded_json so CEL discovers the synthetic decoded `payload` + // field automatically. See embedded_json option. + EventPayload string `protobuf:"bytes,2,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` + // The X-Gitlab-Event header captured at the producer (e.g. + // "Merge Request Hook", "Push Hook", "Pipeline Hook"). Direct CEL + // field — workflows discriminate event kind without parsing the body. + EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // The organisation_app_installations.id resolved from the URL path + // token at ingress. Propagated authoritatively so downstream listeners + // do not need to re-derive the install from payload fields. + AccountIntegrationId int64 `protobuf:"varint,4,opt,name=account_integration_id,json=accountIntegrationId,proto3" json:"account_integration_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GitLabWebhook) Reset() { + *x = GitLabWebhook{} + mi := &file_brent_proto_msgTypes[170] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GitLabWebhook) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitLabWebhook) ProtoMessage() {} + +func (x *GitLabWebhook) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[170] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitLabWebhook.ProtoReflect.Descriptor instead. +func (*GitLabWebhook) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{170} +} + +func (x *GitLabWebhook) GetDeliveryId() string { + if x != nil { + return x.DeliveryId + } + return "" +} + +func (x *GitLabWebhook) GetEventPayload() string { + if x != nil { + return x.EventPayload + } + return "" +} + +func (x *GitLabWebhook) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *GitLabWebhook) GetAccountIntegrationId() int64 { + if x != nil { + return x.AccountIntegrationId + } + return 0 +} + +// BitbucketWebhook carries a Bitbucket PR webhook delivery relayed by the Brent +// Forge app and verified via its Forge Invocation Token at the ingest endpoint. +// Mirrors GitLabWebhook; account_integration_id is the resolved internal +// organisation_app_installations.id set at ingress. +type BitbucketWebhook struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Stable delivery id (dedup key across Forge retries). + DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` + // The FIT-verified raw JSON delivery body. Annotated embedded_json so CEL + // discovers the synthetic decoded `payload` field automatically. + EventPayload string `protobuf:"bytes,2,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` + // The Bitbucket event key captured at the producer (e.g. + // "pullrequest:created", "pullrequest:updated"). Direct CEL field — + // workflows discriminate event kind without parsing the body. + EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // The organisation_app_installations.id resolved from the Bitbucket + // workspace UUID at ingress. Propagated authoritatively so downstream + // listeners do not need to re-derive the install from payload fields. + AccountIntegrationId int64 `protobuf:"varint,4,opt,name=account_integration_id,json=accountIntegrationId,proto3" json:"account_integration_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BitbucketWebhook) Reset() { + *x = BitbucketWebhook{} + mi := &file_brent_proto_msgTypes[171] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BitbucketWebhook) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BitbucketWebhook) ProtoMessage() {} + +func (x *BitbucketWebhook) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[171] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BitbucketWebhook.ProtoReflect.Descriptor instead. +func (*BitbucketWebhook) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{171} +} + +func (x *BitbucketWebhook) GetDeliveryId() string { + if x != nil { + return x.DeliveryId + } + return "" +} + +func (x *BitbucketWebhook) GetEventPayload() string { + if x != nil { + return x.EventPayload + } + return "" +} + +func (x *BitbucketWebhook) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *BitbucketWebhook) GetAccountIntegrationId() int64 { + if x != nil { + return x.AccountIntegrationId + } + return 0 +} + +// EmbeddedJsonCELFixture exists only to unit-test generic (embedded_json) +// discovery in workflows/cel_cache_test.go. No production producer writes it. +type EmbeddedJsonCELFixture struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Document string `protobuf:"bytes,2,opt,name=document,proto3" json:"document,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EmbeddedJsonCELFixture) Reset() { + *x = EmbeddedJsonCELFixture{} + mi := &file_brent_proto_msgTypes[172] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EmbeddedJsonCELFixture) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmbeddedJsonCELFixture) ProtoMessage() {} + +func (x *EmbeddedJsonCELFixture) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[172] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EmbeddedJsonCELFixture.ProtoReflect.Descriptor instead. +func (*EmbeddedJsonCELFixture) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{172} +} + +func (x *EmbeddedJsonCELFixture) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *EmbeddedJsonCELFixture) GetDocument() string { + if x != nil { + return x.Document + } + return "" +} + +// SlackMentionReceived is emitted by the slack/ aggregate's +// eventTranslator when the Brent bot is @mentioned in a Slack message. +// Workflow on: blocks match against the proto message name +// "SlackMentionReceived" verbatim (see workflows.EventTypeName). +type SlackMentionReceived struct { + state protoimpl.MessageState `protogen:"open.v1"` + // team_id is the Slack workspace ID (from the outer event_callback + // envelope, injected by the eventTranslator from slack.Config.TeamID). + TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` + // channel_id is the Slack channel ID where the mention occurred + // (e.g. "C0LAN2Q65"). + ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // channel_name is the human-readable channel name, resolved via a + // conversations.info Slack API call. Empty string when the call fails + // or when the channel has no resolvable name (DMs, missing scope); the + // WriteEvent call proceeds regardless. + ChannelName string `protobuf:"bytes,3,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"` + // user_id is the Slack user ID of the person who sent the mention. + UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // message_ts is the Slack message timestamp (the "ts" field). + MessageTs string `protobuf:"bytes,5,opt,name=message_ts,json=messageTs,proto3" json:"message_ts,omitempty"` + // text is the full text of the message containing the mention. + Text string `protobuf:"bytes,6,opt,name=text,proto3" json:"text,omitempty"` + // thread_ts is the thread parent timestamp when the mention is inside + // a thread; empty string for top-level messages. + ThreadTs string `protobuf:"bytes,7,opt,name=thread_ts,json=threadTs,proto3" json:"thread_ts,omitempty"` + // mentioned_user_ids lists every Slack user ID found as a <@UXXXXXX> + // pattern in the message text, including the bot's own user ID. + // Workflow authors can filter the bot out via CEL if needed. + MentionedUserIds []string `protobuf:"bytes,8,rep,name=mentioned_user_ids,json=mentionedUserIds,proto3" json:"mentioned_user_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SlackMentionReceived) Reset() { + *x = SlackMentionReceived{} + mi := &file_brent_proto_msgTypes[173] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SlackMentionReceived) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlackMentionReceived) ProtoMessage() {} + +func (x *SlackMentionReceived) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[173] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlackMentionReceived.ProtoReflect.Descriptor instead. +func (*SlackMentionReceived) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{173} +} + +func (x *SlackMentionReceived) GetTeamId() string { + if x != nil { + return x.TeamId + } + return "" +} + +func (x *SlackMentionReceived) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *SlackMentionReceived) GetChannelName() string { + if x != nil { + return x.ChannelName + } + return "" +} + +func (x *SlackMentionReceived) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *SlackMentionReceived) GetMessageTs() string { + if x != nil { + return x.MessageTs + } + return "" +} + +func (x *SlackMentionReceived) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +func (x *SlackMentionReceived) GetThreadTs() string { + if x != nil { + return x.ThreadTs + } + return "" +} + +func (x *SlackMentionReceived) GetMentionedUserIds() []string { + if x != nil { + return x.MentionedUserIds + } + return nil +} + +// OrganisationAppInstallationUpserted fires after organisations.Store +// commits an UpsertOrganisationAppInstallation for an account+provider. +type OrganisationAppInstallationUpserted struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + ExternalWorkspaceId string `protobuf:"bytes,2,opt,name=external_workspace_id,json=externalWorkspaceId,proto3" json:"external_workspace_id,omitempty"` + ExternalPrincipalId string `protobuf:"bytes,3,opt,name=external_principal_id,json=externalPrincipalId,proto3" json:"external_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OrganisationAppInstallationUpserted) Reset() { + *x = OrganisationAppInstallationUpserted{} + mi := &file_brent_proto_msgTypes[174] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganisationAppInstallationUpserted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganisationAppInstallationUpserted) ProtoMessage() {} + +func (x *OrganisationAppInstallationUpserted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[174] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganisationAppInstallationUpserted.ProtoReflect.Descriptor instead. +func (*OrganisationAppInstallationUpserted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{174} +} + +func (x *OrganisationAppInstallationUpserted) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *OrganisationAppInstallationUpserted) GetExternalWorkspaceId() string { + if x != nil { + return x.ExternalWorkspaceId + } + return "" +} + +func (x *OrganisationAppInstallationUpserted) GetExternalPrincipalId() string { + if x != nil { + return x.ExternalPrincipalId + } + return "" +} + +// OrganisationAppInstallationDeleted fires after organisations.Store +// removes an install row (by account+provider or by provider+principal). +type OrganisationAppInstallationDeleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + ExternalPrincipalId string `protobuf:"bytes,2,opt,name=external_principal_id,json=externalPrincipalId,proto3" json:"external_principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OrganisationAppInstallationDeleted) Reset() { + *x = OrganisationAppInstallationDeleted{} + mi := &file_brent_proto_msgTypes[175] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganisationAppInstallationDeleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganisationAppInstallationDeleted) ProtoMessage() {} + +func (x *OrganisationAppInstallationDeleted) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[175] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganisationAppInstallationDeleted.ProtoReflect.Descriptor instead. +func (*OrganisationAppInstallationDeleted) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{175} +} + +func (x *OrganisationAppInstallationDeleted) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *OrganisationAppInstallationDeleted) GetExternalPrincipalId() string { + if x != nil { + return x.ExternalPrincipalId + } + return "" +} + +// SlackReactionAdded is emitted by the slack/ aggregate's eventTranslator +// when a reaction is added to a message originally posted by the Brent bot. +// Reactions on messages NOT posted by the configured bot user are filtered +// in the translator and do not produce this event. +type SlackReactionAdded struct { + state protoimpl.MessageState `protogen:"open.v1"` + // team_id is the Slack workspace ID. + TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` + // channel_id is the channel containing the reacted message. + ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // user_id is the Slack user ID who added the reaction. + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // message_ts is the timestamp of the reacted-to message (item.ts). + MessageTs string `protobuf:"bytes,4,opt,name=message_ts,json=messageTs,proto3" json:"message_ts,omitempty"` + // reaction is the emoji name without colons (e.g. "thumbsup"). + Reaction string `protobuf:"bytes,5,opt,name=reaction,proto3" json:"reaction,omitempty"` + // item_user_id is the Slack user ID of the message author. At the + // translator filter this is always == the configured bot user ID. + ItemUserId string `protobuf:"bytes,6,opt,name=item_user_id,json=itemUserId,proto3" json:"item_user_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SlackReactionAdded) Reset() { + *x = SlackReactionAdded{} + mi := &file_brent_proto_msgTypes[176] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SlackReactionAdded) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlackReactionAdded) ProtoMessage() {} + +func (x *SlackReactionAdded) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[176] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlackReactionAdded.ProtoReflect.Descriptor instead. +func (*SlackReactionAdded) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{176} +} + +func (x *SlackReactionAdded) GetTeamId() string { + if x != nil { + return x.TeamId + } + return "" +} + +func (x *SlackReactionAdded) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *SlackReactionAdded) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *SlackReactionAdded) GetMessageTs() string { + if x != nil { + return x.MessageTs + } + return "" +} + +func (x *SlackReactionAdded) GetReaction() string { + if x != nil { + return x.Reaction + } + return "" +} + +func (x *SlackReactionAdded) GetItemUserId() string { + if x != nil { + return x.ItemUserId + } + return "" +} + +type ListWorkflowsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Empty string = caller's account from JWT (backward compatible). + // When set, return only workflows for that account_name (admin filtering). + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowsRequest) Reset() { + *x = ListWorkflowsRequest{} + mi := &file_brent_proto_msgTypes[177] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowsRequest) ProtoMessage() {} + +func (x *ListWorkflowsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[177] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowsRequest.ProtoReflect.Descriptor instead. +func (*ListWorkflowsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{177} +} + +func (x *ListWorkflowsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type ListWorkflowsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workflows []*WorkflowSummary `protobuf:"bytes,1,rep,name=workflows,proto3" json:"workflows,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowsResponse) Reset() { + *x = ListWorkflowsResponse{} + mi := &file_brent_proto_msgTypes[178] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowsResponse) ProtoMessage() {} + +func (x *ListWorkflowsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[178] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowsResponse.ProtoReflect.Descriptor instead. +func (*ListWorkflowsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{178} +} + +func (x *ListWorkflowsResponse) GetWorkflows() []*WorkflowSummary { + if x != nil { + return x.Workflows + } + return nil +} + +// WorkflowSummary carries the columns brent-area51 renders in the workflow +// list view. body_template and on_yaml are intentionally excluded — both can +// run to multiple kB per row, and the list view only shows name + description +// + provenance + the configured model. Use GetWorkflow to fetch the full +// definition. +type WorkflowSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + SourceRepoFullName string `protobuf:"bytes,5,opt,name=source_repo_full_name,json=sourceRepoFullName,proto3" json:"source_repo_full_name,omitempty"` + SourcePath string `protobuf:"bytes,6,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"` + SourceCommitSha string `protobuf:"bytes,7,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Latest ingest outcome: "loaded" or "failed_parse". Mirrors workflows.status. + Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` + // Human-readable reason the latest commit failed to load; empty when loaded. + ErrorMessage string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Per-workflow OpenAI model declared in front matter; empty means the default (gpt-5.4). + Model string `protobuf:"bytes,12,opt,name=model,proto3" json:"model,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowSummary) Reset() { + *x = WorkflowSummary{} + mi := &file_brent_proto_msgTypes[179] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowSummary) ProtoMessage() {} + +func (x *WorkflowSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[179] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowSummary.ProtoReflect.Descriptor instead. +func (*WorkflowSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{179} +} + +func (x *WorkflowSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *WorkflowSummary) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkflowSummary) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WorkflowSummary) GetSourceRepoFullName() string { + if x != nil { + return x.SourceRepoFullName + } + return "" +} + +func (x *WorkflowSummary) GetSourcePath() string { + if x != nil { + return x.SourcePath + } + return "" +} + +func (x *WorkflowSummary) GetSourceCommitSha() string { + if x != nil { + return x.SourceCommitSha + } + return "" +} + +func (x *WorkflowSummary) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *WorkflowSummary) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *WorkflowSummary) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WorkflowSummary) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *WorkflowSummary) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +type GetWorkflowRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // UUID of the workflow to fetch. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowRequest) Reset() { + *x = GetWorkflowRequest{} + mi := &file_brent_proto_msgTypes[180] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowRequest) ProtoMessage() {} + +func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[180] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowRequest.ProtoReflect.Descriptor instead. +func (*GetWorkflowRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{180} +} + +func (x *GetWorkflowRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetWorkflowResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workflow *Workflow `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowResponse) Reset() { + *x = GetWorkflowResponse{} + mi := &file_brent_proto_msgTypes[181] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowResponse) ProtoMessage() {} + +func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[181] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowResponse.ProtoReflect.Descriptor instead. +func (*GetWorkflowResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{181} +} + +func (x *GetWorkflowResponse) GetWorkflow() *Workflow { + if x != nil { + return x.Workflow + } + return nil +} + +// Workflow is the full workflow-definition aggregate as the debug UI and +// MCP read tools consume it. Mirrors workflows.Workflow row-for-row; +// adds body_template + on_yaml on top of WorkflowSummary. +type Workflow struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + // Raw `on:` YAML block from the file's front-matter. The CEL match + // expressions inside are parsed at trigger time by the workflow enqueuer. + OnYaml string `protobuf:"bytes,5,opt,name=on_yaml,json=onYaml,proto3" json:"on_yaml,omitempty"` + // Markdown body — the prompt template the Executor renders against the + // run's event payload. + BodyTemplate string `protobuf:"bytes,6,opt,name=body_template,json=bodyTemplate,proto3" json:"body_template,omitempty"` + SourceRepoFullName string `protobuf:"bytes,7,opt,name=source_repo_full_name,json=sourceRepoFullName,proto3" json:"source_repo_full_name,omitempty"` + SourcePath string `protobuf:"bytes,8,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"` + SourceCommitSha string `protobuf:"bytes,9,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Latest ingest outcome: "loaded" or "failed_parse". Mirrors workflows.status. + Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"` + // Human-readable reason the latest commit failed to load; empty when loaded. + ErrorMessage string `protobuf:"bytes,13,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Per-workflow OpenAI model declared in front matter; empty means the default (gpt-5.4). + Model string `protobuf:"bytes,14,opt,name=model,proto3" json:"model,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Workflow) Reset() { + *x = Workflow{} + mi := &file_brent_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Workflow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Workflow) ProtoMessage() {} + +func (x *Workflow) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[182] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Workflow.ProtoReflect.Descriptor instead. +func (*Workflow) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{182} +} + +func (x *Workflow) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Workflow) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *Workflow) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Workflow) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Workflow) GetOnYaml() string { + if x != nil { + return x.OnYaml + } + return "" +} + +func (x *Workflow) GetBodyTemplate() string { + if x != nil { + return x.BodyTemplate + } + return "" +} + +func (x *Workflow) GetSourceRepoFullName() string { + if x != nil { + return x.SourceRepoFullName + } + return "" +} + +func (x *Workflow) GetSourcePath() string { + if x != nil { + return x.SourcePath + } + return "" +} + +func (x *Workflow) GetSourceCommitSha() string { + if x != nil { + return x.SourceCommitSha + } + return "" +} + +func (x *Workflow) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Workflow) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Workflow) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Workflow) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *Workflow) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +type ListWorkflowRunsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional filter by workflow definition name. When set, only runs whose + // workflow_runs.name column matches are returned. Mirrors the + // (account_name, name) tuple linking workflow_runs to workflows; no FK + // column exists. + WorkflowName string `protobuf:"bytes,1,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + // Soft cap on result count. Server clamps to [1, 200]; 0 means default 50. + Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + // Opaque cursor token from a prior ListWorkflowRunsResponse.next_cursor. + // Empty string means "start from newest". Cursor encodes the (created_at, + // external_id) tuple of the last row of the previous page. + AfterCursor string `protobuf:"bytes,3,opt,name=after_cursor,json=afterCursor,proto3" json:"after_cursor,omitempty"` + // Optional filter by run status (e.g. "pending", "running", "completed", + // "failed", "cancelled"). Empty means "no filter". The matched value is + // the workflow_runs.status column verbatim — see Brent's run-status + // vocabulary in services/brent-backend/workflows/README.md. + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + // Empty string = all accounts (cross-tenant operator listing). When set, + // return only runs for that account_name. Mirrors ListPlansRequest.account_name. + AccountName string `protobuf:"bytes,5,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowRunsRequest) Reset() { + *x = ListWorkflowRunsRequest{} + mi := &file_brent_proto_msgTypes[183] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowRunsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowRunsRequest) ProtoMessage() {} + +func (x *ListWorkflowRunsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[183] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowRunsRequest.ProtoReflect.Descriptor instead. +func (*ListWorkflowRunsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{183} +} + +func (x *ListWorkflowRunsRequest) GetWorkflowName() string { + if x != nil { + return x.WorkflowName + } + return "" +} + +func (x *ListWorkflowRunsRequest) GetLimit() uint32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListWorkflowRunsRequest) GetAfterCursor() string { + if x != nil { + return x.AfterCursor + } + return "" +} + +func (x *ListWorkflowRunsRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListWorkflowRunsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type ListWorkflowRunsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Runs []*WorkflowRunSummary `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"` + // Set when more rows exist beyond the current page. Pass this verbatim + // as the next request's after_cursor. + NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowRunsResponse) Reset() { + *x = ListWorkflowRunsResponse{} + mi := &file_brent_proto_msgTypes[184] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowRunsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowRunsResponse) ProtoMessage() {} + +func (x *ListWorkflowRunsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[184] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowRunsResponse.ProtoReflect.Descriptor instead. +func (*ListWorkflowRunsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{184} +} + +func (x *ListWorkflowRunsResponse) GetRuns() []*WorkflowRunSummary { + if x != nil { + return x.Runs + } + return nil +} + +func (x *ListWorkflowRunsResponse) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +// WorkflowRunSummary carries the columns the run-list view renders. +// Excludes prompt and the (potentially large) triggering_event_payload — +// fetch the full run via GetWorkflowRun. +type WorkflowRunSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` + // What triggered this run (e.g. "plan_created", "review_submitted", + // "webhook", "execute_workflow"). + TriggerKind string `protobuf:"bytes,7,opt,name=trigger_kind,json=triggerKind,proto3" json:"trigger_kind,omitempty"` + // Friendly identifier of the linked plan (e.g. BRENT-42), or unset when none. + PlanFriendlyId *string `protobuf:"bytes,8,opt,name=plan_friendly_id,json=planFriendlyId,proto3,oneof" json:"plan_friendly_id,omitempty"` + ReviewId *string `protobuf:"bytes,9,opt,name=review_id,json=reviewId,proto3,oneof" json:"review_id,omitempty"` + // Set only on failure; carries the human-readable error message. + ErrorMessage *string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` + // Denormalised event-type discriminator (e.g. "PlanCreated", + // "GitHubWebhook"). Empty for legacy / imperative runs. + TriggeringEventType string `protobuf:"bytes,12,opt,name=triggering_event_type,json=triggeringEventType,proto3" json:"triggering_event_type,omitempty"` + // SHA of the workflows row at trigger time; provenance breadcrumb. + WorkflowSourceCommitSha string `protobuf:"bytes,13,opt,name=workflow_source_commit_sha,json=workflowSourceCommitSha,proto3" json:"workflow_source_commit_sha,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Thread key computed from the triggering event. Empty when the + // workflow has no thread.key expression. + ThreadKey *string `protobuf:"bytes,18,opt,name=thread_key,json=threadKey,proto3,oneof" json:"thread_key,omitempty"` + // OpenAI response_id captured from a prior thread sibling at enqueue time. + // Non-empty when this run resumes the conversation via previous_response_id. + PreviousResponseId string `protobuf:"bytes,19,opt,name=previous_response_id,json=previousResponseId,proto3" json:"previous_response_id,omitempty"` + // external_id of the workflow_runs row this run resumed from; unset when fresh. + ResumedFromRunId *string `protobuf:"bytes,20,opt,name=resumed_from_run_id,json=resumedFromRunId,proto3,oneof" json:"resumed_from_run_id,omitempty"` + // Plan reference (plans.external_id). For brent-area51 navigation only. + // plan_friendly_id (field 8) remains the plan identifier (friendly ID) for display. + PlanUuid *string `protobuf:"bytes,21,opt,name=plan_uuid,json=planUuid,proto3,oneof" json:"plan_uuid,omitempty"` + // workflows.external_id for navigation to /workflows/$workflowId. Unset when + // the parent workflow definition cannot be resolved. + WorkflowId *string `protobuf:"bytes,22,opt,name=workflow_id,json=workflowId,proto3,oneof" json:"workflow_id,omitempty"` + // pull_requests.external_id when the run is PR-attributed. + PrId *string `protobuf:"bytes,23,opt,name=pr_id,json=prId,proto3,oneof" json:"pr_id,omitempty"` + // Denormalised from pull_requests when pr_id is set (e.g. + // "overmindtech/workspace" and 5729 → "overmindtech/workspace#5729"). + PrRepoFullName *string `protobuf:"bytes,24,opt,name=pr_repo_full_name,json=prRepoFullName,proto3,oneof" json:"pr_repo_full_name,omitempty"` + PrNumber *int32 `protobuf:"varint,25,opt,name=pr_number,json=prNumber,proto3,oneof" json:"pr_number,omitempty"` + // OpenAI model snapshotted onto workflow_runs at enqueue; empty means the + // run used the default (gpt-5.4). Distinct from the parent workflow + // definition's configured model (WorkflowSummary.model). + Model string `protobuf:"bytes,26,opt,name=model,proto3" json:"model,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRunSummary) Reset() { + *x = WorkflowRunSummary{} + mi := &file_brent_proto_msgTypes[185] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRunSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRunSummary) ProtoMessage() {} + +func (x *WorkflowRunSummary) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[185] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRunSummary.ProtoReflect.Descriptor instead. +func (*WorkflowRunSummary) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{185} +} + +func (x *WorkflowRunSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *WorkflowRunSummary) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowRunSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkflowRunSummary) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WorkflowRunSummary) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WorkflowRunSummary) GetTriggerKind() string { + if x != nil { + return x.TriggerKind + } + return "" +} + +func (x *WorkflowRunSummary) GetPlanFriendlyId() string { + if x != nil && x.PlanFriendlyId != nil { + return *x.PlanFriendlyId + } + return "" +} + +func (x *WorkflowRunSummary) GetReviewId() string { + if x != nil && x.ReviewId != nil { + return *x.ReviewId + } + return "" +} + +func (x *WorkflowRunSummary) GetErrorMessage() string { + if x != nil && x.ErrorMessage != nil { + return *x.ErrorMessage + } + return "" +} + +func (x *WorkflowRunSummary) GetTriggeringEventType() string { + if x != nil { + return x.TriggeringEventType + } + return "" +} + +func (x *WorkflowRunSummary) GetWorkflowSourceCommitSha() string { + if x != nil { + return x.WorkflowSourceCommitSha + } + return "" +} + +func (x *WorkflowRunSummary) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *WorkflowRunSummary) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +func (x *WorkflowRunSummary) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *WorkflowRunSummary) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *WorkflowRunSummary) GetThreadKey() string { + if x != nil && x.ThreadKey != nil { + return *x.ThreadKey + } + return "" +} + +func (x *WorkflowRunSummary) GetPreviousResponseId() string { + if x != nil { + return x.PreviousResponseId + } + return "" +} + +func (x *WorkflowRunSummary) GetResumedFromRunId() string { + if x != nil && x.ResumedFromRunId != nil { + return *x.ResumedFromRunId + } + return "" +} + +func (x *WorkflowRunSummary) GetPlanUuid() string { + if x != nil && x.PlanUuid != nil { + return *x.PlanUuid + } + return "" +} + +func (x *WorkflowRunSummary) GetWorkflowId() string { + if x != nil && x.WorkflowId != nil { + return *x.WorkflowId + } + return "" +} + +func (x *WorkflowRunSummary) GetPrId() string { + if x != nil && x.PrId != nil { + return *x.PrId + } + return "" +} + +func (x *WorkflowRunSummary) GetPrRepoFullName() string { + if x != nil && x.PrRepoFullName != nil { + return *x.PrRepoFullName + } + return "" +} + +func (x *WorkflowRunSummary) GetPrNumber() int32 { + if x != nil && x.PrNumber != nil { + return *x.PrNumber + } + return 0 +} + +func (x *WorkflowRunSummary) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +type GetWorkflowRunRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowRunRequest) Reset() { + *x = GetWorkflowRunRequest{} + mi := &file_brent_proto_msgTypes[186] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowRunRequest) ProtoMessage() {} + +func (x *GetWorkflowRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[186] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowRunRequest.ProtoReflect.Descriptor instead. +func (*GetWorkflowRunRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{186} +} + +func (x *GetWorkflowRunRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetWorkflowRunThreadHistoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // external_id of the current workflow run (ancestors only in the response). + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowRunThreadHistoryRequest) Reset() { + *x = GetWorkflowRunThreadHistoryRequest{} + mi := &file_brent_proto_msgTypes[187] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowRunThreadHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowRunThreadHistoryRequest) ProtoMessage() {} + +func (x *GetWorkflowRunThreadHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[187] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowRunThreadHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetWorkflowRunThreadHistoryRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{187} +} + +func (x *GetWorkflowRunThreadHistoryRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type WorkflowRunThreadSegment struct { + state protoimpl.MessageState `protogen:"open.v1"` + Run *WorkflowRunSummary `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` + Steps []*ExecuteWorkflowResponse `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRunThreadSegment) Reset() { + *x = WorkflowRunThreadSegment{} + mi := &file_brent_proto_msgTypes[188] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRunThreadSegment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRunThreadSegment) ProtoMessage() {} + +func (x *WorkflowRunThreadSegment) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[188] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRunThreadSegment.ProtoReflect.Descriptor instead. +func (*WorkflowRunThreadSegment) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{188} +} + +func (x *WorkflowRunThreadSegment) GetRun() *WorkflowRunSummary { + if x != nil { + return x.Run + } + return nil +} + +func (x *WorkflowRunThreadSegment) GetSteps() []*ExecuteWorkflowResponse { + if x != nil { + return x.Steps + } + return nil +} + +type GetWorkflowRunThreadHistoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Ancestor runs only, oldest segment first. Current run steps use WatchRun. + Segments []*WorkflowRunThreadSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` + // True when chain depth or per-run step caps were hit. + Truncated bool `protobuf:"varint,2,opt,name=truncated,proto3" json:"truncated,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowRunThreadHistoryResponse) Reset() { + *x = GetWorkflowRunThreadHistoryResponse{} + mi := &file_brent_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowRunThreadHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowRunThreadHistoryResponse) ProtoMessage() {} + +func (x *GetWorkflowRunThreadHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[189] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowRunThreadHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetWorkflowRunThreadHistoryResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{189} +} + +func (x *GetWorkflowRunThreadHistoryResponse) GetSegments() []*WorkflowRunThreadSegment { + if x != nil { + return x.Segments + } + return nil +} + +func (x *GetWorkflowRunThreadHistoryResponse) GetTruncated() bool { + if x != nil { + return x.Truncated + } + return false +} + +type GetWorkflowRunResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Run *WorkflowRun `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` + // Set when the parent workflow definition is resolvable by + // (account_name, name). Unset for legacy / imperative runs whose name + // doesn't match any active workflows row (e.g. one-shot manual runs). + Workflow *WorkflowSummary `protobuf:"bytes,2,opt,name=workflow,proto3,oneof" json:"workflow,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowRunResponse) Reset() { + *x = GetWorkflowRunResponse{} + mi := &file_brent_proto_msgTypes[190] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowRunResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowRunResponse) ProtoMessage() {} + +func (x *GetWorkflowRunResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[190] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowRunResponse.ProtoReflect.Descriptor instead. +func (*GetWorkflowRunResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{190} +} + +func (x *GetWorkflowRunResponse) GetRun() *WorkflowRun { + if x != nil { + return x.Run + } + return nil +} + +func (x *GetWorkflowRunResponse) GetWorkflow() *WorkflowSummary { + if x != nil { + return x.Workflow + } + return nil +} + +// WorkflowRun is the full run row as the debug UI and MCP tools consume it. +// Carries everything in WorkflowRunSummary plus prompt + the typed Event +// payload that triggered it + low-level diagnostic fields. +type WorkflowRun struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` + TriggerKind string `protobuf:"bytes,7,opt,name=trigger_kind,json=triggerKind,proto3" json:"trigger_kind,omitempty"` + // Friendly identifier of the linked plan (e.g. BRENT-42), or unset when none. + PlanFriendlyId *string `protobuf:"bytes,8,opt,name=plan_friendly_id,json=planFriendlyId,proto3,oneof" json:"plan_friendly_id,omitempty"` + ReviewId *string `protobuf:"bytes,9,opt,name=review_id,json=reviewId,proto3,oneof" json:"review_id,omitempty"` + // Set only on failure; carries the human-readable error message. Same + // semantics as WorkflowRunSummary.error_message. + ErrorMessage *string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` + TriggeringEventType string `protobuf:"bytes,12,opt,name=triggering_event_type,json=triggeringEventType,proto3" json:"triggering_event_type,omitempty"` + WorkflowSourceCommitSha string `protobuf:"bytes,13,opt,name=workflow_source_commit_sha,json=workflowSourceCommitSha,proto3" json:"workflow_source_commit_sha,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // The full agent prompt for this run. Empty for state-transition workflows + // that use registered prompts at run time. + Prompt string `protobuf:"bytes,18,opt,name=prompt,proto3" json:"prompt,omitempty"` + // Brent binary version at enqueue time; empty for non-webhook runs. + BrentVersion string `protobuf:"bytes,20,opt,name=brent_version,json=brentVersion,proto3" json:"brent_version,omitempty"` + // OpenAI response_id of the final agent turn; empty until the run reaches + // QA mode. + ResponseId string `protobuf:"bytes,21,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"` + // True once a cancel has been requested. The worker observes this to + // decide cancelled-vs-failed terminal status. + CancelRequested bool `protobuf:"varint,22,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"` + // The typed Event payload that triggered this run, decoded from the JSONB + // snapshot in workflow_runs.triggering_event_payload. Unset for legacy / + // imperative runs. + TriggeringEventPayload *Event `protobuf:"bytes,23,opt,name=triggering_event_payload,json=triggeringEventPayload,proto3,oneof" json:"triggering_event_payload,omitempty"` + // Thread key computed from the triggering event. Empty when the + // workflow has no thread.key expression. + ThreadKey *string `protobuf:"bytes,24,opt,name=thread_key,json=threadKey,proto3,oneof" json:"thread_key,omitempty"` + // OpenAI response_id captured from a prior thread sibling at enqueue time. + PreviousResponseId string `protobuf:"bytes,25,opt,name=previous_response_id,json=previousResponseId,proto3" json:"previous_response_id,omitempty"` + // external_id of the workflow_runs row this run resumed from; unset when fresh. + ResumedFromRunId *string `protobuf:"bytes,26,opt,name=resumed_from_run_id,json=resumedFromRunId,proto3,oneof" json:"resumed_from_run_id,omitempty"` + // Plan reference (plans.external_id). For brent-area51 navigation only. + // plan_friendly_id (field 8) remains the plan identifier (friendly ID) for display. + PlanUuid *string `protobuf:"bytes,27,opt,name=plan_uuid,json=planUuid,proto3,oneof" json:"plan_uuid,omitempty"` + // pull_requests.external_id when the run is PR-attributed. + PrId *string `protobuf:"bytes,28,opt,name=pr_id,json=prId,proto3,oneof" json:"pr_id,omitempty"` + // OpenAI model snapshotted onto workflow_runs at enqueue; empty means the + // run used the default (gpt-5.4). Distinct from the parent workflow + // definition's configured model when GetWorkflowRun.workflow is set. + Model string `protobuf:"bytes,29,opt,name=model,proto3" json:"model,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRun) Reset() { + *x = WorkflowRun{} + mi := &file_brent_proto_msgTypes[191] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRun) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRun) ProtoMessage() {} + +func (x *WorkflowRun) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[191] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRun.ProtoReflect.Descriptor instead. +func (*WorkflowRun) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{191} +} + +func (x *WorkflowRun) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *WorkflowRun) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *WorkflowRun) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkflowRun) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WorkflowRun) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WorkflowRun) GetTriggerKind() string { + if x != nil { + return x.TriggerKind + } + return "" +} + +func (x *WorkflowRun) GetPlanFriendlyId() string { + if x != nil && x.PlanFriendlyId != nil { + return *x.PlanFriendlyId + } + return "" +} + +func (x *WorkflowRun) GetReviewId() string { + if x != nil && x.ReviewId != nil { + return *x.ReviewId + } + return "" +} + +func (x *WorkflowRun) GetErrorMessage() string { + if x != nil && x.ErrorMessage != nil { + return *x.ErrorMessage + } + return "" +} + +func (x *WorkflowRun) GetTriggeringEventType() string { + if x != nil { + return x.TriggeringEventType + } + return "" +} + +func (x *WorkflowRun) GetWorkflowSourceCommitSha() string { + if x != nil { + return x.WorkflowSourceCommitSha + } + return "" +} + +func (x *WorkflowRun) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *WorkflowRun) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +func (x *WorkflowRun) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *WorkflowRun) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *WorkflowRun) GetPrompt() string { + if x != nil { + return x.Prompt + } + return "" +} + +func (x *WorkflowRun) GetBrentVersion() string { + if x != nil { + return x.BrentVersion + } + return "" +} + +func (x *WorkflowRun) GetResponseId() string { + if x != nil { + return x.ResponseId + } + return "" +} + +func (x *WorkflowRun) GetCancelRequested() bool { + if x != nil { + return x.CancelRequested + } + return false +} + +func (x *WorkflowRun) GetTriggeringEventPayload() *Event { + if x != nil { + return x.TriggeringEventPayload + } + return nil +} + +func (x *WorkflowRun) GetThreadKey() string { + if x != nil && x.ThreadKey != nil { + return *x.ThreadKey + } + return "" +} + +func (x *WorkflowRun) GetPreviousResponseId() string { + if x != nil { + return x.PreviousResponseId + } + return "" +} + +func (x *WorkflowRun) GetResumedFromRunId() string { + if x != nil && x.ResumedFromRunId != nil { + return *x.ResumedFromRunId + } + return "" +} + +func (x *WorkflowRun) GetPlanUuid() string { + if x != nil && x.PlanUuid != nil { + return *x.PlanUuid + } + return "" +} + +func (x *WorkflowRun) GetPrId() string { + if x != nil && x.PrId != nil { + return *x.PrId + } + return "" +} + +func (x *WorkflowRun) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +type GetPrincipalStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPrincipalStatusRequest) Reset() { + *x = GetPrincipalStatusRequest{} + mi := &file_brent_proto_msgTypes[192] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPrincipalStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrincipalStatusRequest) ProtoMessage() {} + +func (x *GetPrincipalStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[192] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPrincipalStatusRequest.ProtoReflect.Descriptor instead. +func (*GetPrincipalStatusRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{192} +} + +type GetPrincipalStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + State PrincipalStatusState `protobuf:"varint,1,opt,name=state,proto3,enum=brent.PrincipalStatusState" json:"state,omitempty"` + // Populated when state = READY. Omitted when NEEDS_ONBOARDING. + Principal *Principal `protobuf:"bytes,2,opt,name=principal,proto3,oneof" json:"principal,omitempty"` + // Populated when state = READY. One entry per supported provider. + Integrations []*IntegrationStatus `protobuf:"bytes,3,rep,name=integrations,proto3" json:"integrations,omitempty"` + // User's preferred IDE for MCP install UI (cursor, claude-code, generic). + // Sourced from principal_identities; defaults to cursor for existing users. + PreferredIde string `protobuf:"bytes,4,opt,name=preferred_ide,json=preferredIde,proto3" json:"preferred_ide,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPrincipalStatusResponse) Reset() { + *x = GetPrincipalStatusResponse{} + mi := &file_brent_proto_msgTypes[193] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPrincipalStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrincipalStatusResponse) ProtoMessage() {} + +func (x *GetPrincipalStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[193] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPrincipalStatusResponse.ProtoReflect.Descriptor instead. +func (*GetPrincipalStatusResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{193} +} + +func (x *GetPrincipalStatusResponse) GetState() PrincipalStatusState { + if x != nil { + return x.State + } + return PrincipalStatusState_PRINCIPAL_STATUS_STATE_UNSPECIFIED +} + +func (x *GetPrincipalStatusResponse) GetPrincipal() *Principal { + if x != nil { + return x.Principal + } + return nil +} + +func (x *GetPrincipalStatusResponse) GetIntegrations() []*IntegrationStatus { + if x != nil { + return x.Integrations + } + return nil +} + +func (x *GetPrincipalStatusResponse) GetPreferredIde() string { + if x != nil { + return x.PreferredIde + } + return "" +} + +type GetIntegrationConnectURLRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + Intent IntegrationIntent `protobuf:"varint,2,opt,name=intent,proto3,enum=brent.IntegrationIntent" json:"intent,omitempty"` + // Instance discriminator for aggregator providers (e.g. the Composio toolkit + // slug for MCP_AGGREGATOR). Required when provider needs per-instance routing; + // ignored by single-instance providers (GitHub/Linear/Slack). + InstanceSlug string `protobuf:"bytes,3,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetIntegrationConnectURLRequest) Reset() { + *x = GetIntegrationConnectURLRequest{} + mi := &file_brent_proto_msgTypes[194] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetIntegrationConnectURLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIntegrationConnectURLRequest) ProtoMessage() {} + +func (x *GetIntegrationConnectURLRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[194] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetIntegrationConnectURLRequest.ProtoReflect.Descriptor instead. +func (*GetIntegrationConnectURLRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{194} +} + +func (x *GetIntegrationConnectURLRequest) GetProvider() IntegrationProvider { + if x != nil { + return x.Provider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *GetIntegrationConnectURLRequest) GetIntent() IntegrationIntent { + if x != nil { + return x.Intent + } + return IntegrationIntent_INTEGRATION_INTENT_UNSPECIFIED +} + +func (x *GetIntegrationConnectURLRequest) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +type GetIntegrationConnectURLResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetIntegrationConnectURLResponse) Reset() { + *x = GetIntegrationConnectURLResponse{} + mi := &file_brent_proto_msgTypes[195] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetIntegrationConnectURLResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIntegrationConnectURLResponse) ProtoMessage() {} + +func (x *GetIntegrationConnectURLResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[195] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetIntegrationConnectURLResponse.ProtoReflect.Descriptor instead. +func (*GetIntegrationConnectURLResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{195} +} + +func (x *GetIntegrationConnectURLResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type DisconnectIntegrationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + // Instance discriminator for aggregator providers (the Composio toolkit slug + // for MCP_AGGREGATOR). Required for MCP_AGGREGATOR; ignored by single-instance + // providers (GitHub/Linear/Slack/BYO). + InstanceSlug string `protobuf:"bytes,2,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisconnectIntegrationRequest) Reset() { + *x = DisconnectIntegrationRequest{} + mi := &file_brent_proto_msgTypes[196] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisconnectIntegrationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisconnectIntegrationRequest) ProtoMessage() {} + +func (x *DisconnectIntegrationRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[196] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisconnectIntegrationRequest.ProtoReflect.Descriptor instead. +func (*DisconnectIntegrationRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{196} +} + +func (x *DisconnectIntegrationRequest) GetProvider() IntegrationProvider { + if x != nil { + return x.Provider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *DisconnectIntegrationRequest) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +type DisconnectIntegrationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisconnectIntegrationResponse) Reset() { + *x = DisconnectIntegrationResponse{} + mi := &file_brent_proto_msgTypes[197] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisconnectIntegrationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisconnectIntegrationResponse) ProtoMessage() {} + +func (x *DisconnectIntegrationResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[197] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisconnectIntegrationResponse.ProtoReflect.Descriptor instead. +func (*DisconnectIntegrationResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{197} +} + +type ConnectByoHttpMcpRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Required HTTPS MCP endpoint URL. + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Optional static bearer token for endpoint authentication. + BearerToken string `protobuf:"bytes,2,opt,name=bearer_token,json=bearerToken,proto3" json:"bearer_token,omitempty"` + // Optional PEM CA bundle for self-signed internal endpoints. + CaBundlePem string `protobuf:"bytes,3,opt,name=ca_bundle_pem,json=caBundlePem,proto3" json:"ca_bundle_pem,omitempty"` + // Optional pre-registered OAuth client for endpoints whose authorization + // server does not support Dynamic Client Registration (RFC 7591). + OauthClientId string `protobuf:"bytes,4,opt,name=oauth_client_id,json=oauthClientId,proto3" json:"oauth_client_id,omitempty"` + OauthClientSecret string `protobuf:"bytes,5,opt,name=oauth_client_secret,json=oauthClientSecret,proto3" json:"oauth_client_secret,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectByoHttpMcpRequest) Reset() { + *x = ConnectByoHttpMcpRequest{} + mi := &file_brent_proto_msgTypes[198] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectByoHttpMcpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectByoHttpMcpRequest) ProtoMessage() {} + +func (x *ConnectByoHttpMcpRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[198] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectByoHttpMcpRequest.ProtoReflect.Descriptor instead. +func (*ConnectByoHttpMcpRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{198} +} + +func (x *ConnectByoHttpMcpRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *ConnectByoHttpMcpRequest) GetBearerToken() string { + if x != nil { + return x.BearerToken + } + return "" +} + +func (x *ConnectByoHttpMcpRequest) GetCaBundlePem() string { + if x != nil { + return x.CaBundlePem + } + return "" +} + +func (x *ConnectByoHttpMcpRequest) GetOauthClientId() string { + if x != nil { + return x.OauthClientId + } + return "" +} + +func (x *ConnectByoHttpMcpRequest) GetOauthClientSecret() string { + if x != nil { + return x.OauthClientSecret + } + return "" +} + +type ConnectByoHttpMcpResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Number of tools the endpoint advertised on the smoke tools/list call. + DiscoveredToolCount uint32 `protobuf:"varint,1,opt,name=discovered_tool_count,json=discoveredToolCount,proto3" json:"discovered_tool_count,omitempty"` + // Set when the endpoint advertises RFC 9728 PRM: the SPA redirects here to + // complete the OAuth dance. Empty => static-bearer path already committed. + OauthAuthorizeUrl string `protobuf:"bytes,2,opt,name=oauth_authorize_url,json=oauthAuthorizeUrl,proto3" json:"oauth_authorize_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectByoHttpMcpResponse) Reset() { + *x = ConnectByoHttpMcpResponse{} + mi := &file_brent_proto_msgTypes[199] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectByoHttpMcpResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectByoHttpMcpResponse) ProtoMessage() {} + +func (x *ConnectByoHttpMcpResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[199] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectByoHttpMcpResponse.ProtoReflect.Descriptor instead. +func (*ConnectByoHttpMcpResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{199} +} + +func (x *ConnectByoHttpMcpResponse) GetDiscoveredToolCount() uint32 { + if x != nil { + return x.DiscoveredToolCount + } + return 0 +} + +func (x *ConnectByoHttpMcpResponse) GetOauthAuthorizeUrl() string { + if x != nil { + return x.OauthAuthorizeUrl + } + return "" +} + +type GetGitLabConnectionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetGitLabConnectionRequest) Reset() { + *x = GetGitLabConnectionRequest{} + mi := &file_brent_proto_msgTypes[200] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGitLabConnectionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGitLabConnectionRequest) ProtoMessage() {} + +func (x *GetGitLabConnectionRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[200] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetGitLabConnectionRequest.ProtoReflect.Descriptor instead. +func (*GetGitLabConnectionRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{200} +} + +type GetGitLabConnectionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Connected bool `protobuf:"varint,1,opt,name=connected,proto3" json:"connected,omitempty"` + // Normalized GitLab base URL when connected. + BaseUrl string `protobuf:"bytes,2,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` + ConnectedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=connected_at,json=connectedAt,proto3" json:"connected_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetGitLabConnectionResponse) Reset() { + *x = GetGitLabConnectionResponse{} + mi := &file_brent_proto_msgTypes[201] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGitLabConnectionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGitLabConnectionResponse) ProtoMessage() {} + +func (x *GetGitLabConnectionResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[201] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetGitLabConnectionResponse.ProtoReflect.Descriptor instead. +func (*GetGitLabConnectionResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{201} +} + +func (x *GetGitLabConnectionResponse) GetConnected() bool { + if x != nil { + return x.Connected + } + return false +} + +func (x *GetGitLabConnectionResponse) GetBaseUrl() string { + if x != nil { + return x.BaseUrl + } + return "" +} + +func (x *GetGitLabConnectionResponse) GetConnectedAt() *timestamppb.Timestamp { + if x != nil { + return x.ConnectedAt + } + return nil +} + +type ConnectGitLabRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + BaseUrl string `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` + AccessToken string `protobuf:"bytes,2,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectGitLabRequest) Reset() { + *x = ConnectGitLabRequest{} + mi := &file_brent_proto_msgTypes[202] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectGitLabRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectGitLabRequest) ProtoMessage() {} + +func (x *ConnectGitLabRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[202] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectGitLabRequest.ProtoReflect.Descriptor instead. +func (*ConnectGitLabRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{202} +} + +func (x *ConnectGitLabRequest) GetBaseUrl() string { + if x != nil { + return x.BaseUrl + } + return "" +} + +func (x *ConnectGitLabRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +type ConnectGitLabResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + WebhookUrl string `protobuf:"bytes,1,opt,name=webhook_url,json=webhookUrl,proto3" json:"webhook_url,omitempty"` + // One-time secret for the X-Gitlab-Token header; not retrievable after connect. + WebhookSecret string `protobuf:"bytes,2,opt,name=webhook_secret,json=webhookSecret,proto3" json:"webhook_secret,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectGitLabResponse) Reset() { + *x = ConnectGitLabResponse{} + mi := &file_brent_proto_msgTypes[203] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectGitLabResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectGitLabResponse) ProtoMessage() {} + +func (x *ConnectGitLabResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[203] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectGitLabResponse.ProtoReflect.Descriptor instead. +func (*ConnectGitLabResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{203} +} + +func (x *ConnectGitLabResponse) GetWebhookUrl() string { + if x != nil { + return x.WebhookUrl + } + return "" +} + +func (x *ConnectGitLabResponse) GetWebhookSecret() string { + if x != nil { + return x.WebhookSecret + } + return "" +} + +type SaveGitLabSigningTokenRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The signing token GitLab generated for the webhook (format: "whsec_"). + // Used to verify the HMAC-SHA256 webhook-signature header on inbound deliveries. + SigningToken string `protobuf:"bytes,1,opt,name=signing_token,json=signingToken,proto3" json:"signing_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SaveGitLabSigningTokenRequest) Reset() { + *x = SaveGitLabSigningTokenRequest{} + mi := &file_brent_proto_msgTypes[204] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SaveGitLabSigningTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SaveGitLabSigningTokenRequest) ProtoMessage() {} + +func (x *SaveGitLabSigningTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[204] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SaveGitLabSigningTokenRequest.ProtoReflect.Descriptor instead. +func (*SaveGitLabSigningTokenRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{204} +} + +func (x *SaveGitLabSigningTokenRequest) GetSigningToken() string { + if x != nil { + return x.SigningToken + } + return "" +} + +type SaveGitLabSigningTokenResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SaveGitLabSigningTokenResponse) Reset() { + *x = SaveGitLabSigningTokenResponse{} + mi := &file_brent_proto_msgTypes[205] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SaveGitLabSigningTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SaveGitLabSigningTokenResponse) ProtoMessage() {} + +func (x *SaveGitLabSigningTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[205] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SaveGitLabSigningTokenResponse.ProtoReflect.Descriptor instead. +func (*SaveGitLabSigningTokenResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{205} +} + +type GitHubPendingInstall struct { + state protoimpl.MessageState `protogen:"open.v1"` + OrgName string `protobuf:"bytes,1,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"` + OrgId int64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + RequestedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` + // GitHub login of the user who requested installation (admin-wait flow). + RequestedBy string `protobuf:"bytes,4,opt,name=requested_by,json=requestedBy,proto3" json:"requested_by,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GitHubPendingInstall) Reset() { + *x = GitHubPendingInstall{} + mi := &file_brent_proto_msgTypes[206] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GitHubPendingInstall) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitHubPendingInstall) ProtoMessage() {} + +func (x *GitHubPendingInstall) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[206] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitHubPendingInstall.ProtoReflect.Descriptor instead. +func (*GitHubPendingInstall) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{206} +} + +func (x *GitHubPendingInstall) GetOrgName() string { + if x != nil { + return x.OrgName + } + return "" +} + +func (x *GitHubPendingInstall) GetOrgId() int64 { + if x != nil { + return x.OrgId + } + return 0 +} + +func (x *GitHubPendingInstall) GetRequestedAt() *timestamppb.Timestamp { + if x != nil { + return x.RequestedAt + } + return nil +} + +func (x *GitHubPendingInstall) GetRequestedBy() string { + if x != nil { + return x.RequestedBy + } + return "" +} + +type IntegrationStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + // Tenant has completed the provider org/workspace install OAuth flow. + OrgInstalled bool `protobuf:"varint,2,opt,name=org_installed,json=orgInstalled,proto3" json:"org_installed,omitempty"` + // Caller has a verified principal_bindings row for this provider kind. + // For GitHub, org_installed alone completes the connections wizard step; + // user_bound remains false until set_my_binding or a LINK OAuth flow. + UserBound bool `protobuf:"varint,3,opt,name=user_bound,json=userBound,proto3" json:"user_bound,omitempty"` + // GitHub admin-wait rows awaiting org admin approval (provider = GITHUB only). + GithubPending []*GitHubPendingInstall `protobuf:"bytes,4,rep,name=github_pending,json=githubPending,proto3" json:"github_pending,omitempty"` + // Time at which the current workspace connection was first established. + ConnectedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=connected_at,json=connectedAt,proto3" json:"connected_at,omitempty"` + // Provider-owned page where an administrator can manage this connection. + ManageUrl string `protobuf:"bytes,6,opt,name=manage_url,json=manageUrl,proto3" json:"manage_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IntegrationStatus) Reset() { + *x = IntegrationStatus{} + mi := &file_brent_proto_msgTypes[207] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IntegrationStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntegrationStatus) ProtoMessage() {} + +func (x *IntegrationStatus) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[207] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntegrationStatus.ProtoReflect.Descriptor instead. +func (*IntegrationStatus) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{207} +} + +func (x *IntegrationStatus) GetProvider() IntegrationProvider { + if x != nil { + return x.Provider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *IntegrationStatus) GetOrgInstalled() bool { + if x != nil { + return x.OrgInstalled + } + return false +} + +func (x *IntegrationStatus) GetUserBound() bool { + if x != nil { + return x.UserBound + } + return false +} + +func (x *IntegrationStatus) GetGithubPending() []*GitHubPendingInstall { + if x != nil { + return x.GithubPending + } + return nil +} + +func (x *IntegrationStatus) GetConnectedAt() *timestamppb.Timestamp { + if x != nil { + return x.ConnectedAt + } + return nil +} + +func (x *IntegrationStatus) GetManageUrl() string { + if x != nil { + return x.ManageUrl + } + return "" +} + +type GetWorkspaceIntegrationRolesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkspaceIntegrationRolesRequest) Reset() { + *x = GetWorkspaceIntegrationRolesRequest{} + mi := &file_brent_proto_msgTypes[208] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkspaceIntegrationRolesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkspaceIntegrationRolesRequest) ProtoMessage() {} + +func (x *GetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[208] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. +func (*GetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{208} +} + +type GetWorkspaceIntegrationRolesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Chosen source-control provider, or UNSPECIFIED if not yet configured. + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + // Chosen ticketing provider, or UNSPECIFIED for none. + TicketingProvider IntegrationProvider `protobuf:"varint,2,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` + // Chosen messaging provider, or UNSPECIFIED for none. + MessagingProvider IntegrationProvider `protobuf:"varint,3,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` + // Present when the workspace has a connected install for the current + // git_provider and the registry can build a safe manage URL. + GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkspaceIntegrationRolesResponse) Reset() { + *x = GetWorkspaceIntegrationRolesResponse{} + mi := &file_brent_proto_msgTypes[209] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkspaceIntegrationRolesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkspaceIntegrationRolesResponse) ProtoMessage() {} + +func (x *GetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[209] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. +func (*GetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{209} +} + +func (x *GetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { + if x != nil { + return x.GitProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *GetWorkspaceIntegrationRolesResponse) GetTicketingProvider() IntegrationProvider { + if x != nil { + return x.TicketingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *GetWorkspaceIntegrationRolesResponse) GetMessagingProvider() IntegrationProvider { + if x != nil { + return x.MessagingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *GetWorkspaceIntegrationRolesResponse) GetGitManageUrl() string { + if x != nil { + return x.GitManageUrl + } + return "" +} + +type SetWorkspaceIntegrationRolesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Use UNSPECIFIED to clear optional roles. git_provider UNSPECIFIED is + // rejected once a git provider has ever been set OR while a git install is + // connected (cannot clear required role without disconnect). + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + TicketingProvider IntegrationProvider `protobuf:"varint,2,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` + MessagingProvider IntegrationProvider `protobuf:"varint,3,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkspaceIntegrationRolesRequest) Reset() { + *x = SetWorkspaceIntegrationRolesRequest{} + mi := &file_brent_proto_msgTypes[210] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkspaceIntegrationRolesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkspaceIntegrationRolesRequest) ProtoMessage() {} + +func (x *SetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[210] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. +func (*SetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{210} +} + +func (x *SetWorkspaceIntegrationRolesRequest) GetGitProvider() IntegrationProvider { + if x != nil { + return x.GitProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *SetWorkspaceIntegrationRolesRequest) GetTicketingProvider() IntegrationProvider { + if x != nil { + return x.TicketingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *SetWorkspaceIntegrationRolesRequest) GetMessagingProvider() IntegrationProvider { + if x != nil { + return x.MessagingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +type SetWorkspaceIntegrationRolesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + TicketingProvider IntegrationProvider `protobuf:"varint,2,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` + MessagingProvider IntegrationProvider `protobuf:"varint,3,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` + GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkspaceIntegrationRolesResponse) Reset() { + *x = SetWorkspaceIntegrationRolesResponse{} + mi := &file_brent_proto_msgTypes[211] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkspaceIntegrationRolesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkspaceIntegrationRolesResponse) ProtoMessage() {} + +func (x *SetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[211] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. +func (*SetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{211} +} + +func (x *SetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { + if x != nil { + return x.GitProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *SetWorkspaceIntegrationRolesResponse) GetTicketingProvider() IntegrationProvider { + if x != nil { + return x.TicketingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *SetWorkspaceIntegrationRolesResponse) GetMessagingProvider() IntegrationProvider { + if x != nil { + return x.MessagingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *SetWorkspaceIntegrationRolesResponse) GetGitManageUrl() string { + if x != nil { + return x.GitManageUrl + } + return "" +} + +// Principal is the wire representation of a row in the `principals` +// table. The `external_id` is the canonical reference used in +// `plans.author_principal_id` etc. once the principal-FK migration and +// manifesto guard land (plan: brent-plan-auth-milestone, phase 1.3). +type Principal struct { + state protoimpl.MessageState `protogen:"open.v1"` + ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // 'human' | 'agent' | 'group' (the friends-using-brent milestone + // writes human + agent only). + Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` + // 'active' | 'shadow' | 'tombstoned' (the friends-using-brent + // milestone writes 'active' only). + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Principal) Reset() { + *x = Principal{} + mi := &file_brent_proto_msgTypes[212] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Principal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Principal) ProtoMessage() {} + +func (x *Principal) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[212] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Principal.ProtoReflect.Descriptor instead. +func (*Principal) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{212} +} + +func (x *Principal) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +func (x *Principal) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *Principal) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *Principal) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Principal) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Principal) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Principal) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +// Workspace is a tenant the caller belongs to. workspace_id is the uuid tenant +// key — the PK, the wire id, and the brent-workspace-id header value (no +// separate surrogate). role is the caller's membership role in THIS workspace +// (from principals.role), not a workspace attribute. +type Workspace struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // uuid tenant key (PK, wire id, header value) + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` // ASCII URL key (e.g. "acme") + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // original user-entered name, verbatim (may be non-Latin) + Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` // caller's role in THIS workspace: "admin" | "member" + PictureUrl *string `protobuf:"bytes,5,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` // nullable until P3 (branding) + ThemeColor *string `protobuf:"bytes,6,opt,name=theme_color,json=themeColor,proto3,oneof" json:"theme_color,omitempty"` // nullable until P3 (branding) + // True once the workspace creator has completed the onboarding wizard. + // Defaults false on a freshly-minted workspace; set by + // CompleteWorkspaceOnboarding. Read by the SPA to gate home/settings. + OnboardingCompleted bool `protobuf:"varint,7,opt,name=onboarding_completed,json=onboardingCompleted,proto3" json:"onboarding_completed,omitempty"` + // Slugs this workspace previously used, recorded when RenameWorkspace changed + // the slug (ordered oldest-first by when each was superseded). Lets the SPA + // redirect a bookmarked/shared /w/{oldSlug} to the current slug after a rename + // instead of silently bouncing to the resolver. Empty when never renamed. + PreviousSlugs []string `protobuf:"bytes,8,rep,name=previous_slugs,json=previousSlugs,proto3" json:"previous_slugs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Workspace) Reset() { + *x = Workspace{} + mi := &file_brent_proto_msgTypes[213] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Workspace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Workspace) ProtoMessage() {} + +func (x *Workspace) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[213] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Workspace.ProtoReflect.Descriptor instead. +func (*Workspace) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{213} +} + +func (x *Workspace) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *Workspace) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Workspace) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Workspace) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *Workspace) GetPictureUrl() string { + if x != nil && x.PictureUrl != nil { + return *x.PictureUrl + } + return "" +} + +func (x *Workspace) GetThemeColor() string { + if x != nil && x.ThemeColor != nil { + return *x.ThemeColor + } + return "" +} + +func (x *Workspace) GetOnboardingCompleted() bool { + if x != nil { + return x.OnboardingCompleted + } + return false +} + +func (x *Workspace) GetPreviousSlugs() []string { + if x != nil { + return x.PreviousSlugs + } + return nil +} + +type CreateWorkspaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkspaceRequest) Reset() { + *x = CreateWorkspaceRequest{} + mi := &file_brent_proto_msgTypes[214] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkspaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkspaceRequest) ProtoMessage() {} + +func (x *CreateWorkspaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[214] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkspaceRequest.ProtoReflect.Descriptor instead. +func (*CreateWorkspaceRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{214} +} + +func (x *CreateWorkspaceRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +type CreateWorkspaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkspaceResponse) Reset() { + *x = CreateWorkspaceResponse{} + mi := &file_brent_proto_msgTypes[215] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkspaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkspaceResponse) ProtoMessage() {} + +func (x *CreateWorkspaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[215] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkspaceResponse.ProtoReflect.Descriptor instead. +func (*CreateWorkspaceResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{215} +} + +func (x *CreateWorkspaceResponse) GetWorkspace() *Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +type ListMyWorkspacesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyWorkspacesRequest) Reset() { + *x = ListMyWorkspacesRequest{} + mi := &file_brent_proto_msgTypes[216] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyWorkspacesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyWorkspacesRequest) ProtoMessage() {} + +func (x *ListMyWorkspacesRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[216] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyWorkspacesRequest.ProtoReflect.Descriptor instead. +func (*ListMyWorkspacesRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{216} +} + +type ListMyWorkspacesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspaces []*Workspace `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyWorkspacesResponse) Reset() { + *x = ListMyWorkspacesResponse{} + mi := &file_brent_proto_msgTypes[217] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyWorkspacesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyWorkspacesResponse) ProtoMessage() {} + +func (x *ListMyWorkspacesResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[217] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyWorkspacesResponse.ProtoReflect.Descriptor instead. +func (*ListMyWorkspacesResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{217} +} + +func (x *ListMyWorkspacesResponse) GetWorkspaces() []*Workspace { + if x != nil { + return x.Workspaces + } + return nil +} + +type DiscoverLoginRecoveryCandidatesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DiscoverLoginRecoveryCandidatesRequest) Reset() { + *x = DiscoverLoginRecoveryCandidatesRequest{} + mi := &file_brent_proto_msgTypes[218] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DiscoverLoginRecoveryCandidatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoverLoginRecoveryCandidatesRequest) ProtoMessage() {} + +func (x *DiscoverLoginRecoveryCandidatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[218] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoverLoginRecoveryCandidatesRequest.ProtoReflect.Descriptor instead. +func (*DiscoverLoginRecoveryCandidatesRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{218} +} + +// A single recovery candidate. Exposes only the allowlisted Auth0 connection +// name (for restarting authentication) and the active workspace count — never +// workspace IDs, names, roles, members, email, Auth0 user IDs, or tokens. +type LoginRecoveryCandidate struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider LoginProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.LoginProvider" json:"provider,omitempty"` + Auth0Connection string `protobuf:"bytes,2,opt,name=auth0_connection,json=auth0Connection,proto3" json:"auth0_connection,omitempty"` + ActiveWorkspaceCount uint32 `protobuf:"varint,3,opt,name=active_workspace_count,json=activeWorkspaceCount,proto3" json:"active_workspace_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoginRecoveryCandidate) Reset() { + *x = LoginRecoveryCandidate{} + mi := &file_brent_proto_msgTypes[219] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LoginRecoveryCandidate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginRecoveryCandidate) ProtoMessage() {} + +func (x *LoginRecoveryCandidate) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[219] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoginRecoveryCandidate.ProtoReflect.Descriptor instead. +func (*LoginRecoveryCandidate) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{219} +} + +func (x *LoginRecoveryCandidate) GetProvider() LoginProvider { + if x != nil { + return x.Provider + } + return LoginProvider_LOGIN_PROVIDER_UNSPECIFIED +} + +func (x *LoginRecoveryCandidate) GetAuth0Connection() string { + if x != nil { + return x.Auth0Connection + } + return "" +} + +func (x *LoginRecoveryCandidate) GetActiveWorkspaceCount() uint32 { + if x != nil { + return x.ActiveWorkspaceCount + } + return 0 +} + +type DiscoverLoginRecoveryCandidatesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The caller's arriving provider when it is one of the supported social + // providers; UNSPECIFIED (with empty candidates) when the arriving + // connection is unsupported. + ArrivingProvider LoginProvider `protobuf:"varint,1,opt,name=arriving_provider,json=arrivingProvider,proto3,enum=brent.LoginProvider" json:"arriving_provider,omitempty"` + Candidates []*LoginRecoveryCandidate `protobuf:"bytes,2,rep,name=candidates,proto3" json:"candidates,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DiscoverLoginRecoveryCandidatesResponse) Reset() { + *x = DiscoverLoginRecoveryCandidatesResponse{} + mi := &file_brent_proto_msgTypes[220] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DiscoverLoginRecoveryCandidatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoverLoginRecoveryCandidatesResponse) ProtoMessage() {} + +func (x *DiscoverLoginRecoveryCandidatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[220] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoverLoginRecoveryCandidatesResponse.ProtoReflect.Descriptor instead. +func (*DiscoverLoginRecoveryCandidatesResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{220} +} + +func (x *DiscoverLoginRecoveryCandidatesResponse) GetArrivingProvider() LoginProvider { + if x != nil { + return x.ArrivingProvider + } + return LoginProvider_LOGIN_PROVIDER_UNSPECIFIED +} + +func (x *DiscoverLoginRecoveryCandidatesResponse) GetCandidates() []*LoginRecoveryCandidate { + if x != nil { + return x.Candidates + } + return nil +} + +type RenameWorkspaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // New workspace name. Stored verbatim as display_name; the URL slug is + // re-derived from it (empty-slug names keep the current slug). The target + // workspace is the Brent-Workspace-Id header, not a field, so this cannot + // rename another workspace. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RenameWorkspaceRequest) Reset() { + *x = RenameWorkspaceRequest{} + mi := &file_brent_proto_msgTypes[221] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RenameWorkspaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenameWorkspaceRequest) ProtoMessage() {} + +func (x *RenameWorkspaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[221] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RenameWorkspaceRequest.ProtoReflect.Descriptor instead. +func (*RenameWorkspaceRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{221} +} + +func (x *RenameWorkspaceRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +type RenameWorkspaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RenameWorkspaceResponse) Reset() { + *x = RenameWorkspaceResponse{} + mi := &file_brent_proto_msgTypes[222] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RenameWorkspaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenameWorkspaceResponse) ProtoMessage() {} + +func (x *RenameWorkspaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[222] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RenameWorkspaceResponse.ProtoReflect.Descriptor instead. +func (*RenameWorkspaceResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{222} +} + +func (x *RenameWorkspaceResponse) GetWorkspace() *Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +type DeleteWorkspaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The workspace to delete. The caller must be an active admin member; + // verified server-side from the Auth0 subject. + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkspaceRequest) Reset() { + *x = DeleteWorkspaceRequest{} + mi := &file_brent_proto_msgTypes[223] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkspaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkspaceRequest) ProtoMessage() {} + +func (x *DeleteWorkspaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[223] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkspaceRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkspaceRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{223} +} + +func (x *DeleteWorkspaceRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +type DeleteWorkspaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkspaceResponse) Reset() { + *x = DeleteWorkspaceResponse{} + mi := &file_brent_proto_msgTypes[224] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkspaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkspaceResponse) ProtoMessage() {} + +func (x *DeleteWorkspaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[224] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkspaceResponse.ProtoReflect.Descriptor instead. +func (*DeleteWorkspaceResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{224} +} + +type ListJoinableWorkspacesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListJoinableWorkspacesRequest) Reset() { + *x = ListJoinableWorkspacesRequest{} + mi := &file_brent_proto_msgTypes[225] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListJoinableWorkspacesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListJoinableWorkspacesRequest) ProtoMessage() {} + +func (x *ListJoinableWorkspacesRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[225] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListJoinableWorkspacesRequest.ProtoReflect.Descriptor instead. +func (*ListJoinableWorkspacesRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{225} +} + +type ListJoinableWorkspacesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspaces []*JoinableWorkspace `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListJoinableWorkspacesResponse) Reset() { + *x = ListJoinableWorkspacesResponse{} + mi := &file_brent_proto_msgTypes[226] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListJoinableWorkspacesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListJoinableWorkspacesResponse) ProtoMessage() {} + +func (x *ListJoinableWorkspacesResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[226] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListJoinableWorkspacesResponse.ProtoReflect.Descriptor instead. +func (*ListJoinableWorkspacesResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{226} +} + +func (x *ListJoinableWorkspacesResponse) GetWorkspaces() []*JoinableWorkspace { + if x != nil { + return x.Workspaces + } + return nil +} + +// A workspace the caller can join, with the data the join card renders. +type JoinableWorkspace struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + PictureUrl *string `protobuf:"bytes,4,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` // derived branding URL; absent → fallback logo + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + CreatedByName string `protobuf:"bytes,6,opt,name=created_by_name,json=createdByName,proto3" json:"created_by_name,omitempty"` // creator's live display name; empty if the creator has left + MemberPreviews []*JoinableWorkspaceMember `protobuf:"bytes,7,rep,name=member_previews,json=memberPreviews,proto3" json:"member_previews,omitempty"` // up to 3 active human members + MemberCount uint32 `protobuf:"varint,8,opt,name=member_count,json=memberCount,proto3" json:"member_count,omitempty"` // total active human members (drives "+N") + Source JoinSource `protobuf:"varint,9,opt,name=source,proto3,enum=brent.JoinSource" json:"source,omitempty"` // why this workspace is joinable (DOMAIN or INVITE) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *JoinableWorkspace) Reset() { + *x = JoinableWorkspace{} + mi := &file_brent_proto_msgTypes[227] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JoinableWorkspace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinableWorkspace) ProtoMessage() {} + +func (x *JoinableWorkspace) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[227] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinableWorkspace.ProtoReflect.Descriptor instead. +func (*JoinableWorkspace) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{227} +} + +func (x *JoinableWorkspace) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *JoinableWorkspace) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *JoinableWorkspace) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *JoinableWorkspace) GetPictureUrl() string { + if x != nil && x.PictureUrl != nil { + return *x.PictureUrl + } + return "" +} + +func (x *JoinableWorkspace) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *JoinableWorkspace) GetCreatedByName() string { + if x != nil { + return x.CreatedByName + } + return "" +} + +func (x *JoinableWorkspace) GetMemberPreviews() []*JoinableWorkspaceMember { + if x != nil { + return x.MemberPreviews + } + return nil +} + +func (x *JoinableWorkspace) GetMemberCount() uint32 { + if x != nil { + return x.MemberCount + } + return 0 +} + +func (x *JoinableWorkspace) GetSource() JoinSource { + if x != nil { + return x.Source + } + return JoinSource_JOIN_SOURCE_UNSPECIFIED +} + +type JoinableWorkspaceMember struct { + state protoimpl.MessageState `protogen:"open.v1"` + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + PictureUrl *string `protobuf:"bytes,2,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` // absent this milestone → initials fallback + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *JoinableWorkspaceMember) Reset() { + *x = JoinableWorkspaceMember{} + mi := &file_brent_proto_msgTypes[228] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JoinableWorkspaceMember) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinableWorkspaceMember) ProtoMessage() {} + +func (x *JoinableWorkspaceMember) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[228] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinableWorkspaceMember.ProtoReflect.Descriptor instead. +func (*JoinableWorkspaceMember) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{228} +} + +func (x *JoinableWorkspaceMember) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *JoinableWorkspaceMember) GetPictureUrl() string { + if x != nil && x.PictureUrl != nil { + return *x.PictureUrl + } + return "" +} + +type JoinWorkspaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *JoinWorkspaceRequest) Reset() { + *x = JoinWorkspaceRequest{} + mi := &file_brent_proto_msgTypes[229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JoinWorkspaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinWorkspaceRequest) ProtoMessage() {} + +func (x *JoinWorkspaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[229] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinWorkspaceRequest.ProtoReflect.Descriptor instead. +func (*JoinWorkspaceRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{229} +} + +func (x *JoinWorkspaceRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +type JoinWorkspaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` // reuses the existing Workspace message; carries slug for navigation + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *JoinWorkspaceResponse) Reset() { + *x = JoinWorkspaceResponse{} + mi := &file_brent_proto_msgTypes[230] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JoinWorkspaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinWorkspaceResponse) ProtoMessage() {} + +func (x *JoinWorkspaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[230] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinWorkspaceResponse.ProtoReflect.Descriptor instead. +func (*JoinWorkspaceResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{230} +} + +func (x *JoinWorkspaceResponse) GetWorkspace() *Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +// ApprovedEmailDomain is the client view of one approved email domain (ENG-5202). +// verified is derived from the row's verified_at; added_by_name is the adder's +// live display name (empty when the adder has left the workspace). +type ApprovedEmailDomain struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Verified bool `protobuf:"varint,3,opt,name=verified,proto3" json:"verified,omitempty"` + AddedByName string `protobuf:"bytes,4,opt,name=added_by_name,json=addedByName,proto3" json:"added_by_name,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // The email address the verification code was sent to. Stored on every row and + // surfaced so the frontend can name the exact address in the verify dialog. + VerificationEmail string `protobuf:"bytes,6,opt,name=verification_email,json=verificationEmail,proto3" json:"verification_email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApprovedEmailDomain) Reset() { + *x = ApprovedEmailDomain{} + mi := &file_brent_proto_msgTypes[231] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApprovedEmailDomain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApprovedEmailDomain) ProtoMessage() {} + +func (x *ApprovedEmailDomain) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[231] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApprovedEmailDomain.ProtoReflect.Descriptor instead. +func (*ApprovedEmailDomain) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{231} +} + +func (x *ApprovedEmailDomain) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ApprovedEmailDomain) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ApprovedEmailDomain) GetVerified() bool { + if x != nil { + return x.Verified + } + return false +} + +func (x *ApprovedEmailDomain) GetAddedByName() string { + if x != nil { + return x.AddedByName + } + return "" +} + +func (x *ApprovedEmailDomain) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *ApprovedEmailDomain) GetVerificationEmail() string { + if x != nil { + return x.VerificationEmail + } + return "" +} + +type ListApprovedEmailDomainsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListApprovedEmailDomainsRequest) Reset() { + *x = ListApprovedEmailDomainsRequest{} + mi := &file_brent_proto_msgTypes[232] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListApprovedEmailDomainsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListApprovedEmailDomainsRequest) ProtoMessage() {} + +func (x *ListApprovedEmailDomainsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[232] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListApprovedEmailDomainsRequest.ProtoReflect.Descriptor instead. +func (*ListApprovedEmailDomainsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{232} +} + +type ListApprovedEmailDomainsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domains []*ApprovedEmailDomain `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListApprovedEmailDomainsResponse) Reset() { + *x = ListApprovedEmailDomainsResponse{} + mi := &file_brent_proto_msgTypes[233] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListApprovedEmailDomainsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListApprovedEmailDomainsResponse) ProtoMessage() {} + +func (x *ListApprovedEmailDomainsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[233] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListApprovedEmailDomainsResponse.ProtoReflect.Descriptor instead. +func (*ListApprovedEmailDomainsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{233} +} + +func (x *ListApprovedEmailDomainsResponse) GetDomains() []*ApprovedEmailDomain { + if x != nil { + return x.Domains + } + return nil +} + +type AddApprovedEmailDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The bare domain to approve (e.g. "company.com"). Normalized and validated + // server-side; public providers are rejected. + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + // An email address at the domain that receives the verification code. Its + // domain must exactly equal `domain`. + VerificationEmail string `protobuf:"bytes,2,opt,name=verification_email,json=verificationEmail,proto3" json:"verification_email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddApprovedEmailDomainRequest) Reset() { + *x = AddApprovedEmailDomainRequest{} + mi := &file_brent_proto_msgTypes[234] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddApprovedEmailDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddApprovedEmailDomainRequest) ProtoMessage() {} + +func (x *AddApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[234] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. +func (*AddApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{234} +} + +func (x *AddApprovedEmailDomainRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AddApprovedEmailDomainRequest) GetVerificationEmail() string { + if x != nil { + return x.VerificationEmail + } + return "" +} + +type AddApprovedEmailDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *ApprovedEmailDomain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddApprovedEmailDomainResponse) Reset() { + *x = AddApprovedEmailDomainResponse{} + mi := &file_brent_proto_msgTypes[235] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddApprovedEmailDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddApprovedEmailDomainResponse) ProtoMessage() {} + +func (x *AddApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[235] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. +func (*AddApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{235} +} + +func (x *AddApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { + if x != nil { + return x.Domain + } + return nil +} + +type VerifyApprovedEmailDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The approved email domain id to verify (scoped to the header workspace). + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The verification code emailed to the verification address. + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyApprovedEmailDomainRequest) Reset() { + *x = VerifyApprovedEmailDomainRequest{} + mi := &file_brent_proto_msgTypes[236] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyApprovedEmailDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyApprovedEmailDomainRequest) ProtoMessage() {} + +func (x *VerifyApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[236] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. +func (*VerifyApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{236} +} + +func (x *VerifyApprovedEmailDomainRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *VerifyApprovedEmailDomainRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +type VerifyApprovedEmailDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *ApprovedEmailDomain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyApprovedEmailDomainResponse) Reset() { + *x = VerifyApprovedEmailDomainResponse{} + mi := &file_brent_proto_msgTypes[237] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyApprovedEmailDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyApprovedEmailDomainResponse) ProtoMessage() {} + +func (x *VerifyApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[237] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. +func (*VerifyApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{237} +} + +func (x *VerifyApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { + if x != nil { + return x.Domain + } + return nil +} + +type ResendApprovedEmailDomainCodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The unverified approved email domain id to resend a code for. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendApprovedEmailDomainCodeRequest) Reset() { + *x = ResendApprovedEmailDomainCodeRequest{} + mi := &file_brent_proto_msgTypes[238] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendApprovedEmailDomainCodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendApprovedEmailDomainCodeRequest) ProtoMessage() {} + +func (x *ResendApprovedEmailDomainCodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[238] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendApprovedEmailDomainCodeRequest.ProtoReflect.Descriptor instead. +func (*ResendApprovedEmailDomainCodeRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{238} +} + +func (x *ResendApprovedEmailDomainCodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type ResendApprovedEmailDomainCodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendApprovedEmailDomainCodeResponse) Reset() { + *x = ResendApprovedEmailDomainCodeResponse{} + mi := &file_brent_proto_msgTypes[239] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendApprovedEmailDomainCodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendApprovedEmailDomainCodeResponse) ProtoMessage() {} + +func (x *ResendApprovedEmailDomainCodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[239] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendApprovedEmailDomainCodeResponse.ProtoReflect.Descriptor instead. +func (*ResendApprovedEmailDomainCodeResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{239} +} + +// ResendVerificationEmailRequest carries no fields: the recipient identity is +// resolved server-side from the caller's JWT. +type ResendVerificationEmailRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendVerificationEmailRequest) Reset() { + *x = ResendVerificationEmailRequest{} + mi := &file_brent_proto_msgTypes[240] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendVerificationEmailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendVerificationEmailRequest) ProtoMessage() {} + +func (x *ResendVerificationEmailRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[240] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendVerificationEmailRequest.ProtoReflect.Descriptor instead. +func (*ResendVerificationEmailRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{240} +} + +type ResendVerificationEmailResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendVerificationEmailResponse) Reset() { + *x = ResendVerificationEmailResponse{} + mi := &file_brent_proto_msgTypes[241] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendVerificationEmailResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendVerificationEmailResponse) ProtoMessage() {} + +func (x *ResendVerificationEmailResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[241] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendVerificationEmailResponse.ProtoReflect.Descriptor instead. +func (*ResendVerificationEmailResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{241} +} + +type DeleteApprovedEmailDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The approved email domain id to delete (scoped to the header workspace). + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteApprovedEmailDomainRequest) Reset() { + *x = DeleteApprovedEmailDomainRequest{} + mi := &file_brent_proto_msgTypes[242] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteApprovedEmailDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteApprovedEmailDomainRequest) ProtoMessage() {} + +func (x *DeleteApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[242] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. +func (*DeleteApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{242} +} + +func (x *DeleteApprovedEmailDomainRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteApprovedEmailDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteApprovedEmailDomainResponse) Reset() { + *x = DeleteApprovedEmailDomainResponse{} + mi := &file_brent_proto_msgTypes[243] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteApprovedEmailDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteApprovedEmailDomainResponse) ProtoMessage() {} + +func (x *DeleteApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[243] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. +func (*DeleteApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{243} +} + +// WorkspaceLLMCredentialStatus is the metadata-only view of a stored workspace +// LLM key. Never includes the secret; only last-4 and timestamps. +type WorkspaceLLMCredentialStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The provider the key belongs to (e.g. "openai"). + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + // True when a key is stored for this provider. + Connected bool `protobuf:"varint,2,opt,name=connected,proto3" json:"connected,omitempty"` + // Last four characters of the stored secret, for display confirmation. + SecretLast4 string `protobuf:"bytes,3,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` + // When the key was last validated against the provider API. Unset when the + // key has never been validated (e.g. stored during a transient probe failure). + LastValidatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_validated_at,json=lastValidatedAt,proto3" json:"last_validated_at,omitempty"` + // When the credential row was last written (created or replaced). + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceLLMCredentialStatus) Reset() { + *x = WorkspaceLLMCredentialStatus{} + mi := &file_brent_proto_msgTypes[244] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceLLMCredentialStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceLLMCredentialStatus) ProtoMessage() {} + +func (x *WorkspaceLLMCredentialStatus) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[244] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceLLMCredentialStatus.ProtoReflect.Descriptor instead. +func (*WorkspaceLLMCredentialStatus) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{244} +} + +func (x *WorkspaceLLMCredentialStatus) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *WorkspaceLLMCredentialStatus) GetConnected() bool { + if x != nil { + return x.Connected + } + return false +} + +func (x *WorkspaceLLMCredentialStatus) GetSecretLast4() string { + if x != nil { + return x.SecretLast4 + } + return "" +} + +func (x *WorkspaceLLMCredentialStatus) GetLastValidatedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastValidatedAt + } + return nil +} + +func (x *WorkspaceLLMCredentialStatus) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +type GetWorkspaceLLMCredentialStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Provider to query (e.g. "openai"). + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkspaceLLMCredentialStatusRequest) Reset() { + *x = GetWorkspaceLLMCredentialStatusRequest{} + mi := &file_brent_proto_msgTypes[245] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkspaceLLMCredentialStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkspaceLLMCredentialStatusRequest) ProtoMessage() {} + +func (x *GetWorkspaceLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[245] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkspaceLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. +func (*GetWorkspaceLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{245} +} + +func (x *GetWorkspaceLLMCredentialStatusRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +type GetWorkspaceLLMCredentialStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *WorkspaceLLMCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkspaceLLMCredentialStatusResponse) Reset() { + *x = GetWorkspaceLLMCredentialStatusResponse{} + mi := &file_brent_proto_msgTypes[246] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkspaceLLMCredentialStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkspaceLLMCredentialStatusResponse) ProtoMessage() {} + +func (x *GetWorkspaceLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[246] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkspaceLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. +func (*GetWorkspaceLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{246} +} + +func (x *GetWorkspaceLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { + if x != nil { + return x.Status + } + return nil +} + +type SetWorkspaceLLMCredentialRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Provider the key belongs to (e.g. "openai"). + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + // The raw API key / secret to store. + Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkspaceLLMCredentialRequest) Reset() { + *x = SetWorkspaceLLMCredentialRequest{} + mi := &file_brent_proto_msgTypes[247] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkspaceLLMCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkspaceLLMCredentialRequest) ProtoMessage() {} + +func (x *SetWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[247] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. +func (*SetWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{247} +} + +func (x *SetWorkspaceLLMCredentialRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *SetWorkspaceLLMCredentialRequest) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +type SetWorkspaceLLMCredentialResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Status after the set (connected=true, secret_last4, timestamps). + Status *WorkspaceLLMCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // Non-empty when validation could not complete due to a transient error. The + // key is stored but last_validated_at is null until a future successful + // validation (or replacement). + ValidationWarning string `protobuf:"bytes,2,opt,name=validation_warning,json=validationWarning,proto3" json:"validation_warning,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkspaceLLMCredentialResponse) Reset() { + *x = SetWorkspaceLLMCredentialResponse{} + mi := &file_brent_proto_msgTypes[248] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkspaceLLMCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkspaceLLMCredentialResponse) ProtoMessage() {} + +func (x *SetWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[248] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. +func (*SetWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{248} +} + +func (x *SetWorkspaceLLMCredentialResponse) GetStatus() *WorkspaceLLMCredentialStatus { + if x != nil { + return x.Status + } + return nil +} + +func (x *SetWorkspaceLLMCredentialResponse) GetValidationWarning() string { + if x != nil { + return x.ValidationWarning + } + return "" +} + +type DeleteWorkspaceLLMCredentialRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Provider whose key should be deleted (e.g. "openai"). + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkspaceLLMCredentialRequest) Reset() { + *x = DeleteWorkspaceLLMCredentialRequest{} + mi := &file_brent_proto_msgTypes[249] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkspaceLLMCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkspaceLLMCredentialRequest) ProtoMessage() {} + +func (x *DeleteWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[249] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{249} +} + +func (x *DeleteWorkspaceLLMCredentialRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +type DeleteWorkspaceLLMCredentialResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkspaceLLMCredentialResponse) Reset() { + *x = DeleteWorkspaceLLMCredentialResponse{} + mi := &file_brent_proto_msgTypes[250] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkspaceLLMCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkspaceLLMCredentialResponse) ProtoMessage() {} + +func (x *DeleteWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[250] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. +func (*DeleteWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{250} +} + +type MyCursorCredentialStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // True when the calling principal has a validated personal Cursor key. + Connected bool `protobuf:"varint,1,opt,name=connected,proto3" json:"connected,omitempty"` + // Last four characters of the stored key, for display confirmation. + SecretLast4 string `protobuf:"bytes,2,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` + // When Cursor last accepted the stored key. + LastValidatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_validated_at,json=lastValidatedAt,proto3" json:"last_validated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MyCursorCredentialStatus) Reset() { + *x = MyCursorCredentialStatus{} + mi := &file_brent_proto_msgTypes[251] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MyCursorCredentialStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MyCursorCredentialStatus) ProtoMessage() {} + +func (x *MyCursorCredentialStatus) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[251] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MyCursorCredentialStatus.ProtoReflect.Descriptor instead. +func (*MyCursorCredentialStatus) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{251} +} + +func (x *MyCursorCredentialStatus) GetConnected() bool { + if x != nil { + return x.Connected + } + return false +} + +func (x *MyCursorCredentialStatus) GetSecretLast4() string { + if x != nil { + return x.SecretLast4 + } + return "" +} + +func (x *MyCursorCredentialStatus) GetLastValidatedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastValidatedAt + } + return nil +} + +type GetMyCursorCredentialStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetMyCursorCredentialStatusRequest) Reset() { + *x = GetMyCursorCredentialStatusRequest{} + mi := &file_brent_proto_msgTypes[252] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetMyCursorCredentialStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyCursorCredentialStatusRequest) ProtoMessage() {} + +func (x *GetMyCursorCredentialStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[252] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMyCursorCredentialStatusRequest.ProtoReflect.Descriptor instead. +func (*GetMyCursorCredentialStatusRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{252} +} + +type GetMyCursorCredentialStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *MyCursorCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetMyCursorCredentialStatusResponse) Reset() { + *x = GetMyCursorCredentialStatusResponse{} + mi := &file_brent_proto_msgTypes[253] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetMyCursorCredentialStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyCursorCredentialStatusResponse) ProtoMessage() {} + +func (x *GetMyCursorCredentialStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[253] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMyCursorCredentialStatusResponse.ProtoReflect.Descriptor instead. +func (*GetMyCursorCredentialStatusResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{253} +} + +func (x *GetMyCursorCredentialStatusResponse) GetStatus() *MyCursorCredentialStatus { + if x != nil { + return x.Status + } + return nil +} + +type SetMyCursorCredentialRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Raw Cursor user API key. Write-only and never returned. + Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetMyCursorCredentialRequest) Reset() { + *x = SetMyCursorCredentialRequest{} + mi := &file_brent_proto_msgTypes[254] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetMyCursorCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetMyCursorCredentialRequest) ProtoMessage() {} + +func (x *SetMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[254] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetMyCursorCredentialRequest.ProtoReflect.Descriptor instead. +func (*SetMyCursorCredentialRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{254} +} + +func (x *SetMyCursorCredentialRequest) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +type SetMyCursorCredentialResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *MyCursorCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetMyCursorCredentialResponse) Reset() { + *x = SetMyCursorCredentialResponse{} + mi := &file_brent_proto_msgTypes[255] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetMyCursorCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetMyCursorCredentialResponse) ProtoMessage() {} + +func (x *SetMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[255] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetMyCursorCredentialResponse.ProtoReflect.Descriptor instead. +func (*SetMyCursorCredentialResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{255} +} + +func (x *SetMyCursorCredentialResponse) GetStatus() *MyCursorCredentialStatus { + if x != nil { + return x.Status + } + return nil +} + +type DeleteMyCursorCredentialRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteMyCursorCredentialRequest) Reset() { + *x = DeleteMyCursorCredentialRequest{} + mi := &file_brent_proto_msgTypes[256] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteMyCursorCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMyCursorCredentialRequest) ProtoMessage() {} + +func (x *DeleteMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[256] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteMyCursorCredentialRequest.ProtoReflect.Descriptor instead. +func (*DeleteMyCursorCredentialRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{256} +} + +type DeleteMyCursorCredentialResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteMyCursorCredentialResponse) Reset() { + *x = DeleteMyCursorCredentialResponse{} + mi := &file_brent_proto_msgTypes[257] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteMyCursorCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMyCursorCredentialResponse) ProtoMessage() {} + +func (x *DeleteMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[257] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteMyCursorCredentialResponse.ProtoReflect.Descriptor instead. +func (*DeleteMyCursorCredentialResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{257} +} + +type UpdateWorkspaceBrandingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // New theme colour as a strict "#rrggbb" hex string (lowercase or uppercase + // hex digits). An empty string clears the colour to NULL. The target + // workspace is the Brent-Workspace-Id header, not a field, so this cannot set + // another workspace's theme. + ThemeColor string `protobuf:"bytes,1,opt,name=theme_color,json=themeColor,proto3" json:"theme_color,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkspaceBrandingRequest) Reset() { + *x = UpdateWorkspaceBrandingRequest{} + mi := &file_brent_proto_msgTypes[258] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkspaceBrandingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkspaceBrandingRequest) ProtoMessage() {} + +func (x *UpdateWorkspaceBrandingRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[258] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkspaceBrandingRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkspaceBrandingRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{258} +} + +func (x *UpdateWorkspaceBrandingRequest) GetThemeColor() string { + if x != nil { + return x.ThemeColor + } + return "" +} + +type UpdateWorkspaceBrandingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkspaceBrandingResponse) Reset() { + *x = UpdateWorkspaceBrandingResponse{} + mi := &file_brent_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkspaceBrandingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkspaceBrandingResponse) ProtoMessage() {} + +func (x *UpdateWorkspaceBrandingResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[259] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkspaceBrandingResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkspaceBrandingResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{259} +} + +func (x *UpdateWorkspaceBrandingResponse) GetWorkspace() *Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +type CompleteWorkspaceOnboardingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The workspace whose onboarding the caller is completing. The caller must + // be an active admin member; verified server-side from the Auth0 subject. + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompleteWorkspaceOnboardingRequest) Reset() { + *x = CompleteWorkspaceOnboardingRequest{} + mi := &file_brent_proto_msgTypes[260] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompleteWorkspaceOnboardingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompleteWorkspaceOnboardingRequest) ProtoMessage() {} + +func (x *CompleteWorkspaceOnboardingRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[260] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompleteWorkspaceOnboardingRequest.ProtoReflect.Descriptor instead. +func (*CompleteWorkspaceOnboardingRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{260} +} + +func (x *CompleteWorkspaceOnboardingRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +type CompleteWorkspaceOnboardingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompleteWorkspaceOnboardingResponse) Reset() { + *x = CompleteWorkspaceOnboardingResponse{} + mi := &file_brent_proto_msgTypes[261] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompleteWorkspaceOnboardingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompleteWorkspaceOnboardingResponse) ProtoMessage() {} + +func (x *CompleteWorkspaceOnboardingResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[261] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompleteWorkspaceOnboardingResponse.ProtoReflect.Descriptor instead. +func (*CompleteWorkspaceOnboardingResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{261} +} + +func (x *CompleteWorkspaceOnboardingResponse) GetWorkspace() *Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +type CreateInvitationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` // "admin" | "member" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInvitationRequest) Reset() { + *x = CreateInvitationRequest{} + mi := &file_brent_proto_msgTypes[262] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInvitationRequest) ProtoMessage() {} + +func (x *CreateInvitationRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[262] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInvitationRequest.ProtoReflect.Descriptor instead. +func (*CreateInvitationRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{262} +} + +func (x *CreateInvitationRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *CreateInvitationRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *CreateInvitationRequest) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +type CreateInvitationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AcceptUrl string `protobuf:"bytes,1,opt,name=accept_url,json=acceptUrl,proto3" json:"accept_url,omitempty"` + InvitedEmail string `protobuf:"bytes,2,opt,name=invited_email,json=invitedEmail,proto3" json:"invited_email,omitempty"` + Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInvitationResponse) Reset() { + *x = CreateInvitationResponse{} + mi := &file_brent_proto_msgTypes[263] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInvitationResponse) ProtoMessage() {} + +func (x *CreateInvitationResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[263] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInvitationResponse.ProtoReflect.Descriptor instead. +func (*CreateInvitationResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{263} +} + +func (x *CreateInvitationResponse) GetAcceptUrl() string { + if x != nil { + return x.AcceptUrl + } + return "" +} + +func (x *CreateInvitationResponse) GetInvitedEmail() string { + if x != nil { + return x.InvitedEmail + } + return "" +} + +func (x *CreateInvitationResponse) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *CreateInvitationResponse) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +type CreateInvitationsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + Emails []string `protobuf:"bytes,2,rep,name=emails,proto3" json:"emails,omitempty"` + Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` // "admin" | "member"; defaults to "member" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInvitationsRequest) Reset() { + *x = CreateInvitationsRequest{} + mi := &file_brent_proto_msgTypes[264] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInvitationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInvitationsRequest) ProtoMessage() {} + +func (x *CreateInvitationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[264] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInvitationsRequest.ProtoReflect.Descriptor instead. +func (*CreateInvitationsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{264} +} + +func (x *CreateInvitationsRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *CreateInvitationsRequest) GetEmails() []string { + if x != nil { + return x.Emails + } + return nil +} + +func (x *CreateInvitationsRequest) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +type InvitationResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + Status InvitationResultStatus `protobuf:"varint,2,opt,name=status,proto3,enum=brent.InvitationResultStatus" json:"status,omitempty"` + AcceptUrl string `protobuf:"bytes,3,opt,name=accept_url,json=acceptUrl,proto3" json:"accept_url,omitempty"` // set when status == CREATED + ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // set when status != CREATED + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InvitationResult) Reset() { + *x = InvitationResult{} + mi := &file_brent_proto_msgTypes[265] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InvitationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InvitationResult) ProtoMessage() {} + +func (x *InvitationResult) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[265] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InvitationResult.ProtoReflect.Descriptor instead. +func (*InvitationResult) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{265} +} + +func (x *InvitationResult) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *InvitationResult) GetStatus() InvitationResultStatus { + if x != nil { + return x.Status + } + return InvitationResultStatus_INVITATION_RESULT_STATUS_UNSPECIFIED +} + +func (x *InvitationResult) GetAcceptUrl() string { + if x != nil { + return x.AcceptUrl + } + return "" +} + +func (x *InvitationResult) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +type CreateInvitationsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*InvitationResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInvitationsResponse) Reset() { + *x = CreateInvitationsResponse{} + mi := &file_brent_proto_msgTypes[266] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInvitationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInvitationsResponse) ProtoMessage() {} + +func (x *CreateInvitationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[266] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInvitationsResponse.ProtoReflect.Descriptor instead. +func (*CreateInvitationsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{266} +} + +func (x *CreateInvitationsResponse) GetResults() []*InvitationResult { + if x != nil { + return x.Results + } + return nil +} + +type AcceptInvitationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcceptInvitationRequest) Reset() { + *x = AcceptInvitationRequest{} + mi := &file_brent_proto_msgTypes[267] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptInvitationRequest) ProtoMessage() {} + +func (x *AcceptInvitationRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[267] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcceptInvitationRequest.ProtoReflect.Descriptor instead. +func (*AcceptInvitationRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{267} +} + +func (x *AcceptInvitationRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type AcceptInvitationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcceptInvitationResponse) Reset() { + *x = AcceptInvitationResponse{} + mi := &file_brent_proto_msgTypes[268] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptInvitationResponse) ProtoMessage() {} + +func (x *AcceptInvitationResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[268] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcceptInvitationResponse.ProtoReflect.Descriptor instead. +func (*AcceptInvitationResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{268} +} + +func (x *AcceptInvitationResponse) GetWorkspace() *Workspace { + if x != nil { + return x.Workspace + } + return nil +} + +type ListWorkspaceMembersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkspaceMembersRequest) Reset() { + *x = ListWorkspaceMembersRequest{} + mi := &file_brent_proto_msgTypes[269] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkspaceMembersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkspaceMembersRequest) ProtoMessage() {} + +func (x *ListWorkspaceMembersRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[269] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkspaceMembersRequest.ProtoReflect.Descriptor instead. +func (*ListWorkspaceMembersRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{269} +} + +func (x *ListWorkspaceMembersRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +type ListWorkspaceMembersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Members []*WorkspaceMember `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkspaceMembersResponse) Reset() { + *x = ListWorkspaceMembersResponse{} + mi := &file_brent_proto_msgTypes[270] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkspaceMembersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkspaceMembersResponse) ProtoMessage() {} + +func (x *ListWorkspaceMembersResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[270] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkspaceMembersResponse.ProtoReflect.Descriptor instead. +func (*ListWorkspaceMembersResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{270} +} + +func (x *ListWorkspaceMembersResponse) GetMembers() []*WorkspaceMember { + if x != nil { + return x.Members + } + return nil +} + +type WorkspaceMember struct { + state protoimpl.MessageState `protogen:"open.v1"` + PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` + // Deprecated: Marked as deprecated in brent.proto. + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + State WorkspaceMemberState `protobuf:"varint,6,opt,name=state,proto3,enum=brent.WorkspaceMemberState" json:"state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceMember) Reset() { + *x = WorkspaceMember{} + mi := &file_brent_proto_msgTypes[271] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceMember) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceMember) ProtoMessage() {} + +func (x *WorkspaceMember) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[271] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceMember.ProtoReflect.Descriptor instead. +func (*WorkspaceMember) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{271} +} + +func (x *WorkspaceMember) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *WorkspaceMember) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *WorkspaceMember) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *WorkspaceMember) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +// Deprecated: Marked as deprecated in brent.proto. +func (x *WorkspaceMember) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WorkspaceMember) GetState() WorkspaceMemberState { + if x != nil { + return x.State + } + return WorkspaceMemberState_WORKSPACE_MEMBER_STATE_UNSPECIFIED +} + +type ResendInvitationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` // the invited shadow principal_id + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendInvitationRequest) Reset() { + *x = ResendInvitationRequest{} + mi := &file_brent_proto_msgTypes[272] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendInvitationRequest) ProtoMessage() {} + +func (x *ResendInvitationRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[272] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendInvitationRequest.ProtoReflect.Descriptor instead. +func (*ResendInvitationRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{272} +} + +func (x *ResendInvitationRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *ResendInvitationRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +type ResendInvitationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AcceptUrl string `protobuf:"bytes,1,opt,name=accept_url,json=acceptUrl,proto3" json:"accept_url,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendInvitationResponse) Reset() { + *x = ResendInvitationResponse{} + mi := &file_brent_proto_msgTypes[273] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendInvitationResponse) ProtoMessage() {} + +func (x *ResendInvitationResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[273] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendInvitationResponse.ProtoReflect.Descriptor instead. +func (*ResendInvitationResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{273} +} + +func (x *ResendInvitationResponse) GetAcceptUrl() string { + if x != nil { + return x.AcceptUrl + } + return "" +} + +func (x *ResendInvitationResponse) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +type RevokeInvitationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` // the invited shadow principal_id + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeInvitationRequest) Reset() { + *x = RevokeInvitationRequest{} + mi := &file_brent_proto_msgTypes[274] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeInvitationRequest) ProtoMessage() {} + +func (x *RevokeInvitationRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[274] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeInvitationRequest.ProtoReflect.Descriptor instead. +func (*RevokeInvitationRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{274} +} + +func (x *RevokeInvitationRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *RevokeInvitationRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +type RevokeInvitationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeInvitationResponse) Reset() { + *x = RevokeInvitationResponse{} + mi := &file_brent_proto_msgTypes[275] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeInvitationResponse) ProtoMessage() {} + +func (x *RevokeInvitationResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[275] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeInvitationResponse.ProtoReflect.Descriptor instead. +func (*RevokeInvitationResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{275} +} + +type RemoveWorkspaceMemberRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveWorkspaceMemberRequest) Reset() { + *x = RemoveWorkspaceMemberRequest{} + mi := &file_brent_proto_msgTypes[276] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveWorkspaceMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveWorkspaceMemberRequest) ProtoMessage() {} + +func (x *RemoveWorkspaceMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[276] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveWorkspaceMemberRequest.ProtoReflect.Descriptor instead. +func (*RemoveWorkspaceMemberRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{276} +} + +func (x *RemoveWorkspaceMemberRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *RemoveWorkspaceMemberRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +type RemoveWorkspaceMemberResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveWorkspaceMemberResponse) Reset() { + *x = RemoveWorkspaceMemberResponse{} + mi := &file_brent_proto_msgTypes[277] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveWorkspaceMemberResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveWorkspaceMemberResponse) ProtoMessage() {} + +func (x *RemoveWorkspaceMemberResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[277] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveWorkspaceMemberResponse.ProtoReflect.Descriptor instead. +func (*RemoveWorkspaceMemberResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{277} +} + +type UpdateWorkspaceMemberRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` // "admin" | "member" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkspaceMemberRoleRequest) Reset() { + *x = UpdateWorkspaceMemberRoleRequest{} + mi := &file_brent_proto_msgTypes[278] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkspaceMemberRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkspaceMemberRoleRequest) ProtoMessage() {} + +func (x *UpdateWorkspaceMemberRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[278] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkspaceMemberRoleRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkspaceMemberRoleRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{278} +} + +func (x *UpdateWorkspaceMemberRoleRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *UpdateWorkspaceMemberRoleRequest) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *UpdateWorkspaceMemberRoleRequest) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +type UpdateWorkspaceMemberRoleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkspaceMemberRoleResponse) Reset() { + *x = UpdateWorkspaceMemberRoleResponse{} + mi := &file_brent_proto_msgTypes[279] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkspaceMemberRoleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkspaceMemberRoleResponse) ProtoMessage() {} + +func (x *UpdateWorkspaceMemberRoleResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[279] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkspaceMemberRoleResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkspaceMemberRoleResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{279} +} + +type GetInvitationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInvitationRequest) Reset() { + *x = GetInvitationRequest{} + mi := &file_brent_proto_msgTypes[280] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInvitationRequest) ProtoMessage() {} + +func (x *GetInvitationRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[280] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInvitationRequest.ProtoReflect.Descriptor instead. +func (*GetInvitationRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{280} +} + +func (x *GetInvitationRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type GetInvitationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status InvitationStatus `protobuf:"varint,1,opt,name=status,proto3,enum=brent.InvitationStatus" json:"status,omitempty"` + WorkspaceId string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + WorkspaceDisplayName string `protobuf:"bytes,4,opt,name=workspace_display_name,json=workspaceDisplayName,proto3" json:"workspace_display_name,omitempty"` + PictureUrl *string `protobuf:"bytes,5,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` + InviterEmail string `protobuf:"bytes,6,opt,name=inviter_email,json=inviterEmail,proto3" json:"inviter_email,omitempty"` + InvitedEmail string `protobuf:"bytes,7,opt,name=invited_email,json=invitedEmail,proto3" json:"invited_email,omitempty"` + Role string `protobuf:"bytes,8,opt,name=role,proto3" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInvitationResponse) Reset() { + *x = GetInvitationResponse{} + mi := &file_brent_proto_msgTypes[281] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInvitationResponse) ProtoMessage() {} + +func (x *GetInvitationResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[281] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInvitationResponse.ProtoReflect.Descriptor instead. +func (*GetInvitationResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{281} +} + +func (x *GetInvitationResponse) GetStatus() InvitationStatus { + if x != nil { + return x.Status + } + return InvitationStatus_INVITATION_STATUS_UNSPECIFIED +} + +func (x *GetInvitationResponse) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *GetInvitationResponse) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *GetInvitationResponse) GetWorkspaceDisplayName() string { + if x != nil { + return x.WorkspaceDisplayName + } + return "" +} + +func (x *GetInvitationResponse) GetPictureUrl() string { + if x != nil && x.PictureUrl != nil { + return *x.PictureUrl + } + return "" +} + +func (x *GetInvitationResponse) GetInviterEmail() string { + if x != nil { + return x.InviterEmail + } + return "" +} + +func (x *GetInvitationResponse) GetInvitedEmail() string { + if x != nil { + return x.InvitedEmail + } + return "" +} + +func (x *GetInvitationResponse) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +type UpsertMyVerifiedBindingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` // 'github' | 'linear' | 'slack' | 'email' + Handle string `protobuf:"bytes,2,opt,name=handle,proto3" json:"handle,omitempty"` // GitHub login, Slack member ID, Linear urlKey, email address + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertMyVerifiedBindingRequest) Reset() { + *x = UpsertMyVerifiedBindingRequest{} + mi := &file_brent_proto_msgTypes[282] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertMyVerifiedBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertMyVerifiedBindingRequest) ProtoMessage() {} + +func (x *UpsertMyVerifiedBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[282] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertMyVerifiedBindingRequest.ProtoReflect.Descriptor instead. +func (*UpsertMyVerifiedBindingRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{282} +} + +func (x *UpsertMyVerifiedBindingRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *UpsertMyVerifiedBindingRequest) GetHandle() string { + if x != nil { + return x.Handle + } + return "" +} + +type UpsertMyVerifiedBindingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Binding *Binding `protobuf:"bytes,1,opt,name=binding,proto3" json:"binding,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertMyVerifiedBindingResponse) Reset() { + *x = UpsertMyVerifiedBindingResponse{} + mi := &file_brent_proto_msgTypes[283] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertMyVerifiedBindingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertMyVerifiedBindingResponse) ProtoMessage() {} + +func (x *UpsertMyVerifiedBindingResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[283] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertMyVerifiedBindingResponse.ProtoReflect.Descriptor instead. +func (*UpsertMyVerifiedBindingResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{283} +} + +func (x *UpsertMyVerifiedBindingResponse) GetBinding() *Binding { + if x != nil { + return x.Binding + } + return nil +} + +type UpdateMyDisplayNameRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // New display name for the calling principal. Trimmed server-side; + // empty / whitespace-only is rejected, as is more than 100 characters. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateMyDisplayNameRequest) Reset() { + *x = UpdateMyDisplayNameRequest{} + mi := &file_brent_proto_msgTypes[284] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateMyDisplayNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateMyDisplayNameRequest) ProtoMessage() {} + +func (x *UpdateMyDisplayNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[284] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateMyDisplayNameRequest.ProtoReflect.Descriptor instead. +func (*UpdateMyDisplayNameRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{284} +} + +func (x *UpdateMyDisplayNameRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +type UpdateMyDisplayNameResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The calling principal after the update, with display_name set and its + // source frozen to user. + Principal *Principal `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateMyDisplayNameResponse) Reset() { + *x = UpdateMyDisplayNameResponse{} + mi := &file_brent_proto_msgTypes[285] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateMyDisplayNameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateMyDisplayNameResponse) ProtoMessage() {} + +func (x *UpdateMyDisplayNameResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[285] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateMyDisplayNameResponse.ProtoReflect.Descriptor instead. +func (*UpdateMyDisplayNameResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{285} +} + +func (x *UpdateMyDisplayNameResponse) GetPrincipal() *Principal { + if x != nil { + return x.Principal + } + return nil +} + +type SetPreferredIDERequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // "cursor", "claude-code", or "generic" + PreferredIde string `protobuf:"bytes,1,opt,name=preferred_ide,json=preferredIde,proto3" json:"preferred_ide,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPreferredIDERequest) Reset() { + *x = SetPreferredIDERequest{} + mi := &file_brent_proto_msgTypes[286] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPreferredIDERequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPreferredIDERequest) ProtoMessage() {} + +func (x *SetPreferredIDERequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[286] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPreferredIDERequest.ProtoReflect.Descriptor instead. +func (*SetPreferredIDERequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{286} +} + +func (x *SetPreferredIDERequest) GetPreferredIde() string { + if x != nil { + return x.PreferredIde + } + return "" +} + +type SetPreferredIDEResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Echoes back the persisted preference. + PreferredIde string `protobuf:"bytes,1,opt,name=preferred_ide,json=preferredIde,proto3" json:"preferred_ide,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPreferredIDEResponse) Reset() { + *x = SetPreferredIDEResponse{} + mi := &file_brent_proto_msgTypes[287] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPreferredIDEResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPreferredIDEResponse) ProtoMessage() {} + +func (x *SetPreferredIDEResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[287] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPreferredIDEResponse.ProtoReflect.Descriptor instead. +func (*SetPreferredIDEResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{287} +} + +func (x *SetPreferredIDEResponse) GetPreferredIde() string { + if x != nil { + return x.PreferredIde + } + return "" +} + +type ListMyBindingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyBindingsRequest) Reset() { + *x = ListMyBindingsRequest{} + mi := &file_brent_proto_msgTypes[288] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyBindingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyBindingsRequest) ProtoMessage() {} + +func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[288] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyBindingsRequest.ProtoReflect.Descriptor instead. +func (*ListMyBindingsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{288} +} + +type ListMyBindingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Bindings []*Binding `protobuf:"bytes,1,rep,name=bindings,proto3" json:"bindings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyBindingsResponse) Reset() { + *x = ListMyBindingsResponse{} + mi := &file_brent_proto_msgTypes[289] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyBindingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyBindingsResponse) ProtoMessage() {} + +func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[289] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyBindingsResponse.ProtoReflect.Descriptor instead. +func (*ListMyBindingsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{289} +} + +func (x *ListMyBindingsResponse) GetBindings() []*Binding { + if x != nil { + return x.Bindings + } + return nil +} + +// Binding is the wire representation of a row in the `principal_bindings` +// table. The external_id is the canonical UUID reference. +type Binding struct { + state protoimpl.MessageState `protogen:"open.v1"` + ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Handle string `protobuf:"bytes,3,opt,name=handle,proto3" json:"handle,omitempty"` + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` // always 'verified' in the friends-using-brent milestone + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Subject string `protobuf:"bytes,8,opt,name=subject,proto3" json:"subject,omitempty"` // canonical immutable id when set (lower email, Linear user UUID) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Binding) Reset() { + *x = Binding{} + mi := &file_brent_proto_msgTypes[290] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Binding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Binding) ProtoMessage() {} + +func (x *Binding) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[290] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Binding.ProtoReflect.Descriptor instead. +func (*Binding) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{290} +} + +func (x *Binding) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +func (x *Binding) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *Binding) GetHandle() string { + if x != nil { + return x.Handle + } + return "" +} + +func (x *Binding) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *Binding) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Binding) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Binding) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +type RedFindingKindsPatch struct { + state protoimpl.MessageState `protogen:"open.v1"` + Kinds []string `protobuf:"bytes,1,rep,name=kinds,proto3" json:"kinds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RedFindingKindsPatch) Reset() { + *x = RedFindingKindsPatch{} + mi := &file_brent_proto_msgTypes[291] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RedFindingKindsPatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedFindingKindsPatch) ProtoMessage() {} + +func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[291] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedFindingKindsPatch.ProtoReflect.Descriptor instead. +func (*RedFindingKindsPatch) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{291} +} + +func (x *RedFindingKindsPatch) GetKinds() []string { + if x != nil { + return x.Kinds + } + return nil +} + +type GetBrentSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBrentSettingsRequest) Reset() { + *x = GetBrentSettingsRequest{} + mi := &file_brent_proto_msgTypes[292] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBrentSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBrentSettingsRequest) ProtoMessage() {} + +func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[292] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBrentSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetBrentSettingsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{292} +} + +func (x *GetBrentSettingsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +type GetBrentSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + RedFindingKinds []string `protobuf:"bytes,1,rep,name=red_finding_kinds,json=redFindingKinds,proto3" json:"red_finding_kinds,omitempty"` + RedFindingKindsUpdatedBy string `protobuf:"bytes,2,opt,name=red_finding_kinds_updated_by,json=redFindingKindsUpdatedBy,proto3" json:"red_finding_kinds_updated_by,omitempty"` + RedFindingKindsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=red_finding_kinds_updated_at,json=redFindingKindsUpdatedAt,proto3" json:"red_finding_kinds_updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBrentSettingsResponse) Reset() { + *x = GetBrentSettingsResponse{} + mi := &file_brent_proto_msgTypes[293] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBrentSettingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBrentSettingsResponse) ProtoMessage() {} + +func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[293] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBrentSettingsResponse.ProtoReflect.Descriptor instead. +func (*GetBrentSettingsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{293} +} + +func (x *GetBrentSettingsResponse) GetRedFindingKinds() []string { + if x != nil { + return x.RedFindingKinds + } + return nil +} + +func (x *GetBrentSettingsResponse) GetRedFindingKindsUpdatedBy() string { + if x != nil { + return x.RedFindingKindsUpdatedBy + } + return "" +} + +func (x *GetBrentSettingsResponse) GetRedFindingKindsUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.RedFindingKindsUpdatedAt + } + return nil +} + +type UpdateBrentSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + RedFindingKinds *RedFindingKindsPatch `protobuf:"bytes,2,opt,name=red_finding_kinds,json=redFindingKinds,proto3,oneof" json:"red_finding_kinds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateBrentSettingsRequest) Reset() { + *x = UpdateBrentSettingsRequest{} + mi := &file_brent_proto_msgTypes[294] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateBrentSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateBrentSettingsRequest) ProtoMessage() {} + +func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[294] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateBrentSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdateBrentSettingsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{294} +} + +func (x *UpdateBrentSettingsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *UpdateBrentSettingsRequest) GetRedFindingKinds() *RedFindingKindsPatch { + if x != nil { + return x.RedFindingKinds + } + return nil +} + +type UpdateBrentSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + RedFindingKinds []string `protobuf:"bytes,1,rep,name=red_finding_kinds,json=redFindingKinds,proto3" json:"red_finding_kinds,omitempty"` + RedFindingKindsUpdatedBy string `protobuf:"bytes,2,opt,name=red_finding_kinds_updated_by,json=redFindingKindsUpdatedBy,proto3" json:"red_finding_kinds_updated_by,omitempty"` + RedFindingKindsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=red_finding_kinds_updated_at,json=redFindingKindsUpdatedAt,proto3" json:"red_finding_kinds_updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateBrentSettingsResponse) Reset() { + *x = UpdateBrentSettingsResponse{} + mi := &file_brent_proto_msgTypes[295] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateBrentSettingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateBrentSettingsResponse) ProtoMessage() {} + +func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[295] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateBrentSettingsResponse.ProtoReflect.Descriptor instead. +func (*UpdateBrentSettingsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{295} +} + +func (x *UpdateBrentSettingsResponse) GetRedFindingKinds() []string { + if x != nil { + return x.RedFindingKinds + } + return nil +} + +func (x *UpdateBrentSettingsResponse) GetRedFindingKindsUpdatedBy() string { + if x != nil { + return x.RedFindingKindsUpdatedBy + } + return "" +} + +func (x *UpdateBrentSettingsResponse) GetRedFindingKindsUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.RedFindingKindsUpdatedAt + } + return nil +} + +// AdminGetAccountBrentSettingsRequest selects the account whose Brent settings +// an operator wants to read. account_name is required (operator endpoint, no +// caller-account fallback). Reuses GetBrentSettingsResponse for the result. +type AdminGetAccountBrentSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountBrentSettingsRequest) Reset() { + *x = AdminGetAccountBrentSettingsRequest{} + mi := &file_brent_proto_msgTypes[296] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountBrentSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountBrentSettingsRequest) ProtoMessage() {} + +func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[296] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. +func (*AdminGetAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{296} +} + +func (x *AdminGetAccountBrentSettingsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +// AdminUpdateAccountBrentSettingsRequest selects the account whose Brent +// settings an operator wants to change. account_name is required. Reuses +// UpdateBrentSettingsResponse for the result. +type AdminUpdateAccountBrentSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + RedFindingKinds *RedFindingKindsPatch `protobuf:"bytes,2,opt,name=red_finding_kinds,json=redFindingKinds,proto3,oneof" json:"red_finding_kinds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUpdateAccountBrentSettingsRequest) Reset() { + *x = AdminUpdateAccountBrentSettingsRequest{} + mi := &file_brent_proto_msgTypes[297] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUpdateAccountBrentSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUpdateAccountBrentSettingsRequest) ProtoMessage() {} + +func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[297] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUpdateAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. +func (*AdminUpdateAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{297} +} + +func (x *AdminUpdateAccountBrentSettingsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminUpdateAccountBrentSettingsRequest) GetRedFindingKinds() *RedFindingKindsPatch { + if x != nil { + return x.RedFindingKinds + } + return nil +} + +// AdminGetAccountLLMCredentialStatusRequest selects the account and provider +// whose LLM key status an operator wants to read. Both account_name and +// provider are required (operator endpoint, no caller-account fallback). +type AdminGetAccountLLMCredentialStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The account (workspace_id) whose key status to read. Required. + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // Provider to query (e.g. "openai"). Required. + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountLLMCredentialStatusRequest) Reset() { + *x = AdminGetAccountLLMCredentialStatusRequest{} + mi := &file_brent_proto_msgTypes[298] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountLLMCredentialStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountLLMCredentialStatusRequest) ProtoMessage() {} + +func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[298] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. +func (*AdminGetAccountLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{298} +} + +func (x *AdminGetAccountLLMCredentialStatusRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminGetAccountLLMCredentialStatusRequest) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +// AdminGetAccountLLMCredentialStatusResponse returns the key metadata plus +// which key source the account's runs use. Metadata only — never the secret. +type AdminGetAccountLLMCredentialStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Metadata-only status (connected, last4, timestamps). Never the secret. + Status *WorkspaceLLMCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // Which key an account's runs use right now: "account" when a key is stored, + // else "platform" (matches the ovm.brent.llm.keySource run attribute). + KeySourceInUse string `protobuf:"bytes,2,opt,name=key_source_in_use,json=keySourceInUse,proto3" json:"key_source_in_use,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountLLMCredentialStatusResponse) Reset() { + *x = AdminGetAccountLLMCredentialStatusResponse{} + mi := &file_brent_proto_msgTypes[299] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountLLMCredentialStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountLLMCredentialStatusResponse) ProtoMessage() {} + +func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[299] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. +func (*AdminGetAccountLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{299} +} + +func (x *AdminGetAccountLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { + if x != nil { + return x.Status + } + return nil +} + +func (x *AdminGetAccountLLMCredentialStatusResponse) GetKeySourceInUse() string { + if x != nil { + return x.KeySourceInUse + } + return "" +} + +type ListIntegrationCatalogueRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListIntegrationCatalogueRequest) Reset() { + *x = ListIntegrationCatalogueRequest{} + mi := &file_brent_proto_msgTypes[300] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListIntegrationCatalogueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIntegrationCatalogueRequest) ProtoMessage() {} + +func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[300] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. +func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{300} +} + +type ListIntegrationCatalogueResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Entries []*IntegrationCatalogueEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListIntegrationCatalogueResponse) Reset() { + *x = ListIntegrationCatalogueResponse{} + mi := &file_brent_proto_msgTypes[301] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListIntegrationCatalogueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIntegrationCatalogueResponse) ProtoMessage() {} + +func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[301] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. +func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{301} +} + +func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { + if x != nil { + return x.Entries + } + return nil +} + +// One marketplace entry: a Composio catalogue record, a first-party +// integration, or the BYO option. Generic by design — no per-provider fields. +type IntegrationCatalogueEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Stable identifier. Composio entries: the Composio toolkit slug. First-party + // and BYO entries: a synthetic stable slug (e.g. "github", "byo-http-mcp"). + StableId string `protobuf:"bytes,1,opt,name=stable_id,json=stableId,proto3" json:"stable_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Category string `protobuf:"bytes,3,opt,name=category,proto3" json:"category,omitempty"` + // Effective description: curated overlay description when present, else the + // source (Composio / built-in) description. + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + AdvertisedTools []string `protobuf:"bytes,5,rep,name=advertised_tools,json=advertisedTools,proto3" json:"advertised_tools,omitempty"` + RecommendedForBrent bool `protobuf:"varint,6,opt,name=recommended_for_brent,json=recommendedForBrent,proto3" json:"recommended_for_brent,omitempty"` + NewlyAdded bool `protobuf:"varint,7,opt,name=newly_added,json=newlyAdded,proto3" json:"newly_added,omitempty"` + // Whether the caller's account has this entry connected/installed. + Connected bool `protobuf:"varint,8,opt,name=connected,proto3" json:"connected,omitempty"` + Source IntegrationCatalogueSource `protobuf:"varint,9,opt,name=source,proto3,enum=brent.IntegrationCatalogueSource" json:"source,omitempty"` + // Set for first-party entries so the picker can render "Already configured" + // and a Manage deep-link; INTEGRATION_PROVIDER_UNSPECIFIED otherwise. + Provider IntegrationProvider `protobuf:"varint,10,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + AutoRank int32 `protobuf:"varint,11,opt,name=auto_rank,json=autoRank,proto3" json:"auto_rank,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IntegrationCatalogueEntry) Reset() { + *x = IntegrationCatalogueEntry{} + mi := &file_brent_proto_msgTypes[302] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IntegrationCatalogueEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntegrationCatalogueEntry) ProtoMessage() {} + +func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[302] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. +func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{302} +} + +func (x *IntegrationCatalogueEntry) GetStableId() string { + if x != nil { + return x.StableId + } + return "" +} + +func (x *IntegrationCatalogueEntry) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IntegrationCatalogueEntry) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *IntegrationCatalogueEntry) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *IntegrationCatalogueEntry) GetAdvertisedTools() []string { + if x != nil { + return x.AdvertisedTools + } + return nil +} + +func (x *IntegrationCatalogueEntry) GetRecommendedForBrent() bool { + if x != nil { + return x.RecommendedForBrent + } + return false +} + +func (x *IntegrationCatalogueEntry) GetNewlyAdded() bool { + if x != nil { + return x.NewlyAdded + } + return false +} + +func (x *IntegrationCatalogueEntry) GetConnected() bool { + if x != nil { + return x.Connected + } + return false +} + +func (x *IntegrationCatalogueEntry) GetSource() IntegrationCatalogueSource { + if x != nil { + return x.Source + } + return IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED +} + +func (x *IntegrationCatalogueEntry) GetProvider() IntegrationProvider { + if x != nil { + return x.Provider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *IntegrationCatalogueEntry) GetAutoRank() int32 { + if x != nil { + return x.AutoRank + } + return 0 +} + +var file_brent_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 50001, + Name: "brent.embedded_json", + Tag: "varint,50001,opt,name=embedded_json", + Filename: "brent.proto", + }, +} + +// Extension fields to descriptorpb.FieldOptions. +var ( + // optional bool embedded_json = 50001; + E_EmbeddedJson = &file_brent_proto_extTypes[0] +) + +var File_brent_proto protoreflect.FileDescriptor + +const file_brent_proto_rawDesc = "" + + "\n" + + "\vbrent.proto\x12\x05brent\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x80\x01\n" + + "\x17ListPullRequestsRequest\x12\x14\n" + + "\x05state\x18\x01 \x01(\tR\x05state\x12\x14\n" + + "\x05limit\x18\x02 \x01(\rR\x05limit\x12\x16\n" + + "\x06offset\x18\x03 \x01(\rR\x06offset\x12!\n" + + "\faccount_name\x18\x04 \x01(\tR\vaccountName\"{\n" + + "\x18ListPullRequestsResponse\x12>\n" + + "\rpull_requests\x18\x01 \x03(\v2\x19.brent.PullRequestSummaryR\fpullRequests\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\rR\n" + + "totalCount\"S\n" + + "\x19GetPullRequestByIDRequest\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\"S\n" + + "\x1aGetPullRequestByIDResponse\x125\n" + + "\fpull_request\x18\x01 \x01(\v2\x12.brent.PullRequestR\vpullRequest\"[\n" + + "!ListDeviationAnalysesForPRRequest\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\"a\n" + + "\"ListDeviationAnalysesForPRResponse\x12;\n" + + "\banalyses\x18\x01 \x03(\v2\x1f.brent.DeviationAnalysisSummaryR\banalyses\"W\n" + + "\x1dGetPullRequestTimelineRequest\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\"\xd5\x02\n" + + "\x1bPullRequestTimelineEventRow\x12;\n" + + "\voccurred_at\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "occurredAt\x12#\n" + + "\rsource_family\x18\x02 \x01(\tR\fsourceFamily\x12\x1d\n" + + "\n" + + "event_type\x18\x03 \x01(\tR\teventType\x12\x14\n" + + "\x05actor\x18\x04 \x01(\tR\x05actor\x12\x1f\n" + + "\vactor_class\x18\x05 \x01(\tR\n" + + "actorClass\x12\x18\n" + + "\asummary\x18\x06 \x01(\tR\asummary\x12!\n" + + "\fevidence_url\x18\a \x01(\tR\vevidenceUrl\x12+\n" + + "\x11source_confidence\x18\b \x01(\tR\x10sourceConfidence\x12\x14\n" + + "\x05notes\x18\t \x01(\tR\x05notes\"J\n" + + "\x1aPullRequestTimelineWarning\x12\x12\n" + + "\x04code\x18\x01 \x01(\tR\x04code\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"\xd2\x01\n" + + "\x1eGetPullRequestTimelineResponse\x125\n" + + "\fpull_request\x18\x01 \x01(\v2\x12.brent.PullRequestR\vpullRequest\x12:\n" + + "\x06events\x18\x02 \x03(\v2\".brent.PullRequestTimelineEventRowR\x06events\x12=\n" + + "\bwarnings\x18\x03 \x03(\v2!.brent.PullRequestTimelineWarningR\bwarnings\"\xf5\x03\n" + + "\x12PullRequestSummary\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12$\n" + + "\x0erepo_full_name\x18\x03 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x04 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x05 \x01(\tR\x05title\x12\x14\n" + + "\x05state\x18\x06 \x01(\tR\x05state\x12\x19\n" + + "\bis_draft\x18\a \x01(\bR\aisDraft\x12\x19\n" + + "\bhead_sha\x18\b \x01(\tR\aheadSha\x129\n" + + "\n" + + "updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x125\n" + + "\x17linked_plan_friendly_id\x18\n" + + " \x01(\tR\x14linkedPlanFriendlyId\x12*\n" + + "\x11linked_plan_title\x18\v \x01(\tR\x0flinkedPlanTitle\x12\x1f\n" + + "\vlink_reason\x18\f \x01(\tR\n" + + "linkReason\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuidJ\x04\b\r\x10\x0eR\x18latest_deviation_verdict\"\x8f\x06\n" + + "\vPullRequest\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12$\n" + + "\x0erepo_full_name\x18\x03 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x04 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x05 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x06 \x01(\tR\x04body\x12\x14\n" + + "\x05state\x18\a \x01(\tR\x05state\x12\x19\n" + + "\bis_draft\x18\b \x01(\bR\aisDraft\x12\x19\n" + + "\bhead_sha\x18\t \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\n" + + " \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\v \x01(\tR\n" + + "baseBranch\x12!\n" + + "\fauthor_login\x18\f \x01(\tR\vauthorLogin\x12\x16\n" + + "\x06merged\x18\r \x01(\bR\x06merged\x12(\n" + + "\x10merge_commit_sha\x18\x0e \x01(\tR\x0emergeCommitSha\x12\x10\n" + + "\x03url\x18\x0f \x01(\tR\x03url\x129\n" + + "\n" + + "created_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x127\n" + + "\tclosed_at\x18\x12 \x01(\v2\x1a.google.protobuf.TimestampR\bclosedAt\x125\n" + + "\x17linked_plan_friendly_id\x18\x13 \x01(\tR\x14linkedPlanFriendlyId\x12*\n" + + "\x11linked_plan_title\x18\x14 \x01(\tR\x0flinkedPlanTitle\x12\x1f\n" + + "\vlink_reason\x18\x15 \x01(\tR\n" + + "linkReason\x12(\n" + + "\x10linked_plan_uuid\x18\x16 \x01(\tR\x0elinkedPlanUuid\"\x83\x04\n" + + "\x18DeviationAnalysisSummary\x12\x1f\n" + + "\vanalysis_id\x18\x01 \x01(\tR\n" + + "analysisId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x13\n" + + "\x05pr_id\x18\x03 \x01(\tR\x04prId\x12\x1b\n" + + "\tplan_uuid\x18\x04 \x01(\tR\bplanUuid\x12\x19\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12&\n" + + "\x0fworkflow_run_id\x18\x06 \x01(\tR\rworkflowRunId\x12%\n" + + "\x0efailure_reason\x18\t \x01(\tR\rfailureReason\x129\n" + + "\n" + + "started_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" + + "\fcompleted_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x127\n" + + "\tfailed_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\x123\n" + + "\bfindings\x18\r \x03(\v2\x17.brent.DeviationFindingR\bfindingsJ\x04\b\a\x10\bJ\x04\b\b\x10\tR\averdictR\n" + + "summary_md\"\xc8\x04\n" + + "\x10DeviationFinding\x12\x1d\n" + + "\n" + + "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x10\n" + + "\x03tag\x18\x02 \x01(\tR\x03tag\x12\x18\n" + + "\asummary\x18\x03 \x01(\tR\asummary\x12\x1f\n" + + "\vanchor_path\x18\x04 \x01(\tR\n" + + "anchorPath\x12*\n" + + "\x11anchor_start_line\x18\x05 \x01(\x05R\x0fanchorStartLine\x12&\n" + + "\x0fanchor_end_line\x18\x06 \x01(\x05R\ranchorEndLine\x12!\n" + + "\fdetails_json\x18\a \x01(\tR\vdetailsJson\x12\x1a\n" + + "\bresolved\x18\b \x01(\bR\bresolved\x12;\n" + + "\vresolved_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "resolvedAt\x12+\n" + + "\x11resolution_reason\x18\n" + + " \x01(\tR\x10resolutionReason\x12+\n" + + "\x11resolution_commit\x18\v \x01(\tR\x10resolutionCommit\x12\"\n" + + "\facknowledged\x18\f \x01(\bR\facknowledged\x12\x1d\n" + + "\n" + + "ack_source\x18\r \x01(\tR\tackSource\x12\x17\n" + + "\aack_ref\x18\x0e \x01(\tR\x06ackRef\x12.\n" + + "\x13ack_reasoning_quote\x18\x0f \x01(\tR\x11ackReasoningQuote\x12\x12\n" + + "\x04slug\x18\x10 \x01(\tR\x04slug\"\xd0\x02\n" + + "\x16ExecuteWorkflowRequest\x12'\n" + + "\x0fworkflow_prompt\x18\x01 \x01(\tR\x0eworkflowPrompt\x121\n" + + "\x12trigger_event_json\x18\x02 \x01(\tH\x00R\x10triggerEventJson\x88\x01\x01\x12(\n" + + "\rworkflow_name\x18\x06 \x01(\tH\x01R\fworkflowName\x88\x01\x01\x12&\n" + + "\faccount_name\x18\a \x01(\tH\x02R\vaccountName\x88\x01\x01B\x15\n" + + "\x13_trigger_event_jsonB\x10\n" + + "\x0e_workflow_nameB\x0f\n" + + "\r_account_nameJ\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06R\n" + + "pr_contextR\x18custom_preamble_templateR\x16custom_shared_workflow\"N\n" + + "\x0fListRunsRequest\x12#\n" + + "\rworkflow_name\x18\x01 \x01(\tR\fworkflowName\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\"9\n" + + "\x10ListRunsResponse\x12%\n" + + "\x04runs\x18\x01 \x03(\v2\x11.brent.RunSummaryR\x04runs\"\x9f\x03\n" + + "\n" + + "RunSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + + "\x06status\x18\x02 \x01(\x0e2\x10.brent.RunStatusR\x06status\x12'\n" + + "\x0fworkflow_prompt\x18\x03 \x01(\tR\x0eworkflowPrompt\x121\n" + + "\x12trigger_event_json\x18\x04 \x01(\tH\x00R\x10triggerEventJson\x88\x01\x01\x129\n" + + "\n" + + "started_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12B\n" + + "\fcompleted_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\vcompletedAt\x88\x01\x01\x12\"\n" + + "\n" + + "thread_key\x18\t \x01(\tH\x02R\tthreadKey\x88\x01\x01B\x15\n" + + "\x13_trigger_event_jsonB\x0f\n" + + "\r_completed_atB\r\n" + + "\v_thread_keyJ\x04\b\a\x10\bJ\x04\b\b\x10\tR\x06pr_keyR\rworkflow_kind\"(\n" + + "\x0fWatchRunRequest\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\"\x15\n" + + "\x13StreamEventsRequest\":\n" + + "\x14StreamEventsResponse\x12\"\n" + + "\x05event\x18\x01 \x01(\v2\f.brent.EventR\x05event\"\xcc\x02\n" + + "\x11ListEventsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12?\n" + + "\roccurred_from\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\foccurredFrom\x12;\n" + + "\voccurred_to\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "occurredTo\x12\x1f\n" + + "\vobject_type\x18\x04 \x01(\tR\n" + + "objectType\x12\x1b\n" + + "\tobject_id\x18\x05 \x01(\tR\bobjectId\x12\x1f\n" + + "\vevent_types\x18\x06 \x03(\tR\n" + + "eventTypes\x12\x14\n" + + "\x05limit\x18\a \x01(\rR\x05limit\x12!\n" + + "\fafter_cursor\x18\b \x01(\tR\vafterCursor\"[\n" + + "\x12ListEventsResponse\x12$\n" + + "\x06events\x18\x01 \x03(\v2\f.brent.EventR\x06events\x12\x1f\n" + + "\vnext_cursor\x18\x02 \x01(\tR\n" + + "nextCursor\")\n" + + "\x10CancelRunRequest\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\"\x13\n" + + "\x11CancelRunResponse\"K\n" + + "\x1bListOpenPullRequestsRequest\x12\x14\n" + + "\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" + + "\x06offset\x18\x02 \x01(\rR\x06offset\"|\n" + + "\x1cListOpenPullRequestsResponse\x12;\n" + + "\rpull_requests\x18\x01 \x03(\v2\x16.brent.OpenPullRequestR\fpullRequests\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\rR\n" + + "totalCount\"C\n" + + "\x15GetPullRequestRequest\x12\x12\n" + + "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" + + "\x06number\x18\x02 \x01(\x05R\x06number\"S\n" + + "\x16GetPullRequestResponse\x129\n" + + "\fpull_request\x18\x01 \x01(\v2\x16.brent.OpenPullRequestR\vpullRequest\"\xb5\x02\n" + + "\x0fOpenPullRequest\x12\x12\n" + + "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" + + "\x06number\x18\x02 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x03 \x01(\tR\x05title\x12\x16\n" + + "\x06author\x18\x04 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12\x1f\n" + + "\vbase_branch\x18\x06 \x01(\tR\n" + + "baseBranch\x12\x1f\n" + + "\vhead_branch\x18\a \x01(\tR\n" + + "headBranch\x12\x14\n" + + "\x05state\x18\t \x01(\tR\x05state\x129\n" + + "\n" + + "updated_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtJ\x04\b\b\x10\tR\x14latest_ci_conclusion\"\xf7\x04\n" + + "\x17ExecuteWorkflowResponse\x128\n" + + "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x124\n" + + "\treasoning\x18\n" + + " \x01(\v2\x14.brent.ReasoningStepH\x00R\treasoning\x122\n" + + "\ttool_call\x18\v \x01(\v2\x13.brent.ToolCallStepH\x00R\btoolCall\x128\n" + + "\vtool_result\x18\f \x01(\v2\x15.brent.ToolResultStepH\x00R\n" + + "toolResult\x127\n" + + "\n" + + "completion\x18\r \x01(\v2\x15.brent.CompletionStepH\x00R\n" + + "completion\x12(\n" + + "\x05error\x18\x0e \x01(\v2\x10.brent.ErrorStepH\x00R\x05error\x12+\n" + + "\x06status\x18\x0f \x01(\v2\x11.brent.StatusStepH\x00R\x06status\x128\n" + + "\vrun_started\x18\x10 \x01(\v2\x15.brent.RunStartedStepH\x00R\n" + + "runStarted\x12/\n" + + "\bqa_ready\x18\x11 \x01(\v2\x12.brent.QAReadyStepH\x00R\aqaReady\x12>\n" + + "\ruser_question\x18\x12 \x01(\v2\x17.brent.UserQuestionStepH\x00R\fuserQuestion\x12;\n" + + "\fuser_message\x18\x13 \x01(\v2\x16.brent.UserMessageStepH\x00R\vuserMessageB\x06\n" + + "\x04step\")\n" + + "\rReasoningStep\x12\x18\n" + + "\acontent\x18\x01 \x01(\tR\acontent\"\x8b\x01\n" + + "\fToolCallStep\x12 \n" + + "\ftool_call_id\x18\x01 \x01(\tR\n" + + "toolCallId\x12\x15\n" + + "\x06mcp_id\x18\x02 \x01(\tR\x05mcpId\x12\x1b\n" + + "\ttool_name\x18\x03 \x01(\tR\btoolName\x12%\n" + + "\x0earguments_json\x18\x04 \x01(\tR\rargumentsJson\"~\n" + + "\x0eToolResultStep\x12 \n" + + "\ftool_call_id\x18\x01 \x01(\tR\n" + + "toolCallId\x12\x15\n" + + "\x06mcp_id\x18\x02 \x01(\tR\x05mcpId\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\x19\n" + + "\bis_error\x18\x04 \x01(\bR\aisError\"*\n" + + "\x0eCompletionStep\x12\x18\n" + + "\acontent\x18\x01 \x01(\tR\acontent\"%\n" + + "\tErrorStep\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\"&\n" + + "\n" + + "StatusStep\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\"'\n" + + "\x0eRunStartedStep\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\"'\n" + + "\vQAReadyStep\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\".\n" + + "\x10UserQuestionStep\x12\x1a\n" + + "\bquestion\x18\x01 \x01(\tR\bquestion\"+\n" + + "\x0fUserMessageStep\x12\x18\n" + + "\acontent\x18\x01 \x01(\tR\acontent\"H\n" + + "\x13SendQuestionRequest\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1a\n" + + "\bquestion\x18\x02 \x01(\tR\bquestion\"\xc1\x01\n" + + "\x15AdminListPlansRequest\x12\x14\n" + + "\x05state\x18\x01 \x01(\tR\x05state\x12\x14\n" + + "\x05limit\x18\x02 \x01(\rR\x05limit\x12\x16\n" + + "\x06offset\x18\x03 \x01(\rR\x06offset\x12!\n" + + "\faccount_name\x18\x04 \x01(\tR\vaccountName\x12#\n" + + "\rreview_status\x18\x05 \x01(\tR\freviewStatus\x12\x1c\n" + + "\tlifecycle\x18\x06 \x01(\tR\tlifecycle\"c\n" + + "\x16AdminListPlansResponse\x12(\n" + + "\x05plans\x18\x01 \x03(\v2\x12.brent.PlanSummaryR\x05plans\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\rR\n" + + "totalCount\"\x83\x06\n" + + "\vPlanSummary\x12\x1f\n" + + "\vfriendly_id\x18\x01 \x01(\tR\n" + + "friendlyId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12.\n" + + "\x13author_principal_id\x18\a \x01(\tR\x11authorPrincipalId\x12.\n" + + "\x13author_display_name\x18\b \x01(\tR\x11authorDisplayName\x122\n" + + "\x15author_principal_kind\x18\t \x01(\tR\x13authorPrincipalKind\x126\n" + + "\x17author_principal_status\x18\n" + + " \x01(\tR\x15authorPrincipalStatus\x12\x12\n" + + "\x04uuid\x18\v \x01(\tR\x04uuid\x12!\n" + + "\fproject_code\x18\f \x01(\tR\vprojectCode\x129\n" + + "\n" + + "deleted_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tdeletedAt\x12#\n" + + "\rreview_status\x18\x0e \x01(\tR\freviewStatus\x12'\n" + + "\x0flifecycle_stage\x18\x0f \x01(\tR\x0elifecycleStage\x12)\n" + + "\x10lifecycle_reason\x18\x10 \x01(\tR\x0flifecycleReason\x12W\n" + + "\x1alifecycle_stage_updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAtJ\x04\b\x03\x10\x04R\x0eauthor_subject\"%\n" + + "\x13AdminGetPlanRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\xc5\x01\n" + + "\x14AdminGetPlanResponse\x12\x1f\n" + + "\x04plan\x18\x01 \x01(\v2\v.brent.PlanR\x04plan\x12=\n" + + "\x0frelated_reviews\x18\x02 \x03(\v2\x14.brent.ReviewSummaryR\x0erelatedReviews\x12M\n" + + "\x15related_pull_requests\x18\x03 \x03(\v2\x19.brent.PullRequestSummaryR\x13relatedPullRequests\"\xb6\x05\n" + + "\x04Plan\x12\x1f\n" + + "\vfriendly_id\x18\x01 \x01(\tR\n" + + "friendlyId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x05 \x01(\tR\acontent\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12.\n" + + "\x13author_principal_id\x18\b \x01(\tR\x11authorPrincipalId\x12.\n" + + "\x13author_display_name\x18\t \x01(\tR\x11authorDisplayName\x122\n" + + "\x15author_principal_kind\x18\n" + + " \x01(\tR\x13authorPrincipalKind\x126\n" + + "\x17author_principal_status\x18\v \x01(\tR\x15authorPrincipalStatus\x12\x12\n" + + "\x04uuid\x18\f \x01(\tR\x04uuid\x12!\n" + + "\fproject_code\x18\r \x01(\tR\vprojectCode\x12'\n" + + "\x0flifecycle_stage\x18\x0e \x01(\tR\x0elifecycleStage\x12)\n" + + "\x10lifecycle_reason\x18\x0f \x01(\tR\x0flifecycleReason\x12W\n" + + "\x1alifecycle_stage_updated_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAtJ\x04\b\x03\x10\x04R\x0eauthor_subject\"\x99\x01\n" + + "\x1aAdminListPrincipalsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x12\n" + + "\x04kind\x18\x02 \x01(\tR\x04kind\x12\x16\n" + + "\x06status\x18\x03 \x01(\tR\x06status\x12\x14\n" + + "\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x05 \x01(\x05R\x06offset\"p\n" + + "\x1bAdminListPrincipalsResponse\x120\n" + + "\n" + + "principals\x18\x01 \x03(\v2\x10.brent.PrincipalR\n" + + "principals\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\x05R\n" + + "totalCount\";\n" + + "\x18AdminGetPrincipalRequest\x12\x1f\n" + + "\vexternal_id\x18\x01 \x01(\tR\n" + + "externalId\"\xb1\x01\n" + + "\x19AdminGetPrincipalResponse\x12.\n" + + "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\x128\n" + + "\n" + + "identities\x18\x02 \x03(\v2\x18.brent.PrincipalIdentityR\n" + + "identities\x12*\n" + + "\bbindings\x18\x03 \x03(\v2\x0e.brent.BindingR\bbindings\"\x83\x02\n" + + "\x11PrincipalIdentity\x12\x1f\n" + + "\vexternal_id\x18\x01 \x01(\tR\n" + + "externalId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + + "\asubject\x18\x04 \x01(\tR\asubject\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x9e\x01\n" + + "\"AdminUpsertPrincipalBindingRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x16\n" + + "\x06handle\x18\x04 \x01(\tR\x06handle\"O\n" + + "#AdminUpsertPrincipalBindingResponse\x12(\n" + + "\abinding\x18\x01 \x01(\v2\x0e.brent.BindingR\abinding\"h\n" + + "\"AdminDeletePrincipalBindingRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + + "\vexternal_id\x18\x02 \x01(\tR\n" + + "externalId\"%\n" + + "#AdminDeletePrincipalBindingResponse\"\xc2\x01\n" + + "\x1bAdminUpdatePrincipalRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + + "\vexternal_id\x18\x02 \x01(\tR\n" + + "externalId\x12&\n" + + "\fdisplay_name\x18\x03 \x01(\tH\x00R\vdisplayName\x88\x01\x01\x12\x1b\n" + + "\x06status\x18\x04 \x01(\tH\x01R\x06status\x88\x01\x01B\x0f\n" + + "\r_display_nameB\t\n" + + "\a_status\"N\n" + + "\x1cAdminUpdatePrincipalResponse\x12.\n" + + "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\"\xa1\x01\n" + + "#AdminCreatePrincipalIdentityRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + + "\asubject\x18\x04 \x01(\tR\asubject\"\\\n" + + "$AdminCreatePrincipalIdentityResponse\x124\n" + + "\bidentity\x18\x01 \x01(\v2\x18.brent.PrincipalIdentityR\bidentity\"i\n" + + "#AdminDeletePrincipalIdentityRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + + "\vexternal_id\x18\x02 \x01(\tR\n" + + "externalId\"&\n" + + "$AdminDeletePrincipalIdentityResponse\"\x9e\x01\n" + + "\"AdminSetPrincipalCredentialRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x16\n" + + "\x06secret\x18\x04 \x01(\tR\x06secret\"m\n" + + "#AdminSetPrincipalCredentialResponse\x12#\n" + + "\raccount_email\x18\x01 \x01(\tR\faccountEmail\x12!\n" + + "\fsecret_last4\x18\x02 \x01(\tR\vsecretLast4\"o\n" + + ".AdminListPrincipalCredentialConnectionsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\"y\n" + + "/AdminListPrincipalCredentialConnectionsResponse\x12F\n" + + "\vconnections\x18\x01 \x03(\v2$.brent.PrincipalCredentialConnectionR\vconnections\"\xce\x02\n" + + "\x1dPrincipalCredentialConnection\x12!\n" + + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x1c\n" + + "\tconnected\x18\x03 \x01(\bR\tconnected\x12#\n" + + "\raccount_email\x18\x04 \x01(\tR\faccountEmail\x12!\n" + + "\fsecret_last4\x18\x05 \x01(\tR\vsecretLast4\x12F\n" + + "\x11last_validated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastValidatedAt\x12\x1d\n" + + "\n" + + "updated_by\x18\a \x01(\tR\tupdatedBy\x12!\n" + + "\faccount_name\x18\b \x01(\tR\vaccountName\"\x89\x01\n" + + "%AdminDeletePrincipalCredentialRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x03 \x01(\tR\bprovider\"(\n" + + "&AdminDeletePrincipalCredentialResponse\"<\n" + + "\x17AdminListReviewsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"J\n" + + "\x18AdminListReviewsResponse\x12.\n" + + "\areviews\x18\x01 \x03(\v2\x14.brent.ReviewSummaryR\areviews\"\xdb\x06\n" + + "\rReviewSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + + "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x16\n" + + "\x06status\x18\x05 \x01(\tR\x06status\x12=\n" + + "\frequested_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12>\n" + + "\n" + + "decided_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tdecidedAt\x88\x01\x01\x12\x1b\n" + + "\tplan_uuid\x18\x10 \x01(\tR\bplanUuid\x122\n" + + "\x15reviewer_principal_id\x18\x11 \x01(\tR\x13reviewerPrincipalId\x122\n" + + "\x15reviewer_display_name\x18\x12 \x01(\tR\x13reviewerDisplayName\x126\n" + + "\x17reviewer_principal_kind\x18\x13 \x01(\tR\x15reviewerPrincipalKind\x12:\n" + + "\x19reviewer_principal_status\x18\x14 \x01(\tR\x17reviewerPrincipalStatusB\r\n" + + "\v_decided_atJ\x04\b\x04\x10\x05J\x04\b\b\x10\tJ\x04\b\t\x10\n" + + "J\x04\b\n" + + "\x10\vJ\x04\b\v\x10\fJ\x04\b\f\x10\rJ\x04\b\r\x10\x0eJ\x04\b\x0e\x10\x0fJ\x04\b\x0f\x10\x10R\x10reviewer_subjectR\x1frequested_reviewer_principal_idR\x1cactual_reviewer_principal_idR\x1frequested_reviewer_display_nameR!requested_reviewer_principal_kindR#requested_reviewer_principal_statusR\x1cactual_reviewer_display_nameR\x1eactual_reviewer_principal_kindR actual_reviewer_principal_status\"'\n" + + "\x15AdminGetReviewRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"u\n" + + "\x16AdminGetReviewResponse\x12%\n" + + "\x06review\x18\x01 \x01(\v2\r.brent.ReviewR\x06review\x12+\n" + + "\x04plan\x18\x02 \x01(\v2\x12.brent.PlanSummaryH\x00R\x04plan\x88\x01\x01B\a\n" + + "\x05_plan\"\xd6\a\n" + + "\x06Review\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + + "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x16\n" + + "\x06status\x18\x05 \x01(\tR\x06status\x12'\n" + + "\x0fverdict_comment\x18\x06 \x01(\tR\x0everdictComment\x12=\n" + + "\frequested_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12>\n" + + "\n" + + "decided_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tdecidedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x122\n" + + "\x15reviewer_principal_id\x18\x13 \x01(\tR\x13reviewerPrincipalId\x122\n" + + "\x15reviewer_display_name\x18\x14 \x01(\tR\x13reviewerDisplayName\x126\n" + + "\x17reviewer_principal_kind\x18\x15 \x01(\tR\x15reviewerPrincipalKind\x12:\n" + + "\x19reviewer_principal_status\x18\x16 \x01(\tR\x17reviewerPrincipalStatusB\r\n" + + "\v_decided_atJ\x04\b\x04\x10\x05J\x04\b\v\x10\fJ\x04\b\f\x10\rJ\x04\b\r\x10\x0eJ\x04\b\x0e\x10\x0fJ\x04\b\x0f\x10\x10J\x04\b\x10\x10\x11J\x04\b\x11\x10\x12J\x04\b\x12\x10\x13R\x10reviewer_subjectR\x1frequested_reviewer_principal_idR\x1cactual_reviewer_principal_idR\x1frequested_reviewer_display_nameR!requested_reviewer_principal_kindR#requested_reviewer_principal_statusR\x1cactual_reviewer_display_nameR\x1eactual_reviewer_principal_kindR actual_reviewer_principal_status\"\x8b\x01\n" + + "\x0eAccountSummary\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + + "\vgithub_orgs\x18\x02 \x03(\tR\n" + + "githubOrgs\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x04 \x01(\tR\vdisplayName\"N\n" + + "\x19AdminListAccountsResponse\x121\n" + + "\baccounts\x18\x01 \x03(\v2\x15.brent.AccountSummaryR\baccounts\"B\n" + + "\x1dAdminGetAccountSummaryRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xa2\x01\n" + + "\x11AccountRunSummary\x12&\n" + + "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" + + "\x06status\x18\x03 \x01(\tR\x06status\x129\n" + + "\n" + + "started_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xcc\x04\n" + + "\x1eAdminGetAccountSummaryResponse\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + + "\vgithub_orgs\x18\x02 \x03(\tR\n" + + "githubOrgs\x12'\n" + + "\x0fslack_connected\x18\x03 \x01(\bR\x0eslackConnected\x12)\n" + + "\x10linear_connected\x18\x04 \x01(\bR\x0flinearConnected\x12\x1d\n" + + "\n" + + "plan_count\x18\x05 \x01(\x03R\tplanCount\x12!\n" + + "\freview_count\x18\x06 \x01(\x03R\vreviewCount\x12,\n" + + "\x12workflow_run_count\x18\a \x01(\x03R\x10workflowRunCount\x127\n" + + "\x18workflow_run_error_count\x18\b \x01(\x03R\x15workflowRunErrorCount\x12\x19\n" + + "\bpr_count\x18\t \x01(\x03R\aprCount\x12@\n" + + "\x0elast_active_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\flastActiveAt\x129\n" + + "\vrecent_runs\x18\f \x03(\v2\x18.brent.AccountRunSummaryR\n" + + "recentRuns\x12\x12\n" + + "\x04slug\x18\r \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x0e \x01(\tR\vdisplayNameJ\x04\b\n" + + "\x10\vR\x14verdict_distribution\"I\n" + + "$AdminGetAccountHealthAnalysisRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"`\n" + + "\x14AccountHealthFinding\x12\x1a\n" + + "\bseverity\x18\x01 \x01(\tR\bseverity\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x16\n" + + "\x06detail\x18\x03 \x01(\tR\x06detail\"\x9d\x01\n" + + "%AdminGetAccountHealthAnalysisResponse\x127\n" + + "\bfindings\x18\x01 \x03(\v2\x1b.brent.AccountHealthFindingR\bfindings\x12;\n" + + "\vcomputed_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "computedAt\"G\n" + + "\"AdminListAccountMetricReposRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"L\n" + + "\x11AccountMetricRepo\x12\x1b\n" + + "\tfull_name\x18\x01 \x01(\tR\bfullName\x12\x1a\n" + + "\barchived\x18\x02 \x01(\bR\barchived\"U\n" + + "#AdminListAccountMetricReposResponse\x12.\n" + + "\x05repos\x18\x01 \x03(\v2\x18.brent.AccountMetricRepoR\x05repos\"\xf9\x04\n" + + ")AdminStartAccountMetricsComparisonRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12=\n" + + "\fbefore_start\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vbeforeStart\x129\n" + + "\n" + + "before_end\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tbeforeEnd\x12;\n" + + "\vafter_start\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "afterStart\x127\n" + + "\tafter_end\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bafterEnd\x12(\n" + + "\x10linear_team_name\x18\a \x01(\tR\x0elinearTeamName\x12E\n" + + "\x0fcomparison_mode\x18\b \x01(\x0e2\x1c.brent.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + + "\x17planned_unplanned_start\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + + "\x15planned_unplanned_end\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"C\n" + + "*AdminStartAccountMetricsComparisonResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\"f\n" + + "*AdminGetAccountMetricsComparisonRunRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\"q\n" + + "\x19MetricsComparisonHeadline\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + + "\x06before\x18\x02 \x01(\x01R\x06before\x12\x14\n" + + "\x05after\x18\x03 \x01(\x01R\x05after\x12\x12\n" + + "\x04fold\x18\x04 \x01(\tR\x04fold\"\x89\x01\n" + + "\x19MetricsComparisonArtifact\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x1b\n" + + "\tmime_type\x18\x03 \x01(\tR\bmimeType\x12\x18\n" + + "\acontent\x18\x04 \x01(\tR\acontent\"\xcd\b\n" + + "+AdminGetAccountMetricsComparisonRunResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\x12\x14\n" + + "\x05stage\x18\x03 \x01(\tR\x05stage\x12)\n" + + "\x10progress_percent\x18\x04 \x01(\x05R\x0fprogressPercent\x12\x14\n" + + "\x05error\x18\x05 \x01(\tR\x05error\x12$\n" + + "\x0erepo_full_name\x18\x06 \x01(\tR\frepoFullName\x12#\n" + + "\rlinear_status\x18\a \x01(\tR\flinearStatus\x120\n" + + "\x14linear_status_detail\x18\b \x01(\tR\x12linearStatusDetail\x129\n" + + "\n" + + "started_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" + + "\fcompleted_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12\x1f\n" + + "\vreport_html\x18\v \x01(\tR\n" + + "reportHtml\x12<\n" + + "\bheadline\x18\f \x03(\v2 .brent.MetricsComparisonHeadlineR\bheadline\x12=\n" + + "\fbefore_start\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\vbeforeStart\x129\n" + + "\n" + + "before_end\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tbeforeEnd\x12;\n" + + "\vafter_start\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "afterStart\x127\n" + + "\tafter_end\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\bafterEnd\x12'\n" + + "\x0fcomparison_json\x18\x11 \x01(\tR\x0ecomparisonJson\x12>\n" + + "\tartifacts\x18\x12 \x03(\v2 .brent.MetricsComparisonArtifactR\tartifacts\x12E\n" + + "\x0fcomparison_mode\x18\x13 \x01(\x0e2\x1c.brent.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + + "\x17planned_unplanned_start\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + + "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\xc98\n" + + "\x05Event\x12\x19\n" + + "\bevent_id\x18\x01 \x01(\tR\aeventId\x12;\n" + + "\voccurred_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "occurredAt\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\"\n" + + "\x05actor\x18\x04 \x01(\v2\f.brent.ActorR\x05actor\x123\n" + + "\x06object\x18\x05 \x01(\v2\x16.brent.ObjectReferenceH\x01R\x06object\x88\x01\x01\x12+\n" + + "\x0fsource_repo_url\x18\x06 \x01(\tH\x02R\rsourceRepoUrl\x88\x01\x01\x12\x1e\n" + + "\btrace_id\x18\a \x01(\tH\x03R\atraceId\x88\x01\x01\x12\x1c\n" + + "\aspan_id\x18\b \x01(\tH\x04R\x06spanId\x88\x01\x01\x123\n" + + "\x13honeycomb_trace_url\x18\t \x01(\tH\x05R\x11honeycombTraceUrl\x88\x01\x01\x12;\n" + + "\vreceived_at\x18H \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "receivedAt\x127\n" + + "\fplan_created\x18\n" + + " \x01(\v2\x12.brent.PlanCreatedH\x00R\vplanCreated\x127\n" + + "\fplan_updated\x18\v \x01(\v2\x12.brent.PlanUpdatedH\x00R\vplanUpdated\x127\n" + + "\fplan_deleted\x18\f \x01(\v2\x12.brent.PlanDeletedH\x00R\vplanDeleted\x12C\n" + + "\x10review_requested\x18\r \x01(\v2\x16.brent.ReviewRequestedH\x00R\x0freviewRequested\x12C\n" + + "\x10review_submitted\x18\x0e \x01(\v2\x16.brent.ReviewSubmittedH\x00R\x0freviewSubmitted\x12)\n" + + "\x05other\x18\x0f \x01(\v2\x11.brent.OtherEventH\x00R\x05other\x12=\n" + + "\x0egithub_webhook\x18\x10 \x01(\v2\x14.brent.GitHubWebhookH\x00R\rgithubWebhook\x12B\n" + + "\rslack_mention\x18\x11 \x01(\v2\x1b.brent.SlackMentionReceivedH\x00R\fslackMention\x12B\n" + + "\x0eslack_reaction\x18\x12 \x01(\v2\x19.brent.SlackReactionAddedH\x00R\rslackReaction\x12J\n" + + "\x13pull_request_opened\x18\x13 \x01(\v2\x18.brent.PullRequestOpenedH\x00R\x11pullRequestOpened\x12\\\n" + + "\x19pull_request_synchronized\x18\x14 \x01(\v2\x1e.brent.PullRequestSynchronizedH\x00R\x17pullRequestSynchronized\x12M\n" + + "\x14pull_request_updated\x18\x15 \x01(\v2\x19.brent.PullRequestUpdatedH\x00R\x12pullRequestUpdated\x12J\n" + + "\x13pull_request_closed\x18\x16 \x01(\v2\x18.brent.PullRequestClosedH\x00R\x11pullRequestClosed\x12^\n" + + "\x1bpull_request_linked_to_plan\x18\x17 \x01(\v2\x1e.brent.PullRequestLinkedToPlanH\x00R\x17pullRequestLinkedToPlan\x12j\n" + + "\x1fpull_request_unlinked_from_plan\x18\x18 \x01(\v2\".brent.PullRequestUnlinkedFromPlanH\x00R\x1bpullRequestUnlinkedFromPlan\x12\x81\x01\n" + + "&organisation_app_installation_upserted\x18\x19 \x01(\v2*.brent.OrganisationAppInstallationUpsertedH\x00R#organisationAppInstallationUpserted\x12~\n" + + "%organisation_app_installation_deleted\x18\x1a \x01(\v2).brent.OrganisationAppInstallationDeletedH\x00R\"organisationAppInstallationDeleted\x12_\n" + + "\x1adeviation_analysis_started\x18\x1b \x01(\v2\x1f.brent.DeviationAnalysisStartedH\x00R\x18deviationAnalysisStarted\x12e\n" + + "\x1cdeviation_analysis_completed\x18\x1c \x01(\v2!.brent.DeviationAnalysisCompletedH\x00R\x1adeviationAnalysisCompleted\x12\\\n" + + "\x19deviation_analysis_failed\x18\x1d \x01(\v2\x1e.brent.DeviationAnalysisFailedH\x00R\x17deviationAnalysisFailed\x12J\n" + + "\x13workflow_run_queued\x18\x1e \x01(\v2\x18.brent.WorkflowRunQueuedH\x00R\x11workflowRunQueued\x12M\n" + + "\x14workflow_run_started\x18\x1f \x01(\v2\x19.brent.WorkflowRunStartedH\x00R\x12workflowRunStarted\x12S\n" + + "\x16workflow_run_completed\x18 \x01(\v2\x1b.brent.WorkflowRunCompletedH\x00R\x14workflowRunCompleted\x12J\n" + + "\x13workflow_run_failed\x18! \x01(\v2\x18.brent.WorkflowRunFailedH\x00R\x11workflowRunFailed\x12S\n" + + "\x16workflow_run_cancelled\x18\" \x01(\v2\x1b.brent.WorkflowRunCancelledH\x00R\x14workflowRunCancelled\x12`\n" + + "\x1breview_no_eligible_reviewer\x18# \x01(\v2\x1f.brent.ReviewNoEligibleReviewerH\x00R\x18reviewNoEligibleReviewer\x12F\n" + + "\x11principal_created\x18$ \x01(\v2\x17.brent.PrincipalCreatedH\x00R\x10principalCreated\x12F\n" + + "\x11principal_updated\x18% \x01(\v2\x17.brent.PrincipalUpdatedH\x00R\x10principalUpdated\x12O\n" + + "\x14principal_tombstoned\x18& \x01(\v2\x1a.brent.PrincipalTombstonedH\x00R\x13principalTombstoned\x12C\n" + + "\x10identity_created\x18' \x01(\v2\x16.brent.IdentityCreatedH\x00R\x0fidentityCreated\x12C\n" + + "\x10identity_deleted\x18( \x01(\v2\x16.brent.IdentityDeletedH\x00R\x0fidentityDeleted\x12@\n" + + "\x0fbinding_created\x18) \x01(\v2\x15.brent.BindingCreatedH\x00R\x0ebindingCreated\x12@\n" + + "\x0fbinding_updated\x18* \x01(\v2\x15.brent.BindingUpdatedH\x00R\x0ebindingUpdated\x12@\n" + + "\x0fbinding_deleted\x18+ \x01(\v2\x15.brent.BindingDeletedH\x00R\x0ebindingDeleted\x12T\n" + + "\x17review_drive_by_started\x18, \x01(\v2\x1b.brent.ReviewDriveByStartedH\x00R\x14reviewDriveByStarted\x12:\n" + + "\rslack_webhook\x18- \x01(\v2\x13.brent.SlackWebhookH\x00R\fslackWebhook\x12=\n" + + "\x0ereview_deleted\x18. \x01(\v2\x14.brent.ReviewDeletedH\x00R\rreviewDeleted\x12:\n" + + "\rplan_restored\x18/ \x01(\v2\x13.brent.PlanRestoredH\x00R\fplanRestored\x12=\n" + + "\x0elinear_webhook\x180 \x01(\v2\x14.brent.LinearWebhookH\x00R\rlinearWebhook\x12c\n" + + "\x1cpull_request_comment_created\x181 \x01(\v2 .brent.PullRequestCommentCreatedH\x00R\x19pullRequestCommentCreated\x12_\n" + + "\x1adeviation_finding_recorded\x182 \x01(\v2\x1f.brent.DeviationFindingRecordedH\x00R\x18deviationFindingRecorded\x12\\\n" + + "\x19deviation_finding_updated\x183 \x01(\v2\x1e.brent.DeviationFindingUpdatedH\x00R\x17deviationFindingUpdated\x12_\n" + + "\x1adeviation_finding_resolved\x184 \x01(\v2\x1f.brent.DeviationFindingResolvedH\x00R\x18deviationFindingResolved\x12M\n" + + "\x14agent_run_dispatched\x185 \x01(\v2\x19.brent.AgentRunDispatchedH\x00R\x12agentRunDispatched\x12D\n" + + "\x11agent_run_started\x186 \x01(\v2\x16.brent.AgentRunStartedH\x00R\x0fagentRunStarted\x12g\n" + + "\x1eagent_run_pull_request_matched\x187 \x01(\v2!.brent.AgentRunPullRequestMatchedH\x00R\x1aagentRunPullRequestMatched\x12^\n" + + "\x1bagent_run_flagged_needs_you\x188 \x01(\v2\x1e.brent.AgentRunFlaggedNeedsYouH\x00R\x17agentRunFlaggedNeedsYou\x12A\n" + + "\x10agent_run_merged\x189 \x01(\v2\x15.brent.AgentRunMergedH\x00R\x0eagentRunMerged\x12G\n" + + "\x12agent_run_declined\x18: \x01(\v2\x17.brent.AgentRunDeclinedH\x00R\x10agentRunDeclined\x12J\n" + + "\x13agent_run_cancelled\x18; \x01(\v2\x18.brent.AgentRunCancelledH\x00R\x11agentRunCancelled\x12N\n" + + "\x15agent_run_gate_passed\x18J \x01(\v2\x19.brent.AgentRunGatePassedH\x00R\x12agentRunGatePassed\x12k\n" + + " pull_request_linked_to_agent_run\x18< \x01(\v2\".brent.PullRequestLinkedToAgentRunH\x00R\x1bpullRequestLinkedToAgentRun\x12F\n" + + "\x11workflow_ingested\x18= \x01(\v2\x17.brent.WorkflowIngestedH\x00R\x10workflowIngested\x12f\n" + + "\x1dpull_request_review_requested\x18? \x01(\v2!.brent.PullRequestReviewRequestedH\x00R\x1apullRequestReviewRequested\x12P\n" + + "\x15pull_request_approved\x18@ \x01(\v2\x1a.brent.PullRequestApprovedH\x00R\x13pullRequestApproved\x12i\n" + + "\x1epull_request_changes_requested\x18A \x01(\v2\".brent.PullRequestChangesRequestedH\x00R\x1bpullRequestChangesRequested\x12f\n" + + "\x1dpull_request_review_dismissed\x18B \x01(\v2!.brent.PullRequestReviewDismissedH\x00R\x1apullRequestReviewDismissed\x12O\n" + + "\x14credential_connected\x18C \x01(\v2\x1a.brent.CredentialConnectedH\x00R\x13credentialConnected\x12I\n" + + "\x12credential_revoked\x18D \x01(\v2\x18.brent.CredentialRevokedH\x00R\x11credentialRevoked\x12J\n" + + "\x13agent_run_annotated\x18E \x01(\v2\x18.brent.AgentRunAnnotatedH\x00R\x11agentRunAnnotated\x12F\n" + + "\x11workspace_created\x18G \x01(\v2\x17.brent.WorkspaceCreatedH\x00R\x10workspaceCreated\x12v\n" + + "#mcp_grant_workspace_binding_changed\x18I \x01(\v2&.brent.MCPGrantWorkspaceBindingChangedH\x00R\x1fmcpGrantWorkspaceBindingChanged\x12k\n" + + "\x1eworkspace_onboarding_completed\x18K \x01(\v2#.brent.WorkspaceOnboardingCompletedH\x00R\x1cworkspaceOnboardingCompleted\x12F\n" + + "\x11workspace_renamed\x18L \x01(\v2\x17.brent.WorkspaceRenamedH\x00R\x10workspaceRenamed\x12F\n" + + "\x11workspace_deleted\x18M \x01(\v2\x17.brent.WorkspaceDeletedH\x00R\x10workspaceDeleted\x12`\n" + + "\x1bapproved_email_domain_added\x18N \x01(\v2\x1f.brent.ApprovedEmailDomainAddedH\x00R\x18approvedEmailDomainAdded\x12i\n" + + "\x1eapproved_email_domain_verified\x18O \x01(\v2\".brent.ApprovedEmailDomainVerifiedH\x00R\x1bapprovedEmailDomainVerified\x12f\n" + + "\x1dapproved_email_domain_deleted\x18P \x01(\v2!.brent.ApprovedEmailDomainDeletedH\x00R\x1aapprovedEmailDomainDeleted\x12=\n" + + "\x0egitlab_webhook\x18Q \x01(\v2\x14.brent.GitLabWebhookH\x00R\rgitlabWebhook\x12u\n" + + "\"workspace_llm_credential_connected\x18R \x01(\v2&.brent.WorkspaceLLMCredentialConnectedH\x00R\x1fworkspaceLlmCredentialConnected\x12o\n" + + " workspace_llm_credential_revoked\x18S \x01(\v2$.brent.WorkspaceLLMCredentialRevokedH\x00R\x1dworkspaceLlmCredentialRevoked\x12F\n" + + "\x11bitbucket_webhook\x18T \x01(\v2\x17.brent.BitbucketWebhookH\x00R\x10bitbucketWebhook\x12V\n" + + "\x17workspace_member_joined\x18U \x01(\v2\x1c.brent.WorkspaceMemberJoinedH\x00R\x15workspaceMemberJoined\x12P\n" + + "\x15workspace_member_left\x18V \x01(\v2\x1a.brent.WorkspaceMemberLeftH\x00R\x13workspaceMemberLeft\x12Y\n" + + "\x18composio_trigger_message\x18W \x01(\v2\x1d.brent.ComposioTriggerMessageH\x00R\x16composioTriggerMessage\x12k\n" + + "\x1edeviation_finding_acknowledged\x18X \x01(\v2#.brent.DeviationFindingAcknowledgedH\x00R\x1cdeviationFindingAcknowledged\x12\x8a\x01\n" + + ")deviation_finding_acknowledgement_cleared\x18Y \x01(\v2-.brent.DeviationFindingAcknowledgementClearedH\x00R&deviationFindingAcknowledgementCleared\x12]\n" + + "\x1aplan_review_policy_decided\x18Z \x01(\v2\x1e.brent.PlanReviewPolicyDecidedH\x00R\x17planReviewPolicyDecided\x12S\n" + + "\x16unknown_stored_payload\x18F \x01(\v2\x1b.brent.UnknownStoredPayloadH\x00R\x14unknownStoredPayloadB\t\n" + + "\apayloadB\t\n" + + "\a_objectB\x12\n" + + "\x10_source_repo_urlB\v\n" + + "\t_trace_idB\n" + + "\n" + + "\b_span_idB\x16\n" + + "\x14_honeycomb_trace_urlJ\x04\b>\x10?R\x13audit_trail_queried\"+\n" + + "\x05Actor\x12\x12\n" + + "\x04kind\x18\x01 \x01(\tR\x04kind\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\"5\n" + + "\x0fObjectReference\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\"\xdb\x01\n" + + "\vPlanCreated\x12\x1b\n" + + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12%\n" + + "\x0eauthor_subject\x18\x02 \x01(\tR\rauthorSubject\x12\x14\n" + + "\x05title\x18\x03 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x04 \x01(\tR\acontent\x12.\n" + + "\x13author_principal_id\x18\x05 \x01(\tR\x11authorPrincipalId\"\x95\x03\n" + + "\vPlanUpdated\x12\x1b\n" + + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x12%\n" + + "\x0echanged_fields\x18\x02 \x03(\tR\rchangedFields\x12<\n" + + "\bprevious\x18\x03 \x03(\v2 .brent.PlanUpdated.PreviousEntryR\bprevious\x123\n" + + "\x05after\x18\x05 \x03(\v2\x1d.brent.PlanUpdated.AfterEntryR\x05after\x1aS\n" + + "\rPreviousEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + + "\n" + + "AfterEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xab\x01\n" + + "\vPlanDeleted\x12\x1b\n" + + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x12%\n" + + "\x0eauthor_subject\x18\x02 \x01(\tR\rauthorSubject\x12.\n" + + "\x13author_principal_id\x18\x03 \x01(\tR\x11authorPrincipalId\"\xcb\x01\n" + + "\rReviewDeleted\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x05 \x01(\tR\x0eplanFriendlyId\x122\n" + + "\x15reviewer_principal_id\x18\x04 \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04R\x1cactual_reviewer_principal_id\"\x85\x01\n" + + "\fPlanRestored\x12\x1b\n" + + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x03 \x01(\tR\x0eplanFriendlyId\x12.\n" + + "\x13author_principal_id\x18\x02 \x01(\tR\x11authorPrincipalId\"\x8c\x02\n" + + "\x0fReviewRequested\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x122\n" + + "\x15reviewer_principal_id\x18\x06 \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06R\x10reviewer_subjectR\x1frequested_reviewer_principal_idR\x1cactual_reviewer_principal_id\"\xe1\x02\n" + + "\x0fReviewSubmitted\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\t \x01(\tR\x0eplanFriendlyId\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12'\n" + + "\x0fverdict_comment\x18\x05 \x01(\tR\x0everdictComment\x129\n" + + "\n" + + "decided_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tdecidedAt\x122\n" + + "\x15reviewer_principal_id\x18\b \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04J\x04\b\a\x10\bR\x10reviewer_subjectR\x1cactual_reviewer_principal_id\"\xd8\x01\n" + + "\x18ReviewNoEligibleReviewer\x12\x1b\n" + + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x124\n" + + "\x16requester_principal_id\x18\x02 \x01(\tR\x14requesterPrincipalId\x12?\n" + + "\x1cactive_human_principal_count\x18\x03 \x01(\x05R\x19activeHumanPrincipalCount\"\x82\x02\n" + + "\x17PlanReviewPolicyDecided\x12\x1b\n" + + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12-\n" + + "\x12review_requirement\x18\x03 \x01(\tR\x11reviewRequirement\x120\n" + + "\x14review_policy_reason\x18\x04 \x01(\tR\x12reviewPolicyReason\x12?\n" + + "\x1cactive_human_principal_count\x18\x05 \x01(\x05R\x19activeHumanPrincipalCount\"l\n" + + "\x10PrincipalCreated\x12!\n" + + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x12\n" + + "\x04kind\x18\x02 \x01(\tR\x04kind\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\x80\x03\n" + + "\x10PrincipalUpdated\x12!\n" + + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12%\n" + + "\x0echanged_fields\x18\x02 \x03(\tR\rchangedFields\x12A\n" + + "\bprevious\x18\x03 \x03(\v2%.brent.PrincipalUpdated.PreviousEntryR\bprevious\x128\n" + + "\x05after\x18\x04 \x03(\v2\".brent.PrincipalUpdated.AfterEntryR\x05after\x1aS\n" + + "\rPreviousEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + + "\n" + + "AfterEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"L\n" + + "\x13PrincipalTombstoned\x12!\n" + + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x12\n" + + "\x04kind\x18\x02 \x01(\tR\x04kind\"\x9a\x01\n" + + "\x10WorkspaceCreated\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12,\n" + + "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"|\n" + + "\x1cWorkspaceOnboardingCompleted\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x129\n" + + "\x19completed_by_principal_id\x18\x02 \x01(\tR\x16completedByPrincipalId\"\xed\x01\n" + + "\x10WorkspaceRenamed\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x19\n" + + "\bold_slug\x18\x02 \x01(\tR\aoldSlug\x12\x19\n" + + "\bnew_slug\x18\x03 \x01(\tR\anewSlug\x12(\n" + + "\x10old_display_name\x18\x04 \x01(\tR\x0eoldDisplayName\x12(\n" + + "\x10new_display_name\x18\x05 \x01(\tR\x0enewDisplayName\x12,\n" + + "\x12admin_principal_id\x18\x06 \x01(\tR\x10adminPrincipalId\"l\n" + + "\x10WorkspaceDeleted\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\xbf\x01\n" + + "\x15WorkspaceMemberJoined\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x12\n" + + "\x04role\x18\x04 \x01(\tR\x04role\x12)\n" + + "\x06source\x18\x05 \x01(\x0e2\x11.brent.JoinSourceR\x06source\"~\n" + + "\x13WorkspaceMemberLeft\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\xbc\x01\n" + + "\x18ApprovedEmailDomainAdded\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x127\n" + + "\x18approved_email_domain_id\x18\x02 \x01(\tR\x15approvedEmailDomainId\x12\x16\n" + + "\x06domain\x18\x03 \x01(\tR\x06domain\x12,\n" + + "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"\xbf\x01\n" + + "\x1bApprovedEmailDomainVerified\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x127\n" + + "\x18approved_email_domain_id\x18\x02 \x01(\tR\x15approvedEmailDomainId\x12\x16\n" + + "\x06domain\x18\x03 \x01(\tR\x06domain\x12,\n" + + "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"\xbe\x01\n" + + "\x1aApprovedEmailDomainDeleted\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x127\n" + + "\x18approved_email_domain_id\x18\x02 \x01(\tR\x15approvedEmailDomainId\x12\x16\n" + + "\x06domain\x18\x03 \x01(\tR\x06domain\x12,\n" + + "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"\xc1\x02\n" + + "\x1fMCPGrantWorkspaceBindingChanged\x12\x1d\n" + + "\n" + + "binding_id\x18\x01 \x01(\tR\tbindingId\x12\x1b\n" + + "\tgrant_key\x18\x02 \x01(\tR\bgrantKey\x12!\n" + + "\fworkspace_id\x18\x03 \x01(\tR\vworkspaceId\x12\x18\n" + + "\asubject\x18\x04 \x01(\tR\asubject\x12\x16\n" + + "\x06action\x18\x05 \x01(\tR\x06action\x12.\n" + + "\x13previous_binding_id\x18\x06 \x01(\tR\x11previousBindingId\x122\n" + + "\x15previous_workspace_id\x18\a \x01(\tR\x13previousWorkspaceId\x12)\n" + + "\x10previous_subject\x18\b \x01(\tR\x0fpreviousSubject\"\x8b\x01\n" + + "\x0fIdentityCreated\x12\x1f\n" + + "\videntity_id\x18\x01 \x01(\tR\n" + + "identityId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + + "\asubject\x18\x04 \x01(\tR\asubject\"\x8b\x01\n" + + "\x0fIdentityDeleted\x12\x1f\n" + + "\videntity_id\x18\x01 \x01(\tR\n" + + "identityId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + + "\asubject\x18\x04 \x01(\tR\asubject\"\x94\x01\n" + + "\x0eBindingCreated\x12\x1d\n" + + "\n" + + "binding_id\x18\x01 \x01(\tR\tbindingId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x12\n" + + "\x04kind\x18\x03 \x01(\tR\x04kind\x12\x16\n" + + "\x06handle\x18\x04 \x01(\tR\x06handle\x12\x14\n" + + "\x05state\x18\x05 \x01(\tR\x05state\"\x99\x03\n" + + "\x0eBindingUpdated\x12\x1d\n" + + "\n" + + "binding_id\x18\x01 \x01(\tR\tbindingId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12%\n" + + "\x0echanged_fields\x18\x03 \x03(\tR\rchangedFields\x12?\n" + + "\bprevious\x18\x04 \x03(\v2#.brent.BindingUpdated.PreviousEntryR\bprevious\x126\n" + + "\x05after\x18\x05 \x03(\v2 .brent.BindingUpdated.AfterEntryR\x05after\x1aS\n" + + "\rPreviousEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + + "\n" + + "AfterEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"~\n" + + "\x0eBindingDeleted\x12\x1d\n" + + "\n" + + "binding_id\x18\x01 \x01(\tR\tbindingId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x12\n" + + "\x04kind\x18\x03 \x01(\tR\x04kind\x12\x16\n" + + "\x06handle\x18\x04 \x01(\tR\x06handle\"y\n" + + "\x13CredentialConnected\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12#\n" + + "\raccount_email\x18\x02 \x01(\tR\faccountEmail\x12!\n" + + "\fsecret_last4\x18\x03 \x01(\tR\vsecretLast4\"/\n" + + "\x11CredentialRevoked\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\"`\n" + + "\x1fWorkspaceLLMCredentialConnected\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12!\n" + + "\fsecret_last4\x18\x02 \x01(\tR\vsecretLast4\";\n" + + "\x1dWorkspaceLLMCredentialRevoked\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\"\xef\x01\n" + + "\x14ReviewDriveByStarted\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x05 \x01(\tR\x0eplanFriendlyId\x12.\n" + + "\x13caller_principal_id\x18\x03 \x01(\tR\x11callerPrincipalId\x12C\n" + + "\x1eassigned_reviewer_principal_id\x18\x04 \x01(\tR\x1bassignedReviewerPrincipalId\"\xb5\x01\n" + + "\n" + + "OtherEvent\x12\x16\n" + + "\x06source\x18\x01 \x01(\tR\x06source\x12\x1d\n" + + "\n" + + "event_kind\x18\x02 \x01(\tR\teventKind\x125\n" + + "\x06fields\x18\x03 \x03(\v2\x1d.brent.OtherEvent.FieldsEntryR\x06fields\x1a9\n" + + "\vFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x88\x01\n" + + "\x14UnknownStoredPayload\x12.\n" + + "\x13stored_payload_type\x18\x01 \x01(\tR\x11storedPayloadType\x12(\n" + + "\x10raw_payload_json\x18\x02 \x01(\fR\x0erawPayloadJson\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reason\"\xb3\x03\n" + + "\x11PullRequestOpened\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + + "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\b \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\t \x01(\tR\n" + + "baseBranch\x12\x19\n" + + "\bis_draft\x18\n" + + " \x01(\bR\aisDraft\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + + "\vlink_reason\x18\x0f \x01(\tR\n" + + "linkReasonJ\x04\b\f\x10\rJ\x04\b\r\x10\x0e\"\xd9\x03\n" + + "\x17PullRequestSynchronized\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + + "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\b \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\t \x01(\tR\n" + + "baseBranch\x12\x19\n" + + "\bis_draft\x18\n" + + " \x01(\bR\aisDraft\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x12*\n" + + "\x11previous_head_sha\x18\f \x01(\tR\x0fpreviousHeadSha\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + + "\vlink_reason\x18\x0f \x01(\tR\n" + + "linkReason\"\xf7\x05\n" + + "\x12PullRequestUpdated\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + + "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\b \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\t \x01(\tR\n" + + "baseBranch\x12\x19\n" + + "\bis_draft\x18\n" + + " \x01(\bR\aisDraft\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x12%\n" + + "\x0echanged_fields\x18\f \x03(\tR\rchangedFields\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12\x1f\n" + + "\vlink_reason\x18\x0f \x01(\tR\n" + + "linkReason\x12(\n" + + "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12C\n" + + "\bprevious\x18\x11 \x03(\v2'.brent.PullRequestUpdated.PreviousEntryR\bprevious\x12:\n" + + "\x05after\x18\x12 \x03(\v2$.brent.PullRequestUpdated.AfterEntryR\x05after\x1aS\n" + + "\rPreviousEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + + "\n" + + "AfterEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xe9\x03\n" + + "\x11PullRequestClosed\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + + "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\b \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\t \x01(\tR\n" + + "baseBranch\x12\x19\n" + + "\bis_draft\x18\n" + + " \x01(\bR\aisDraft\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x12\x16\n" + + "\x06merged\x18\f \x01(\bR\x06merged\x12(\n" + + "\x10merge_commit_sha\x18\r \x01(\tR\x0emergeCommitSha\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + + "\vlink_reason\x18\x0f \x01(\tR\n" + + "linkReason\"\xad\x03\n" + + "\x17PullRequestLinkedToPlan\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + + "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\b \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\t \x01(\tR\n" + + "baseBranch\x12\x19\n" + + "\bis_draft\x18\n" + + " \x01(\bR\aisDraft\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + + "\vlink_reason\x18\x0f \x01(\tR\n" + + "linkReason\"\xdf\x03\n" + + "\x1bPullRequestUnlinkedFromPlan\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + + "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\b \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\t \x01(\tR\n" + + "baseBranch\x12\x19\n" + + "\bis_draft\x18\n" + + " \x01(\bR\aisDraft\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x11 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + + "\vlink_reason\x18\x0f \x01(\tR\n" + + "linkReason\x12,\n" + + "\x12previous_plan_uuid\x18\x10 \x01(\tR\x10previousPlanUuid\"\xad\x03\n" + + "\x1bPullRequestLinkedToAgentRun\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + + "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + + "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + + "\vhead_branch\x18\b \x01(\tR\n" + + "headBranch\x12\x1f\n" + + "\vbase_branch\x18\t \x01(\tR\n" + + "baseBranch\x12\x19\n" + + "\bis_draft\x18\n" + + " \x01(\bR\aisDraft\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x12(\n" + + "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12\x1f\n" + + "\vlink_reason\x18\x0f \x01(\tR\n" + + "linkReason\x12$\n" + + "\x0eagent_run_uuid\x18\x10 \x01(\tR\fagentRunUuid\"\xb3\x03\n" + + "\x1aPullRequestReviewRequested\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + + "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12%\n" + + "\x0erequested_team\x18\b \x01(\tR\rrequestedTeam\x12\x10\n" + + "\x03url\x18\t \x01(\tR\x03url\x12E\n" + + "\x1frequested_reviewer_principal_id\x18\n" + + " \x01(\tR\x1crequestedReviewerPrincipalId\x129\n" + + "\x19requested_reviewer_is_bot\x18\v \x01(\bR\x16requestedReviewerIsBotJ\x04\b\a\x10\bR\x12requested_reviewer\"\xe6\x03\n" + + "\x13PullRequestApproved\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + + "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12&\n" + + "\x0freviewer_is_bot\x18\b \x01(\bR\rreviewerIsBot\x12\x1b\n" + + "\treview_id\x18\t \x01(\x03R\breviewId\x12\x1b\n" + + "\tcommit_id\x18\n" + + " \x01(\tR\bcommitId\x12!\n" + + "\fsubmitted_at\x18\v \x01(\tR\vsubmittedAt\x12\x10\n" + + "\x03url\x18\f \x01(\tR\x03url\x122\n" + + "\x15reviewer_principal_id\x18\r \x01(\tR\x13reviewerPrincipalId\x122\n" + + "\x15reviewer_github_login\x18\x0e \x01(\tR\x13reviewerGithubLoginJ\x04\b\a\x10\bR\breviewer\"\xba\x03\n" + + "\x1bPullRequestChangesRequested\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + + "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12&\n" + + "\x0freviewer_is_bot\x18\b \x01(\bR\rreviewerIsBot\x12\x1b\n" + + "\treview_id\x18\t \x01(\x03R\breviewId\x12\x1b\n" + + "\tcommit_id\x18\n" + + " \x01(\tR\bcommitId\x12!\n" + + "\fsubmitted_at\x18\v \x01(\tR\vsubmittedAt\x12\x10\n" + + "\x03url\x18\f \x01(\tR\x03url\x122\n" + + "\x15reviewer_principal_id\x18\r \x01(\tR\x13reviewerPrincipalIdJ\x04\b\a\x10\bR\breviewer\"\xb9\x03\n" + + "\x1aPullRequestReviewDismissed\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + + "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12\x1b\n" + + "\treview_id\x18\b \x01(\x03R\breviewId\x12\x1b\n" + + "\tcommit_id\x18\t \x01(\tR\bcommitId\x12!\n" + + "\fdismissed_at\x18\n" + + " \x01(\tR\vdismissedAt\x12\x10\n" + + "\x03url\x18\v \x01(\tR\x03url\x122\n" + + "\x15reviewer_principal_id\x18\f \x01(\tR\x13reviewerPrincipalId\x12&\n" + + "\x0freviewer_is_bot\x18\r \x01(\bR\rreviewerIsBotJ\x04\b\a\x10\bR\breviewer\"\xf7\x02\n" + + "\x19PullRequestCommentCreated\x12\x13\n" + + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + + "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + + "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + + "\x10plan_friendly_id\x18\v \x01(\tR\x0eplanFriendlyId\x12\x1d\n" + + "\n" + + "comment_id\x18\x06 \x01(\tR\tcommentId\x12%\n" + + "\x0ecomment_source\x18\a \x01(\tR\rcommentSource\x12\x16\n" + + "\x06action\x18\b \x01(\tR\x06action\x12\x16\n" + + "\x06author\x18\t \x01(\tR\x06author\x12\"\n" + + "\rauthor_is_bot\x18\n" + + " \x01(\bR\vauthorIsBot\"\x95\x02\n" + + "\x18DeviationAnalysisStarted\x12\x1f\n" + + "\vanalysis_id\x18\x01 \x01(\tR\n" + + "analysisId\x12\x13\n" + + "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12&\n" + + "\x0fworkflow_run_id\x18\x05 \x01(\tR\rworkflowRunId\x129\n" + + "\n" + + "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xb0\x01\n" + + "\x0eFindingSummary\x12\x12\n" + + "\x04kind\x18\x01 \x01(\tR\x04kind\x12\"\n" + + "\facknowledged\x18\x02 \x01(\bR\facknowledged\x12\x1d\n" + + "\n" + + "ack_source\x18\x03 \x01(\tR\tackSource\x12\x17\n" + + "\aack_ref\x18\x04 \x01(\tR\x06ackRef\x12.\n" + + "\x13ack_reasoning_quote\x18\x05 \x01(\tR\x11ackReasoningQuote\"\xde\x04\n" + + "\x1aDeviationAnalysisCompleted\x12\x1f\n" + + "\vanalysis_id\x18\x01 \x01(\tR\n" + + "analysisId\x12\x13\n" + + "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\f \x01(\tR\x0eplanFriendlyId\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12i\n" + + "\x14finding_count_by_tag\x18\a \x03(\v28.brent.DeviationAnalysisCompleted.FindingCountByTagEntryR\x11findingCountByTag\x12=\n" + + "\fcompleted_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12)\n" + + "\x10check_conclusion\x18\t \x01(\tR\x0fcheckConclusion\x129\n" + + "\x19applied_red_finding_kinds\x18\n" + + " \x03(\tR\x16appliedRedFindingKinds\x121\n" + + "\bfindings\x18\v \x03(\v2\x15.brent.FindingSummaryR\bfindings\x1aD\n" + + "\x16FindingCountByTagEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01J\x04\b\x05\x10\x06J\x04\b\x06\x10\aR\averdictR\n" + + "summary_md\"\x82\x02\n" + + "\x17DeviationAnalysisFailed\x12\x1f\n" + + "\vanalysis_id\x18\x01 \x01(\tR\n" + + "analysisId\x12\x13\n" + + "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x12\x19\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12\x16\n" + + "\x06reason\x18\x05 \x01(\tR\x06reason\x127\n" + + "\tfailed_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\xc3\x01\n" + + "\x18DeviationFindingRecorded\x12\x1d\n" + + "\n" + + "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + + "\vanalysis_id\x18\x02 \x01(\tR\n" + + "analysisId\x12\x10\n" + + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x18\n" + + "\asummary\x18\x04 \x01(\tR\asummary\x12;\n" + + "\vrecorded_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "recordedAt\"\xde\x03\n" + + "\x17DeviationFindingUpdated\x12\x1d\n" + + "\n" + + "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + + "\vanalysis_id\x18\x02 \x01(\tR\n" + + "analysisId\x12\x10\n" + + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x18\n" + + "\asummary\x18\x04 \x01(\tR\asummary\x12%\n" + + "\x0echanged_fields\x18\x05 \x03(\tR\rchangedFields\x12H\n" + + "\bprevious\x18\x06 \x03(\v2,.brent.DeviationFindingUpdated.PreviousEntryR\bprevious\x12?\n" + + "\x05after\x18\a \x03(\v2).brent.DeviationFindingUpdated.AfterEntryR\x05after\x1aS\n" + + "\rPreviousEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + + "\n" + + "AfterEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xee\x01\n" + + "\x18DeviationFindingResolved\x12\x1d\n" + + "\n" + + "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + + "\vanalysis_id\x18\x02 \x01(\tR\n" + + "analysisId\x12\x10\n" + + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x16\n" + + "\x06reason\x18\x04 \x01(\tR\x06reason\x12+\n" + + "\x11resolution_commit\x18\x05 \x01(\tR\x10resolutionCommit\x12;\n" + + "\vresolved_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "resolvedAt\"\xb1\x02\n" + + "\x1cDeviationFindingAcknowledged\x12\x1d\n" + + "\n" + + "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + + "\vanalysis_id\x18\x02 \x01(\tR\n" + + "analysisId\x12\x10\n" + + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x12\n" + + "\x04slug\x18\x04 \x01(\tR\x04slug\x12\x1d\n" + + "\n" + + "ack_source\x18\x05 \x01(\tR\tackSource\x12\x17\n" + + "\aack_ref\x18\x06 \x01(\tR\x06ackRef\x12.\n" + + "\x13ack_reasoning_quote\x18\a \x01(\tR\x11ackReasoningQuote\x12C\n" + + "\x0facknowledged_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0eacknowledgedAt\"\xb1\x02\n" + + "&DeviationFindingAcknowledgementCleared\x12\x1d\n" + + "\n" + + "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + + "\vanalysis_id\x18\x02 \x01(\tR\n" + + "analysisId\x12\x10\n" + + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x12\n" + + "\x04slug\x18\x04 \x01(\tR\x04slug\x12\x1d\n" + + "\n" + + "ack_source\x18\x05 \x01(\tR\tackSource\x12\x17\n" + + "\aack_ref\x18\x06 \x01(\tR\x06ackRef\x12.\n" + + "\x13ack_reasoning_quote\x18\a \x01(\tR\x11ackReasoningQuote\x129\n" + + "\n" + + "cleared_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tclearedAt\"\xa2\x02\n" + + "\x12AgentRunDispatched\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x1b\n" + + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\t \x01(\tR\x0eplanFriendlyId\x12\x18\n" + + "\aattempt\x18\x03 \x01(\x05R\aattempt\x12\x18\n" + + "\aharness\x18\x04 \x01(\tR\aharness\x12\x14\n" + + "\x05model\x18\x05 \x01(\tR\x05model\x12\x16\n" + + "\x06branch\x18\x06 \x01(\tR\x06branch\x12\x1d\n" + + "\n" + + "run_handle\x18\a \x01(\tR\trunHandle\x12\x1e\n" + + "\vrun_log_url\x18\b \x01(\tR\trunLogUrl\"~\n" + + "\x0fAgentRunStarted\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x1b\n" + + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x03 \x01(\tR\x0eplanFriendlyId\"\xa2\x01\n" + + "\x1aAgentRunPullRequestMatched\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x17\n" + + "\apr_uuid\x18\x02 \x01(\tR\x06prUuid\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x9e\x01\n" + + "\x17AgentRunFlaggedNeedsYou\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x9a\x01\n" + + "\x12AgentRunGatePassed\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x17\n" + + "\apr_uuid\x18\x02 \x01(\tR\x06prUuid\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x96\x01\n" + + "\x0eAgentRunMerged\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x17\n" + + "\apr_uuid\x18\x02 \x01(\tR\x06prUuid\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x98\x01\n" + + "\x11AgentRunCancelled\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\x12\x1b\n" + + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"q\n" + + "\x10AgentRunDeclined\x12\x1b\n" + + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x03 \x01(\tR\x0eplanFriendlyId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\xe4\x01\n" + + "\x11AgentRunAnnotated\x12$\n" + + "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x16\n" + + "\x06signal\x18\x02 \x01(\tR\x06signal\x12.\n" + + "\x13author_principal_id\x18\x03 \x01(\tR\x11authorPrincipalId\x12\x1a\n" + + "\bprovider\x18\x04 \x01(\tR\bprovider\x12\x1b\n" + + "\tplan_uuid\x18\x05 \x01(\tR\bplanUuid\x12(\n" + + "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\"\xa7\x02\n" + + "\x10WorkflowIngested\x121\n" + + "\x15source_repo_full_name\x18\x01 \x01(\tR\x12sourceRepoFullName\x12\x1f\n" + + "\vsource_path\x18\x02 \x01(\tR\n" + + "sourcePath\x12\x1d\n" + + "\n" + + "commit_sha\x18\x03 \x01(\tR\tcommitSha\x12\x18\n" + + "\aoutcome\x18\x04 \x01(\tR\aoutcome\x12\x14\n" + + "\x05error\x18\x05 \x01(\tR\x05error\x125\n" + + "\x14workflow_external_id\x18\x06 \x01(\tH\x00R\x12workflowExternalId\x88\x01\x01\x12\x17\n" + + "\x04name\x18\a \x01(\tH\x01R\x04name\x88\x01\x01B\x17\n" + + "\x15_workflow_external_idB\a\n" + + "\x05_name\"\xec\x01\n" + + "\x11WorkflowRunQueued\x12&\n" + + "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + + "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x127\n" + + "\tqueued_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bqueuedAt\"\xef\x01\n" + + "\x12WorkflowRunStarted\x12&\n" + + "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + + "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x129\n" + + "\n" + + "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xf5\x01\n" + + "\x14WorkflowRunCompleted\x12&\n" + + "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + + "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12=\n" + + "\fcompleted_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\"\x91\x02\n" + + "\x11WorkflowRunFailed\x12&\n" + + "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + + "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12#\n" + + "\rerror_message\x18\x06 \x01(\tR\ferrorMessage\x127\n" + + "\tfailed_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\x9a\x02\n" + + "\x14WorkflowRunCancelled\x12&\n" + + "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + + "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12#\n" + + "\rcancel_reason\x18\x06 \x01(\tR\fcancelReason\x12=\n" + + "\fcancelled_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vcancelledAt\"\xb5\x01\n" + + "\fSlackWebhook\x12\x1f\n" + + "\vdelivery_id\x18\x01 \x01(\tR\n" + + "deliveryId\x12\x1d\n" + + "\n" + + "event_type\x18\x02 \x01(\tR\teventType\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x17\n" + + "\ateam_id\x18\x04 \x01(\tR\x06teamId\x12)\n" + + "\revent_payload\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\"\xe9\x01\n" + + "\rLinearWebhook\x12\x1f\n" + + "\vdelivery_id\x18\x01 \x01(\tR\n" + + "deliveryId\x12\x1d\n" + + "\n" + + "event_type\x18\x02 \x01(\tR\teventType\x12!\n" + + "\fevent_action\x18\x03 \x01(\tR\veventAction\x12!\n" + + "\faccount_name\x18\x04 \x01(\tR\vaccountName\x12'\n" + + "\x0forganization_id\x18\x05 \x01(\tR\x0eorganizationId\x12)\n" + + "\revent_payload\x18\x06 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\"\xd8\x01\n" + + "\x16ComposioTriggerMessage\x12\x1f\n" + + "\vdelivery_id\x18\x01 \x01(\tR\n" + + "deliveryId\x12!\n" + + "\ftrigger_slug\x18\x02 \x01(\tR\vtriggerSlug\x12\x1d\n" + + "\n" + + "trigger_id\x18\x03 \x01(\tR\ttriggerId\x120\n" + + "\x14connected_account_id\x18\x04 \x01(\tR\x12connectedAccountId\x12)\n" + + "\revent_payload\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\"z\n" + + "\rGitHubWebhook\x12\x1f\n" + + "\vdelivery_id\x18\x01 \x01(\tR\n" + + "deliveryId\x12)\n" + + "\revent_payload\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\x12\x1d\n" + + "\n" + + "event_type\x18\x03 \x01(\tR\teventType\"\xb0\x01\n" + + "\rGitLabWebhook\x12\x1f\n" + + "\vdelivery_id\x18\x01 \x01(\tR\n" + + "deliveryId\x12)\n" + + "\revent_payload\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\x12\x1d\n" + + "\n" + + "event_type\x18\x03 \x01(\tR\teventType\x124\n" + + "\x16account_integration_id\x18\x04 \x01(\x03R\x14accountIntegrationId\"\xb3\x01\n" + + "\x10BitbucketWebhook\x12\x1f\n" + + "\vdelivery_id\x18\x01 \x01(\tR\n" + + "deliveryId\x12)\n" + + "\revent_payload\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\x12\x1d\n" + + "\n" + + "event_type\x18\x03 \x01(\tR\teventType\x124\n" + + "\x16account_integration_id\x18\x04 \x01(\x03R\x14accountIntegrationId\"J\n" + + "\x16EmbeddedJsonCELFixture\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12 \n" + + "\bdocument\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\bdocument\"\x88\x02\n" + + "\x14SlackMentionReceived\x12\x17\n" + + "\ateam_id\x18\x01 \x01(\tR\x06teamId\x12\x1d\n" + + "\n" + + "channel_id\x18\x02 \x01(\tR\tchannelId\x12!\n" + + "\fchannel_name\x18\x03 \x01(\tR\vchannelName\x12\x17\n" + + "\auser_id\x18\x04 \x01(\tR\x06userId\x12\x1d\n" + + "\n" + + "message_ts\x18\x05 \x01(\tR\tmessageTs\x12\x12\n" + + "\x04text\x18\x06 \x01(\tR\x04text\x12\x1b\n" + + "\tthread_ts\x18\a \x01(\tR\bthreadTs\x12,\n" + + "\x12mentioned_user_ids\x18\b \x03(\tR\x10mentionedUserIds\"\xa9\x01\n" + + "#OrganisationAppInstallationUpserted\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x122\n" + + "\x15external_workspace_id\x18\x02 \x01(\tR\x13externalWorkspaceId\x122\n" + + "\x15external_principal_id\x18\x03 \x01(\tR\x13externalPrincipalId\"t\n" + + "\"OrganisationAppInstallationDeleted\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x122\n" + + "\x15external_principal_id\x18\x02 \x01(\tR\x13externalPrincipalId\"\xc2\x01\n" + + "\x12SlackReactionAdded\x12\x17\n" + + "\ateam_id\x18\x01 \x01(\tR\x06teamId\x12\x1d\n" + + "\n" + + "channel_id\x18\x02 \x01(\tR\tchannelId\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x1d\n" + + "\n" + + "message_ts\x18\x04 \x01(\tR\tmessageTs\x12\x1a\n" + + "\breaction\x18\x05 \x01(\tR\breaction\x12 \n" + + "\fitem_user_id\x18\x06 \x01(\tR\n" + + "itemUserId\"9\n" + + "\x14ListWorkflowsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"M\n" + + "\x15ListWorkflowsResponse\x124\n" + + "\tworkflows\x18\x01 \x03(\v2\x16.brent.WorkflowSummaryR\tworkflows\"\xc3\x03\n" + + "\x0fWorkflowSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x121\n" + + "\x15source_repo_full_name\x18\x05 \x01(\tR\x12sourceRepoFullName\x12\x1f\n" + + "\vsource_path\x18\x06 \x01(\tR\n" + + "sourcePath\x12*\n" + + "\x11source_commit_sha\x18\a \x01(\tR\x0fsourceCommitSha\x129\n" + + "\n" + + "created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" + + "\x06status\x18\n" + + " \x01(\tR\x06status\x12#\n" + + "\rerror_message\x18\v \x01(\tR\ferrorMessage\x12\x14\n" + + "\x05model\x18\f \x01(\tR\x05model\"$\n" + + "\x12GetWorkflowRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"B\n" + + "\x13GetWorkflowResponse\x12+\n" + + "\bworkflow\x18\x01 \x01(\v2\x0f.brent.WorkflowR\bworkflow\"\xfa\x03\n" + + "\bWorkflow\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x17\n" + + "\aon_yaml\x18\x05 \x01(\tR\x06onYaml\x12#\n" + + "\rbody_template\x18\x06 \x01(\tR\fbodyTemplate\x121\n" + + "\x15source_repo_full_name\x18\a \x01(\tR\x12sourceRepoFullName\x12\x1f\n" + + "\vsource_path\x18\b \x01(\tR\n" + + "sourcePath\x12*\n" + + "\x11source_commit_sha\x18\t \x01(\tR\x0fsourceCommitSha\x129\n" + + "\n" + + "created_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" + + "\x06status\x18\f \x01(\tR\x06status\x12#\n" + + "\rerror_message\x18\r \x01(\tR\ferrorMessage\x12\x14\n" + + "\x05model\x18\x0e \x01(\tR\x05model\"\xb2\x01\n" + + "\x17ListWorkflowRunsRequest\x12#\n" + + "\rworkflow_name\x18\x01 \x01(\tR\fworkflowName\x12\x14\n" + + "\x05limit\x18\x02 \x01(\rR\x05limit\x12!\n" + + "\fafter_cursor\x18\x03 \x01(\tR\vafterCursor\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12!\n" + + "\faccount_name\x18\x05 \x01(\tR\vaccountName\"j\n" + + "\x18ListWorkflowRunsResponse\x12-\n" + + "\x04runs\x18\x01 \x03(\v2\x19.brent.WorkflowRunSummaryR\x04runs\x12\x1f\n" + + "\vnext_cursor\x18\x02 \x01(\tR\n" + + "nextCursor\"\xdd\t\n" + + "\x12WorkflowRunSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + + "\x04name\x18\x04 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x05 \x01(\tR\vdescription\x12\x16\n" + + "\x06status\x18\x06 \x01(\tR\x06status\x12!\n" + + "\ftrigger_kind\x18\a \x01(\tR\vtriggerKind\x12-\n" + + "\x10plan_friendly_id\x18\b \x01(\tH\x00R\x0eplanFriendlyId\x88\x01\x01\x12 \n" + + "\treview_id\x18\t \x01(\tH\x01R\breviewId\x88\x01\x01\x12(\n" + + "\rerror_message\x18\v \x01(\tH\x02R\ferrorMessage\x88\x01\x01\x122\n" + + "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x12;\n" + + "\x1aworkflow_source_commit_sha\x18\r \x01(\tR\x17workflowSourceCommitSha\x12>\n" + + "\n" + + "started_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampH\x03R\tstartedAt\x88\x01\x01\x12B\n" + + "\fcompleted_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\x04R\vcompletedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\"\n" + + "\n" + + "thread_key\x18\x12 \x01(\tH\x05R\tthreadKey\x88\x01\x01\x120\n" + + "\x14previous_response_id\x18\x13 \x01(\tR\x12previousResponseId\x122\n" + + "\x13resumed_from_run_id\x18\x14 \x01(\tH\x06R\x10resumedFromRunId\x88\x01\x01\x12 \n" + + "\tplan_uuid\x18\x15 \x01(\tH\aR\bplanUuid\x88\x01\x01\x12$\n" + + "\vworkflow_id\x18\x16 \x01(\tH\bR\n" + + "workflowId\x88\x01\x01\x12\x18\n" + + "\x05pr_id\x18\x17 \x01(\tH\tR\x04prId\x88\x01\x01\x12.\n" + + "\x11pr_repo_full_name\x18\x18 \x01(\tH\n" + + "R\x0eprRepoFullName\x88\x01\x01\x12 \n" + + "\tpr_number\x18\x19 \x01(\x05H\vR\bprNumber\x88\x01\x01\x12\x14\n" + + "\x05model\x18\x1a \x01(\tR\x05modelB\x13\n" + + "\x11_plan_friendly_idB\f\n" + + "\n" + + "_review_idB\x10\n" + + "\x0e_error_messageB\r\n" + + "\v_started_atB\x0f\n" + + "\r_completed_atB\r\n" + + "\v_thread_keyB\x16\n" + + "\x14_resumed_from_run_idB\f\n" + + "\n" + + "_plan_uuidB\x0e\n" + + "\f_workflow_idB\b\n" + + "\x06_pr_idB\x14\n" + + "\x12_pr_repo_full_nameB\f\n" + + "\n" + + "_pr_numberJ\x04\b\x03\x10\x04J\x04\b\n" + + "\x10\vR\rworkflow_kindR\x06pr_key\"'\n" + + "\x15GetWorkflowRunRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"4\n" + + "\"GetWorkflowRunThreadHistoryRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"}\n" + + "\x18WorkflowRunThreadSegment\x12+\n" + + "\x03run\x18\x01 \x01(\v2\x19.brent.WorkflowRunSummaryR\x03run\x124\n" + + "\x05steps\x18\x02 \x03(\v2\x1e.brent.ExecuteWorkflowResponseR\x05steps\"\x80\x01\n" + + "#GetWorkflowRunThreadHistoryResponse\x12;\n" + + "\bsegments\x18\x01 \x03(\v2\x1f.brent.WorkflowRunThreadSegmentR\bsegments\x12\x1c\n" + + "\ttruncated\x18\x02 \x01(\bR\ttruncated\"\x84\x01\n" + + "\x16GetWorkflowRunResponse\x12$\n" + + "\x03run\x18\x01 \x01(\v2\x12.brent.WorkflowRunR\x03run\x127\n" + + "\bworkflow\x18\x02 \x01(\v2\x16.brent.WorkflowSummaryH\x00R\bworkflow\x88\x01\x01B\v\n" + + "\t_workflow\"\xad\n" + + "\n" + + "\vWorkflowRun\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + + "\x04name\x18\x04 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x05 \x01(\tR\vdescription\x12\x16\n" + + "\x06status\x18\x06 \x01(\tR\x06status\x12!\n" + + "\ftrigger_kind\x18\a \x01(\tR\vtriggerKind\x12-\n" + + "\x10plan_friendly_id\x18\b \x01(\tH\x00R\x0eplanFriendlyId\x88\x01\x01\x12 \n" + + "\treview_id\x18\t \x01(\tH\x01R\breviewId\x88\x01\x01\x12(\n" + + "\rerror_message\x18\v \x01(\tH\x02R\ferrorMessage\x88\x01\x01\x122\n" + + "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x12;\n" + + "\x1aworkflow_source_commit_sha\x18\r \x01(\tR\x17workflowSourceCommitSha\x12>\n" + + "\n" + + "started_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampH\x03R\tstartedAt\x88\x01\x01\x12B\n" + + "\fcompleted_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\x04R\vcompletedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" + + "\x06prompt\x18\x12 \x01(\tR\x06prompt\x12#\n" + + "\rbrent_version\x18\x14 \x01(\tR\fbrentVersion\x12\x1f\n" + + "\vresponse_id\x18\x15 \x01(\tR\n" + + "responseId\x12)\n" + + "\x10cancel_requested\x18\x16 \x01(\bR\x0fcancelRequested\x12K\n" + + "\x18triggering_event_payload\x18\x17 \x01(\v2\f.brent.EventH\x05R\x16triggeringEventPayload\x88\x01\x01\x12\"\n" + + "\n" + + "thread_key\x18\x18 \x01(\tH\x06R\tthreadKey\x88\x01\x01\x120\n" + + "\x14previous_response_id\x18\x19 \x01(\tR\x12previousResponseId\x122\n" + + "\x13resumed_from_run_id\x18\x1a \x01(\tH\aR\x10resumedFromRunId\x88\x01\x01\x12 \n" + + "\tplan_uuid\x18\x1b \x01(\tH\bR\bplanUuid\x88\x01\x01\x12\x18\n" + + "\x05pr_id\x18\x1c \x01(\tH\tR\x04prId\x88\x01\x01\x12\x14\n" + + "\x05model\x18\x1d \x01(\tR\x05modelB\x13\n" + + "\x11_plan_friendly_idB\f\n" + + "\n" + + "_review_idB\x10\n" + + "\x0e_error_messageB\r\n" + + "\v_started_atB\x0f\n" + + "\r_completed_atB\x1b\n" + + "\x19_triggering_event_payloadB\r\n" + + "\v_thread_keyB\x16\n" + + "\x14_resumed_from_run_idB\f\n" + + "\n" + + "_plan_uuidB\b\n" + + "\x06_pr_idJ\x04\b\x03\x10\x04J\x04\b\n" + + "\x10\vJ\x04\b\x13\x10\x14R\rworkflow_kindR\x06pr_keyR\bhead_sha\"\x1b\n" + + "\x19GetPrincipalStatusRequest\"\xf5\x01\n" + + "\x1aGetPrincipalStatusResponse\x121\n" + + "\x05state\x18\x01 \x01(\x0e2\x1b.brent.PrincipalStatusStateR\x05state\x123\n" + + "\tprincipal\x18\x02 \x01(\v2\x10.brent.PrincipalH\x00R\tprincipal\x88\x01\x01\x12<\n" + + "\fintegrations\x18\x03 \x03(\v2\x18.brent.IntegrationStatusR\fintegrations\x12#\n" + + "\rpreferred_ide\x18\x04 \x01(\tR\fpreferredIdeB\f\n" + + "\n" + + "_principal\"\xb0\x01\n" + + "\x1fGetIntegrationConnectURLRequest\x126\n" + + "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x120\n" + + "\x06intent\x18\x02 \x01(\x0e2\x18.brent.IntegrationIntentR\x06intent\x12#\n" + + "\rinstance_slug\x18\x03 \x01(\tR\finstanceSlug\"4\n" + + " GetIntegrationConnectURLResponse\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03url\"{\n" + + "\x1cDisconnectIntegrationRequest\x126\n" + + "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12#\n" + + "\rinstance_slug\x18\x02 \x01(\tR\finstanceSlug\"\x1f\n" + + "\x1dDisconnectIntegrationResponse\"\xd5\x01\n" + + "\x18ConnectByoHttpMcpRequest\x12\x1a\n" + + "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12!\n" + + "\fbearer_token\x18\x02 \x01(\tR\vbearerToken\x12\"\n" + + "\rca_bundle_pem\x18\x03 \x01(\tR\vcaBundlePem\x12&\n" + + "\x0foauth_client_id\x18\x04 \x01(\tR\roauthClientId\x12.\n" + + "\x13oauth_client_secret\x18\x05 \x01(\tR\x11oauthClientSecret\"\x7f\n" + + "\x19ConnectByoHttpMcpResponse\x122\n" + + "\x15discovered_tool_count\x18\x01 \x01(\rR\x13discoveredToolCount\x12.\n" + + "\x13oauth_authorize_url\x18\x02 \x01(\tR\x11oauthAuthorizeUrl\"\x1c\n" + + "\x1aGetGitLabConnectionRequest\"\x95\x01\n" + + "\x1bGetGitLabConnectionResponse\x12\x1c\n" + + "\tconnected\x18\x01 \x01(\bR\tconnected\x12\x19\n" + + "\bbase_url\x18\x02 \x01(\tR\abaseUrl\x12=\n" + + "\fconnected_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vconnectedAt\"T\n" + + "\x14ConnectGitLabRequest\x12\x19\n" + + "\bbase_url\x18\x01 \x01(\tR\abaseUrl\x12!\n" + + "\faccess_token\x18\x02 \x01(\tR\vaccessToken\"_\n" + + "\x15ConnectGitLabResponse\x12\x1f\n" + + "\vwebhook_url\x18\x01 \x01(\tR\n" + + "webhookUrl\x12%\n" + + "\x0ewebhook_secret\x18\x02 \x01(\tR\rwebhookSecret\"D\n" + + "\x1dSaveGitLabSigningTokenRequest\x12#\n" + + "\rsigning_token\x18\x01 \x01(\tR\fsigningToken\" \n" + + "\x1eSaveGitLabSigningTokenResponse\"\xaa\x01\n" + + "\x14GitHubPendingInstall\x12\x19\n" + + "\borg_name\x18\x01 \x01(\tR\aorgName\x12\x15\n" + + "\x06org_id\x18\x02 \x01(\x03R\x05orgId\x12=\n" + + "\frequested_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12!\n" + + "\frequested_by\x18\x04 \x01(\tR\vrequestedBy\"\xb1\x02\n" + + "\x11IntegrationStatus\x126\n" + + "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12#\n" + + "\rorg_installed\x18\x02 \x01(\bR\forgInstalled\x12\x1d\n" + + "\n" + + "user_bound\x18\x03 \x01(\bR\tuserBound\x12B\n" + + "\x0egithub_pending\x18\x04 \x03(\v2\x1b.brent.GitHubPendingInstallR\rgithubPending\x12=\n" + + "\fconnected_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\vconnectedAt\x12\x1d\n" + + "\n" + + "manage_url\x18\x06 \x01(\tR\tmanageUrl\"%\n" + + "#GetWorkspaceIntegrationRolesRequest\"\xa1\x02\n" + + "$GetWorkspaceIntegrationRolesResponse\x12=\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + + "\x12ticketing_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + + "\x12messaging_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\x12$\n" + + "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrl\"\xfa\x01\n" + + "#SetWorkspaceIntegrationRolesRequest\x12=\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + + "\x12ticketing_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + + "\x12messaging_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\"\xa1\x02\n" + + "$SetWorkspaceIntegrationRolesResponse\x12=\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + + "\x12ticketing_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + + "\x12messaging_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\x12$\n" + + "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrl\"\x94\x02\n" + + "\tPrincipal\x12\x1f\n" + + "\vexternal_id\x18\x01 \x01(\tR\n" + + "externalId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + + "\x04kind\x18\x03 \x01(\tR\x04kind\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12!\n" + + "\fdisplay_name\x18\x05 \x01(\tR\vdisplayName\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\xbf\x02\n" + + "\tWorkspace\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x12\n" + + "\x04role\x18\x04 \x01(\tR\x04role\x12$\n" + + "\vpicture_url\x18\x05 \x01(\tH\x00R\n" + + "pictureUrl\x88\x01\x01\x12$\n" + + "\vtheme_color\x18\x06 \x01(\tH\x01R\n" + + "themeColor\x88\x01\x01\x121\n" + + "\x14onboarding_completed\x18\a \x01(\bR\x13onboardingCompleted\x12%\n" + + "\x0eprevious_slugs\x18\b \x03(\tR\rpreviousSlugsB\x0e\n" + + "\f_picture_urlB\x0e\n" + + "\f_theme_color\";\n" + + "\x16CreateWorkspaceRequest\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"I\n" + + "\x17CreateWorkspaceResponse\x12.\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"\x19\n" + + "\x17ListMyWorkspacesRequest\"L\n" + + "\x18ListMyWorkspacesResponse\x120\n" + + "\n" + + "workspaces\x18\x01 \x03(\v2\x10.brent.WorkspaceR\n" + + "workspaces\"(\n" + + "&DiscoverLoginRecoveryCandidatesRequest\"\xab\x01\n" + + "\x16LoginRecoveryCandidate\x120\n" + + "\bprovider\x18\x01 \x01(\x0e2\x14.brent.LoginProviderR\bprovider\x12)\n" + + "\x10auth0_connection\x18\x02 \x01(\tR\x0fauth0Connection\x124\n" + + "\x16active_workspace_count\x18\x03 \x01(\rR\x14activeWorkspaceCount\"\xab\x01\n" + + "'DiscoverLoginRecoveryCandidatesResponse\x12A\n" + + "\x11arriving_provider\x18\x01 \x01(\x0e2\x14.brent.LoginProviderR\x10arrivingProvider\x12=\n" + + "\n" + + "candidates\x18\x02 \x03(\v2\x1d.brent.LoginRecoveryCandidateR\n" + + "candidates\";\n" + + "\x16RenameWorkspaceRequest\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"I\n" + + "\x17RenameWorkspaceResponse\x12.\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\";\n" + + "\x16DeleteWorkspaceRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"\x19\n" + + "\x17DeleteWorkspaceResponse\"\x1f\n" + + "\x1dListJoinableWorkspacesRequest\"Z\n" + + "\x1eListJoinableWorkspacesResponse\x128\n" + + "\n" + + "workspaces\x18\x01 \x03(\v2\x18.brent.JoinableWorkspaceR\n" + + "workspaces\"\x9d\x03\n" + + "\x11JoinableWorkspace\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12$\n" + + "\vpicture_url\x18\x04 \x01(\tH\x00R\n" + + "pictureUrl\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12&\n" + + "\x0fcreated_by_name\x18\x06 \x01(\tR\rcreatedByName\x12G\n" + + "\x0fmember_previews\x18\a \x03(\v2\x1e.brent.JoinableWorkspaceMemberR\x0ememberPreviews\x12!\n" + + "\fmember_count\x18\b \x01(\rR\vmemberCount\x12)\n" + + "\x06source\x18\t \x01(\x0e2\x11.brent.JoinSourceR\x06sourceB\x0e\n" + + "\f_picture_url\"r\n" + + "\x17JoinableWorkspaceMember\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12$\n" + + "\vpicture_url\x18\x02 \x01(\tH\x00R\n" + + "pictureUrl\x88\x01\x01B\x0e\n" + + "\f_picture_url\"9\n" + + "\x14JoinWorkspaceRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"G\n" + + "\x15JoinWorkspaceResponse\x12.\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"\xe7\x01\n" + + "\x13ApprovedEmailDomain\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06domain\x18\x02 \x01(\tR\x06domain\x12\x1a\n" + + "\bverified\x18\x03 \x01(\bR\bverified\x12\"\n" + + "\radded_by_name\x18\x04 \x01(\tR\vaddedByName\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12-\n" + + "\x12verification_email\x18\x06 \x01(\tR\x11verificationEmail\"!\n" + + "\x1fListApprovedEmailDomainsRequest\"X\n" + + " ListApprovedEmailDomainsResponse\x124\n" + + "\adomains\x18\x01 \x03(\v2\x1a.brent.ApprovedEmailDomainR\adomains\"f\n" + + "\x1dAddApprovedEmailDomainRequest\x12\x16\n" + + "\x06domain\x18\x01 \x01(\tR\x06domain\x12-\n" + + "\x12verification_email\x18\x02 \x01(\tR\x11verificationEmail\"T\n" + + "\x1eAddApprovedEmailDomainResponse\x122\n" + + "\x06domain\x18\x01 \x01(\v2\x1a.brent.ApprovedEmailDomainR\x06domain\"F\n" + + " VerifyApprovedEmailDomainRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04code\x18\x02 \x01(\tR\x04code\"W\n" + + "!VerifyApprovedEmailDomainResponse\x122\n" + + "\x06domain\x18\x01 \x01(\v2\x1a.brent.ApprovedEmailDomainR\x06domain\"6\n" + + "$ResendApprovedEmailDomainCodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"'\n" + + "%ResendApprovedEmailDomainCodeResponse\" \n" + + "\x1eResendVerificationEmailRequest\"!\n" + + "\x1fResendVerificationEmailResponse\"2\n" + + " DeleteApprovedEmailDomainRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"#\n" + + "!DeleteApprovedEmailDomainResponse\"\xfe\x01\n" + + "\x1cWorkspaceLLMCredentialStatus\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x1c\n" + + "\tconnected\x18\x02 \x01(\bR\tconnected\x12!\n" + + "\fsecret_last4\x18\x03 \x01(\tR\vsecretLast4\x12F\n" + + "\x11last_validated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastValidatedAt\x129\n" + + "\n" + + "updated_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"D\n" + + "&GetWorkspaceLLMCredentialStatusRequest\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\"f\n" + + "'GetWorkspaceLLMCredentialStatusResponse\x12;\n" + + "\x06status\x18\x01 \x01(\v2#.brent.WorkspaceLLMCredentialStatusR\x06status\"V\n" + + " SetWorkspaceLLMCredentialRequest\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x16\n" + + "\x06secret\x18\x02 \x01(\tR\x06secret\"\x8f\x01\n" + + "!SetWorkspaceLLMCredentialResponse\x12;\n" + + "\x06status\x18\x01 \x01(\v2#.brent.WorkspaceLLMCredentialStatusR\x06status\x12-\n" + + "\x12validation_warning\x18\x02 \x01(\tR\x11validationWarning\"A\n" + + "#DeleteWorkspaceLLMCredentialRequest\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\"&\n" + + "$DeleteWorkspaceLLMCredentialResponse\"\xa3\x01\n" + + "\x18MyCursorCredentialStatus\x12\x1c\n" + + "\tconnected\x18\x01 \x01(\bR\tconnected\x12!\n" + + "\fsecret_last4\x18\x02 \x01(\tR\vsecretLast4\x12F\n" + + "\x11last_validated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastValidatedAt\"$\n" + + "\"GetMyCursorCredentialStatusRequest\"^\n" + + "#GetMyCursorCredentialStatusResponse\x127\n" + + "\x06status\x18\x01 \x01(\v2\x1f.brent.MyCursorCredentialStatusR\x06status\"6\n" + + "\x1cSetMyCursorCredentialRequest\x12\x16\n" + + "\x06secret\x18\x01 \x01(\tR\x06secret\"X\n" + + "\x1dSetMyCursorCredentialResponse\x127\n" + + "\x06status\x18\x01 \x01(\v2\x1f.brent.MyCursorCredentialStatusR\x06status\"!\n" + + "\x1fDeleteMyCursorCredentialRequest\"\"\n" + + " DeleteMyCursorCredentialResponse\"A\n" + + "\x1eUpdateWorkspaceBrandingRequest\x12\x1f\n" + + "\vtheme_color\x18\x01 \x01(\tR\n" + + "themeColor\"Q\n" + + "\x1fUpdateWorkspaceBrandingResponse\x12.\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"G\n" + + "\"CompleteWorkspaceOnboardingRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"U\n" + + "#CompleteWorkspaceOnboardingResponse\x12.\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"f\n" + + "\x17CreateInvitationRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x12\x12\n" + + "\x04role\x18\x03 \x01(\tR\x04role\"\xad\x01\n" + + "\x18CreateInvitationResponse\x12\x1d\n" + + "\n" + + "accept_url\x18\x01 \x01(\tR\tacceptUrl\x12#\n" + + "\rinvited_email\x18\x02 \x01(\tR\finvitedEmail\x12\x12\n" + + "\x04role\x18\x03 \x01(\tR\x04role\x129\n" + + "\n" + + "expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"i\n" + + "\x18CreateInvitationsRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x16\n" + + "\x06emails\x18\x02 \x03(\tR\x06emails\x12\x12\n" + + "\x04role\x18\x03 \x01(\tR\x04role\"\xa3\x01\n" + + "\x10InvitationResult\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\x125\n" + + "\x06status\x18\x02 \x01(\x0e2\x1d.brent.InvitationResultStatusR\x06status\x12\x1d\n" + + "\n" + + "accept_url\x18\x03 \x01(\tR\tacceptUrl\x12#\n" + + "\rerror_message\x18\x04 \x01(\tR\ferrorMessage\"N\n" + + "\x19CreateInvitationsResponse\x121\n" + + "\aresults\x18\x01 \x03(\v2\x17.brent.InvitationResultR\aresults\"/\n" + + "\x17AcceptInvitationRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"J\n" + + "\x18AcceptInvitationResponse\x12.\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"@\n" + + "\x1bListWorkspaceMembersRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"P\n" + + "\x1cListWorkspaceMembersResponse\x120\n" + + "\amembers\x18\x01 \x03(\v2\x16.brent.WorkspaceMemberR\amembers\"\xd0\x01\n" + + "\x0fWorkspaceMember\x12!\n" + + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x14\n" + + "\x05email\x18\x03 \x01(\tR\x05email\x12\x12\n" + + "\x04role\x18\x04 \x01(\tR\x04role\x12\x1a\n" + + "\x06status\x18\x05 \x01(\tB\x02\x18\x01R\x06status\x121\n" + + "\x05state\x18\x06 \x01(\x0e2\x1b.brent.WorkspaceMemberStateR\x05state\"_\n" + + "\x17ResendInvitationRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\"t\n" + + "\x18ResendInvitationResponse\x12\x1d\n" + + "\n" + + "accept_url\x18\x01 \x01(\tR\tacceptUrl\x129\n" + + "\n" + + "expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"_\n" + + "\x17RevokeInvitationRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\"\x1a\n" + + "\x18RevokeInvitationResponse\"d\n" + + "\x1cRemoveWorkspaceMemberRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\"\x1f\n" + + "\x1dRemoveWorkspaceMemberResponse\"|\n" + + " UpdateWorkspaceMemberRoleRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x12\n" + + "\x04role\x18\x03 \x01(\tR\x04role\"#\n" + + "!UpdateWorkspaceMemberRoleResponse\",\n" + + "\x14GetInvitationRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"\xc9\x02\n" + + "\x15GetInvitationResponse\x12/\n" + + "\x06status\x18\x01 \x01(\x0e2\x17.brent.InvitationStatusR\x06status\x12!\n" + + "\fworkspace_id\x18\x02 \x01(\tR\vworkspaceId\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x124\n" + + "\x16workspace_display_name\x18\x04 \x01(\tR\x14workspaceDisplayName\x12$\n" + + "\vpicture_url\x18\x05 \x01(\tH\x00R\n" + + "pictureUrl\x88\x01\x01\x12#\n" + + "\rinviter_email\x18\x06 \x01(\tR\finviterEmail\x12#\n" + + "\rinvited_email\x18\a \x01(\tR\finvitedEmail\x12\x12\n" + + "\x04role\x18\b \x01(\tR\x04roleB\x0e\n" + + "\f_picture_url\"h\n" + + "\x1eUpsertMyVerifiedBindingRequest\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x16\n" + + "\x06handle\x18\x02 \x01(\tR\x06handleJ\x04\b\x03\x10\x04R\fcapabilities\"K\n" + + "\x1fUpsertMyVerifiedBindingResponse\x12(\n" + + "\abinding\x18\x01 \x01(\v2\x0e.brent.BindingR\abinding\"?\n" + + "\x1aUpdateMyDisplayNameRequest\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"M\n" + + "\x1bUpdateMyDisplayNameResponse\x12.\n" + + "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\"=\n" + + "\x16SetPreferredIDERequest\x12#\n" + + "\rpreferred_ide\x18\x01 \x01(\tR\fpreferredIde\">\n" + + "\x17SetPreferredIDEResponse\x12#\n" + + "\rpreferred_ide\x18\x01 \x01(\tR\fpreferredIde\"\x17\n" + + "\x15ListMyBindingsRequest\"D\n" + + "\x16ListMyBindingsResponse\x12*\n" + + "\bbindings\x18\x01 \x03(\v2\x0e.brent.BindingR\bbindings\"\x98\x02\n" + + "\aBinding\x12\x1f\n" + + "\vexternal_id\x18\x01 \x01(\tR\n" + + "externalId\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x16\n" + + "\x06handle\x18\x03 \x01(\tR\x06handle\x12\x14\n" + + "\x05state\x18\x04 \x01(\tR\x05state\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x18\n" + + "\asubject\x18\b \x01(\tR\asubjectJ\x04\b\x05\x10\x06R\fcapabilities\",\n" + + "\x14RedFindingKindsPatch\x12\x14\n" + + "\x05kinds\x18\x01 \x03(\tR\x05kinds\"<\n" + + "\x17GetBrentSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xe2\x01\n" + + "\x18GetBrentSettingsResponse\x12*\n" + + "\x11red_finding_kinds\x18\x01 \x03(\tR\x0fredFindingKinds\x12>\n" + + "\x1cred_finding_kinds_updated_by\x18\x02 \x01(\tR\x18redFindingKindsUpdatedBy\x12Z\n" + + "\x1cred_finding_kinds_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x18redFindingKindsUpdatedAt\"\xa3\x01\n" + + "\x1aUpdateBrentSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12L\n" + + "\x11red_finding_kinds\x18\x02 \x01(\v2\x1b.brent.RedFindingKindsPatchH\x00R\x0fredFindingKinds\x88\x01\x01B\x14\n" + + "\x12_red_finding_kinds\"\xe5\x01\n" + + "\x1bUpdateBrentSettingsResponse\x12*\n" + + "\x11red_finding_kinds\x18\x01 \x03(\tR\x0fredFindingKinds\x12>\n" + + "\x1cred_finding_kinds_updated_by\x18\x02 \x01(\tR\x18redFindingKindsUpdatedBy\x12Z\n" + + "\x1cred_finding_kinds_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x18redFindingKindsUpdatedAt\"H\n" + + "#AdminGetAccountBrentSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xaf\x01\n" + + "&AdminUpdateAccountBrentSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12L\n" + + "\x11red_finding_kinds\x18\x02 \x01(\v2\x1b.brent.RedFindingKindsPatchH\x00R\x0fredFindingKinds\x88\x01\x01B\x14\n" + + "\x12_red_finding_kinds\"j\n" + + ")AdminGetAccountLLMCredentialStatusRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\"\x94\x01\n" + + "*AdminGetAccountLLMCredentialStatusResponse\x12;\n" + + "\x06status\x18\x01 \x01(\v2#.brent.WorkspaceLLMCredentialStatusR\x06status\x12)\n" + + "\x11key_source_in_use\x18\x02 \x01(\tR\x0ekeySourceInUse\"!\n" + + "\x1fListIntegrationCatalogueRequest\"^\n" + + " ListIntegrationCatalogueResponse\x12:\n" + + "\aentries\x18\x01 \x03(\v2 .brent.IntegrationCatalogueEntryR\aentries\"\xb8\x03\n" + + "\x19IntegrationCatalogueEntry\x12\x1b\n" + + "\tstable_id\x18\x01 \x01(\tR\bstableId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" + + "\bcategory\x18\x03 \x01(\tR\bcategory\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12)\n" + + "\x10advertised_tools\x18\x05 \x03(\tR\x0fadvertisedTools\x122\n" + + "\x15recommended_for_brent\x18\x06 \x01(\bR\x13recommendedForBrent\x12\x1f\n" + + "\vnewly_added\x18\a \x01(\bR\n" + + "newlyAdded\x12\x1c\n" + + "\tconnected\x18\b \x01(\bR\tconnected\x129\n" + + "\x06source\x18\t \x01(\x0e2!.brent.IntegrationCatalogueSourceR\x06source\x126\n" + + "\bprovider\x18\n" + + " \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12\x1b\n" + + "\tauto_rank\x18\v \x01(\x05R\bautoRank*\x89\x01\n" + + "\tRunStatus\x12\x1a\n" + + "\x16RUN_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12RUN_STATUS_RUNNING\x10\x01\x12\x18\n" + + "\x14RUN_STATUS_COMPLETED\x10\x02\x12\x14\n" + + "\x10RUN_STATUS_ERROR\x10\x03\x12\x18\n" + + "\x14RUN_STATUS_CANCELLED\x10\x04*\x9c\x01\n" + + "\x15MetricsComparisonMode\x12'\n" + + "#METRICS_COMPARISON_MODE_UNSPECIFIED\x10\x00\x12(\n" + + "$METRICS_COMPARISON_MODE_BEFORE_AFTER\x10\x01\x120\n" + + ",METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED\x10\x02*\x8d\x01\n" + + "\x14PrincipalStatusState\x12&\n" + + "\"PRINCIPAL_STATUS_STATE_UNSPECIFIED\x10\x00\x12+\n" + + "'PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING\x10\x01\x12 \n" + + "\x1cPRINCIPAL_STATUS_STATE_READY\x10\x02*\xb2\x02\n" + + "\x13IntegrationProvider\x12$\n" + + " INTEGRATION_PROVIDER_UNSPECIFIED\x10\x00\x12\x1f\n" + + "\x1bINTEGRATION_PROVIDER_GITHUB\x10\x01\x12\x1f\n" + + "\x1bINTEGRATION_PROVIDER_LINEAR\x10\x02\x12\x1e\n" + + "\x1aINTEGRATION_PROVIDER_SLACK\x10\x03\x12%\n" + + "!INTEGRATION_PROVIDER_BYO_HTTP_MCP\x10\x04\x12'\n" + + "#INTEGRATION_PROVIDER_MCP_AGGREGATOR\x10\x05\x12\"\n" + + "\x1eINTEGRATION_PROVIDER_BITBUCKET\x10\x06\x12\x1f\n" + + "\x1bINTEGRATION_PROVIDER_GITLAB\x10\a*t\n" + + "\x11IntegrationIntent\x12\"\n" + + "\x1eINTEGRATION_INTENT_UNSPECIFIED\x10\x00\x12\x1e\n" + + "\x1aINTEGRATION_INTENT_INSTALL\x10\x01\x12\x1b\n" + + "\x17INTEGRATION_INTENT_LINK\x10\x02*\xb8\x01\n" + + "\rLoginProvider\x12\x1e\n" + + "\x1aLOGIN_PROVIDER_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15LOGIN_PROVIDER_GOOGLE\x10\x01\x12\x19\n" + + "\x15LOGIN_PROVIDER_GITHUB\x10\x02\x12\x1c\n" + + "\x18LOGIN_PROVIDER_BITBUCKET\x10\x03\x12\x19\n" + + "\x15LOGIN_PROVIDER_GITLAB\x10\x04\x12\x18\n" + + "\x14LOGIN_PROVIDER_SLACK\x10\x05*Y\n" + + "\n" + + "JoinSource\x12\x1b\n" + + "\x17JOIN_SOURCE_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12JOIN_SOURCE_DOMAIN\x10\x01\x12\x16\n" + + "\x12JOIN_SOURCE_INVITE\x10\x02*\xd3\x01\n" + + "\x10InvitationStatus\x12!\n" + + "\x1dINVITATION_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n" + + "\x19INVITATION_STATUS_INVITED\x10\x01\x12\x1e\n" + + "\x1aINVITATION_STATUS_ACCEPTED\x10\x02\x12\x1d\n" + + "\x19INVITATION_STATUS_REVOKED\x10\x03\x12\x1d\n" + + "\x19INVITATION_STATUS_EXPIRED\x10\x04\x12\x1f\n" + + "\x1bINVITATION_STATUS_NOT_FOUND\x10\x05*\xe5\x01\n" + + "\x16InvitationResultStatus\x12(\n" + + "$INVITATION_RESULT_STATUS_UNSPECIFIED\x10\x00\x12$\n" + + " INVITATION_RESULT_STATUS_CREATED\x10\x01\x12+\n" + + "'INVITATION_RESULT_STATUS_ALREADY_EXISTS\x10\x02\x12*\n" + + "&INVITATION_RESULT_STATUS_INVALID_EMAIL\x10\x03\x12\"\n" + + "\x1eINVITATION_RESULT_STATUS_ERROR\x10\x04*\x85\x01\n" + + "\x14WorkspaceMemberState\x12&\n" + + "\"WORKSPACE_MEMBER_STATE_UNSPECIFIED\x10\x00\x12!\n" + + "\x1dWORKSPACE_MEMBER_STATE_ACTIVE\x10\x01\x12\"\n" + + "\x1eWORKSPACE_MEMBER_STATE_INVITED\x10\x02*\xcf\x01\n" + + "\x1aIntegrationCatalogueSource\x12,\n" + + "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + + "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + + " INTEGRATION_CATALOGUE_SOURCE_BYO\x10\x02\x12/\n" + + "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xdd$\n" + + "\fBrentService\x12_\n" + + "\x14ListOpenPullRequests\x12\".brent.ListOpenPullRequestsRequest\x1a#.brent.ListOpenPullRequestsResponse\x12M\n" + + "\x0eGetPullRequest\x12\x1c.brent.GetPullRequestRequest\x1a\x1d.brent.GetPullRequestResponse\x12Y\n" + + "\x12GetPrincipalStatus\x12 .brent.GetPrincipalStatusRequest\x1a!.brent.GetPrincipalStatusResponse\x12k\n" + + "\x18GetIntegrationConnectURL\x12&.brent.GetIntegrationConnectURLRequest\x1a'.brent.GetIntegrationConnectURLResponse\x12b\n" + + "\x15DisconnectIntegration\x12#.brent.DisconnectIntegrationRequest\x1a$.brent.DisconnectIntegrationResponse\x12V\n" + + "\x11ConnectByoHttpMcp\x12\x1f.brent.ConnectByoHttpMcpRequest\x1a .brent.ConnectByoHttpMcpResponse\x12\\\n" + + "\x13GetGitLabConnection\x12!.brent.GetGitLabConnectionRequest\x1a\".brent.GetGitLabConnectionResponse\x12J\n" + + "\rConnectGitLab\x12\x1b.brent.ConnectGitLabRequest\x1a\x1c.brent.ConnectGitLabResponse\x12e\n" + + "\x16SaveGitLabSigningToken\x12$.brent.SaveGitLabSigningTokenRequest\x1a%.brent.SaveGitLabSigningTokenResponse\x12h\n" + + "\x17UpsertMyVerifiedBinding\x12%.brent.UpsertMyVerifiedBindingRequest\x1a&.brent.UpsertMyVerifiedBindingResponse\x12M\n" + + "\x0eListMyBindings\x12\x1c.brent.ListMyBindingsRequest\x1a\x1d.brent.ListMyBindingsResponse\x12\\\n" + + "\x13UpdateMyDisplayName\x12!.brent.UpdateMyDisplayNameRequest\x1a\".brent.UpdateMyDisplayNameResponse\x12P\n" + + "\x0fSetPreferredIDE\x12\x1d.brent.SetPreferredIDERequest\x1a\x1e.brent.SetPreferredIDEResponse\x12S\n" + + "\x10GetBrentSettings\x12\x1e.brent.GetBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12\\\n" + + "\x13UpdateBrentSettings\x12!.brent.UpdateBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12k\n" + + "\x18ListIntegrationCatalogue\x12&.brent.ListIntegrationCatalogueRequest\x1a'.brent.ListIntegrationCatalogueResponse\x12P\n" + + "\x0fCreateWorkspace\x12\x1d.brent.CreateWorkspaceRequest\x1a\x1e.brent.CreateWorkspaceResponse\x12S\n" + + "\x10ListMyWorkspaces\x12\x1e.brent.ListMyWorkspacesRequest\x1a\x1f.brent.ListMyWorkspacesResponse\x12\x80\x01\n" + + "\x1fDiscoverLoginRecoveryCandidates\x12-.brent.DiscoverLoginRecoveryCandidatesRequest\x1a..brent.DiscoverLoginRecoveryCandidatesResponse\x12P\n" + + "\x0fRenameWorkspace\x12\x1d.brent.RenameWorkspaceRequest\x1a\x1e.brent.RenameWorkspaceResponse\x12h\n" + + "\x17UpdateWorkspaceBranding\x12%.brent.UpdateWorkspaceBrandingRequest\x1a&.brent.UpdateWorkspaceBrandingResponse\x12t\n" + + "\x1bCompleteWorkspaceOnboarding\x12).brent.CompleteWorkspaceOnboardingRequest\x1a*.brent.CompleteWorkspaceOnboardingResponse\x12P\n" + + "\x0fDeleteWorkspace\x12\x1d.brent.DeleteWorkspaceRequest\x1a\x1e.brent.DeleteWorkspaceResponse\x12e\n" + + "\x16ListJoinableWorkspaces\x12$.brent.ListJoinableWorkspacesRequest\x1a%.brent.ListJoinableWorkspacesResponse\x12J\n" + + "\rJoinWorkspace\x12\x1b.brent.JoinWorkspaceRequest\x1a\x1c.brent.JoinWorkspaceResponse\x12S\n" + + "\x10CreateInvitation\x12\x1e.brent.CreateInvitationRequest\x1a\x1f.brent.CreateInvitationResponse\x12V\n" + + "\x11CreateInvitations\x12\x1f.brent.CreateInvitationsRequest\x1a .brent.CreateInvitationsResponse\x12S\n" + + "\x10AcceptInvitation\x12\x1e.brent.AcceptInvitationRequest\x1a\x1f.brent.AcceptInvitationResponse\x12_\n" + + "\x14ListWorkspaceMembers\x12\".brent.ListWorkspaceMembersRequest\x1a#.brent.ListWorkspaceMembersResponse\x12S\n" + + "\x10ResendInvitation\x12\x1e.brent.ResendInvitationRequest\x1a\x1f.brent.ResendInvitationResponse\x12S\n" + + "\x10RevokeInvitation\x12\x1e.brent.RevokeInvitationRequest\x1a\x1f.brent.RevokeInvitationResponse\x12b\n" + + "\x15RemoveWorkspaceMember\x12#.brent.RemoveWorkspaceMemberRequest\x1a$.brent.RemoveWorkspaceMemberResponse\x12n\n" + + "\x19UpdateWorkspaceMemberRole\x12'.brent.UpdateWorkspaceMemberRoleRequest\x1a(.brent.UpdateWorkspaceMemberRoleResponse\x12k\n" + + "\x18ListApprovedEmailDomains\x12&.brent.ListApprovedEmailDomainsRequest\x1a'.brent.ListApprovedEmailDomainsResponse\x12e\n" + + "\x16AddApprovedEmailDomain\x12$.brent.AddApprovedEmailDomainRequest\x1a%.brent.AddApprovedEmailDomainResponse\x12n\n" + + "\x19VerifyApprovedEmailDomain\x12'.brent.VerifyApprovedEmailDomainRequest\x1a(.brent.VerifyApprovedEmailDomainResponse\x12z\n" + + "\x1dResendApprovedEmailDomainCode\x12+.brent.ResendApprovedEmailDomainCodeRequest\x1a,.brent.ResendApprovedEmailDomainCodeResponse\x12n\n" + + "\x19DeleteApprovedEmailDomain\x12'.brent.DeleteApprovedEmailDomainRequest\x1a(.brent.DeleteApprovedEmailDomainResponse\x12\x80\x01\n" + + "\x1fGetWorkspaceLLMCredentialStatus\x12-.brent.GetWorkspaceLLMCredentialStatusRequest\x1a..brent.GetWorkspaceLLMCredentialStatusResponse\x12n\n" + + "\x19SetWorkspaceLLMCredential\x12'.brent.SetWorkspaceLLMCredentialRequest\x1a(.brent.SetWorkspaceLLMCredentialResponse\x12w\n" + + "\x1cDeleteWorkspaceLLMCredential\x12*.brent.DeleteWorkspaceLLMCredentialRequest\x1a+.brent.DeleteWorkspaceLLMCredentialResponse\x12t\n" + + "\x1bGetMyCursorCredentialStatus\x12).brent.GetMyCursorCredentialStatusRequest\x1a*.brent.GetMyCursorCredentialStatusResponse\x12b\n" + + "\x15SetMyCursorCredential\x12#.brent.SetMyCursorCredentialRequest\x1a$.brent.SetMyCursorCredentialResponse\x12k\n" + + "\x18DeleteMyCursorCredential\x12&.brent.DeleteMyCursorCredentialRequest\x1a'.brent.DeleteMyCursorCredentialResponse\x12w\n" + + "\x1cGetWorkspaceIntegrationRoles\x12*.brent.GetWorkspaceIntegrationRolesRequest\x1a+.brent.GetWorkspaceIntegrationRolesResponse\x12w\n" + + "\x1cSetWorkspaceIntegrationRoles\x12*.brent.SetWorkspaceIntegrationRolesRequest\x1a+.brent.SetWorkspaceIntegrationRolesResponse\x12h\n" + + "\x17ResendVerificationEmail\x12%.brent.ResendVerificationEmailRequest\x1a&.brent.ResendVerificationEmailResponse2`\n" + + "\x12BrentPublicService\x12J\n" + + "\rGetInvitation\x12\x1b.brent.GetInvitationRequest\x1a\x1c.brent.GetInvitationResponse2\xbc\x1d\n" + + "\x11BrentAdminService\x12R\n" + + "\x0fExecuteWorkflow\x12\x1d.brent.ExecuteWorkflowRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12;\n" + + "\bListRuns\x12\x16.brent.ListRunsRequest\x1a\x17.brent.ListRunsResponse\x12D\n" + + "\bWatchRun\x12\x16.brent.WatchRunRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12I\n" + + "\fStreamEvents\x12\x1a.brent.StreamEventsRequest\x1a\x1b.brent.StreamEventsResponse0\x01\x12A\n" + + "\n" + + "ListEvents\x12\x18.brent.ListEventsRequest\x1a\x19.brent.ListEventsResponse\x12>\n" + + "\tCancelRun\x12\x17.brent.CancelRunRequest\x1a\x18.brent.CancelRunResponse\x12L\n" + + "\fSendQuestion\x12\x1a.brent.SendQuestionRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12H\n" + + "\tListPlans\x12\x1c.brent.AdminListPlansRequest\x1a\x1d.brent.AdminListPlansResponse\x12B\n" + + "\aGetPlan\x12\x1a.brent.AdminGetPlanRequest\x1a\x1b.brent.AdminGetPlanResponse\x12N\n" + + "\vListReviews\x12\x1e.brent.AdminListReviewsRequest\x1a\x1f.brent.AdminListReviewsResponse\x12H\n" + + "\tGetReview\x12\x1c.brent.AdminGetReviewRequest\x1a\x1d.brent.AdminGetReviewResponse\x12H\n" + + "\fListAccounts\x12\x16.google.protobuf.Empty\x1a .brent.AdminListAccountsResponse\x12`\n" + + "\x11GetAccountSummary\x12$.brent.AdminGetAccountSummaryRequest\x1a%.brent.AdminGetAccountSummaryResponse\x12u\n" + + "\x18GetAccountHealthAnalysis\x12+.brent.AdminGetAccountHealthAnalysisRequest\x1a,.brent.AdminGetAccountHealthAnalysisResponse\x12o\n" + + "\x16ListAccountMetricRepos\x12).brent.AdminListAccountMetricReposRequest\x1a*.brent.AdminListAccountMetricReposResponse\x12\x84\x01\n" + + "\x1dStartAccountMetricsComparison\x120.brent.AdminStartAccountMetricsComparisonRequest\x1a1.brent.AdminStartAccountMetricsComparisonResponse\x12\x87\x01\n" + + "\x1eGetAccountMetricsComparisonRun\x121.brent.AdminGetAccountMetricsComparisonRunRequest\x1a2.brent.AdminGetAccountMetricsComparisonRunResponse\x12f\n" + + "\x17GetAccountBrentSettings\x12*.brent.AdminGetAccountBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12o\n" + + "\x1aUpdateAccountBrentSettings\x12-.brent.AdminUpdateAccountBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12\x84\x01\n" + + "\x1dGetAccountLLMCredentialStatus\x120.brent.AdminGetAccountLLMCredentialStatusRequest\x1a1.brent.AdminGetAccountLLMCredentialStatusResponse\x12J\n" + + "\rListWorkflows\x12\x1b.brent.ListWorkflowsRequest\x1a\x1c.brent.ListWorkflowsResponse\x12D\n" + + "\vGetWorkflow\x12\x19.brent.GetWorkflowRequest\x1a\x1a.brent.GetWorkflowResponse\x12S\n" + + "\x10ListWorkflowRuns\x12\x1e.brent.ListWorkflowRunsRequest\x1a\x1f.brent.ListWorkflowRunsResponse\x12M\n" + + "\x0eGetWorkflowRun\x12\x1c.brent.GetWorkflowRunRequest\x1a\x1d.brent.GetWorkflowRunResponse\x12t\n" + + "\x1bGetWorkflowRunThreadHistory\x12).brent.GetWorkflowRunThreadHistoryRequest\x1a*.brent.GetWorkflowRunThreadHistoryResponse\x12S\n" + + "\x10ListPullRequests\x12\x1e.brent.ListPullRequestsRequest\x1a\x1f.brent.ListPullRequestsResponse\x12Y\n" + + "\x12GetPullRequestByID\x12 .brent.GetPullRequestByIDRequest\x1a!.brent.GetPullRequestByIDResponse\x12q\n" + + "\x1aListDeviationAnalysesForPR\x12(.brent.ListDeviationAnalysesForPRRequest\x1a).brent.ListDeviationAnalysesForPRResponse\x12W\n" + + "\x0eListPrincipals\x12!.brent.AdminListPrincipalsRequest\x1a\".brent.AdminListPrincipalsResponse\x12Q\n" + + "\fGetPrincipal\x12\x1f.brent.AdminGetPrincipalRequest\x1a .brent.AdminGetPrincipalResponse\x12o\n" + + "\x16UpsertPrincipalBinding\x12).brent.AdminUpsertPrincipalBindingRequest\x1a*.brent.AdminUpsertPrincipalBindingResponse\x12o\n" + + "\x16DeletePrincipalBinding\x12).brent.AdminDeletePrincipalBindingRequest\x1a*.brent.AdminDeletePrincipalBindingResponse\x12Z\n" + + "\x0fUpdatePrincipal\x12\".brent.AdminUpdatePrincipalRequest\x1a#.brent.AdminUpdatePrincipalResponse\x12r\n" + + "\x17CreatePrincipalIdentity\x12*.brent.AdminCreatePrincipalIdentityRequest\x1a+.brent.AdminCreatePrincipalIdentityResponse\x12r\n" + + "\x17DeletePrincipalIdentity\x12*.brent.AdminDeletePrincipalIdentityRequest\x1a+.brent.AdminDeletePrincipalIdentityResponse\x12o\n" + + "\x16SetPrincipalCredential\x12).brent.AdminSetPrincipalCredentialRequest\x1a*.brent.AdminSetPrincipalCredentialResponse\x12\x93\x01\n" + + "\"ListPrincipalCredentialConnections\x125.brent.AdminListPrincipalCredentialConnectionsRequest\x1a6.brent.AdminListPrincipalCredentialConnectionsResponse\x12x\n" + + "\x19DeletePrincipalCredential\x12,.brent.AdminDeletePrincipalCredentialRequest\x1a-.brent.AdminDeletePrincipalCredentialResponse\x12e\n" + + "\x16GetPullRequestTimeline\x12$.brent.GetPullRequestTimelineRequest\x1a%.brent.GetPullRequestTimelineResponse:D\n" + + "\rembedded_json\x12\x1d.google.protobuf.FieldOptions\x18ц\x03 \x01(\bR\fembeddedJsonB1Z/github.com/overmindtech/workspace/go/sdp-go;sdpb\x06proto3" + +var ( + file_brent_proto_rawDescOnce sync.Once + file_brent_proto_rawDescData []byte +) + +func file_brent_proto_rawDescGZIP() []byte { + file_brent_proto_rawDescOnce.Do(func() { + file_brent_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc))) + }) + return file_brent_proto_rawDescData +} + +var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 11) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 315) +var file_brent_proto_goTypes = []any{ + (RunStatus)(0), // 0: brent.RunStatus + (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode + (PrincipalStatusState)(0), // 2: brent.PrincipalStatusState + (IntegrationProvider)(0), // 3: brent.IntegrationProvider + (IntegrationIntent)(0), // 4: brent.IntegrationIntent + (LoginProvider)(0), // 5: brent.LoginProvider + (JoinSource)(0), // 6: brent.JoinSource + (InvitationStatus)(0), // 7: brent.InvitationStatus + (InvitationResultStatus)(0), // 8: brent.InvitationResultStatus + (WorkspaceMemberState)(0), // 9: brent.WorkspaceMemberState + (IntegrationCatalogueSource)(0), // 10: brent.IntegrationCatalogueSource + (*ListPullRequestsRequest)(nil), // 11: brent.ListPullRequestsRequest + (*ListPullRequestsResponse)(nil), // 12: brent.ListPullRequestsResponse + (*GetPullRequestByIDRequest)(nil), // 13: brent.GetPullRequestByIDRequest + (*GetPullRequestByIDResponse)(nil), // 14: brent.GetPullRequestByIDResponse + (*ListDeviationAnalysesForPRRequest)(nil), // 15: brent.ListDeviationAnalysesForPRRequest + (*ListDeviationAnalysesForPRResponse)(nil), // 16: brent.ListDeviationAnalysesForPRResponse + (*GetPullRequestTimelineRequest)(nil), // 17: brent.GetPullRequestTimelineRequest + (*PullRequestTimelineEventRow)(nil), // 18: brent.PullRequestTimelineEventRow + (*PullRequestTimelineWarning)(nil), // 19: brent.PullRequestTimelineWarning + (*GetPullRequestTimelineResponse)(nil), // 20: brent.GetPullRequestTimelineResponse + (*PullRequestSummary)(nil), // 21: brent.PullRequestSummary + (*PullRequest)(nil), // 22: brent.PullRequest + (*DeviationAnalysisSummary)(nil), // 23: brent.DeviationAnalysisSummary + (*DeviationFinding)(nil), // 24: brent.DeviationFinding + (*ExecuteWorkflowRequest)(nil), // 25: brent.ExecuteWorkflowRequest + (*ListRunsRequest)(nil), // 26: brent.ListRunsRequest + (*ListRunsResponse)(nil), // 27: brent.ListRunsResponse + (*RunSummary)(nil), // 28: brent.RunSummary + (*WatchRunRequest)(nil), // 29: brent.WatchRunRequest + (*StreamEventsRequest)(nil), // 30: brent.StreamEventsRequest + (*StreamEventsResponse)(nil), // 31: brent.StreamEventsResponse + (*ListEventsRequest)(nil), // 32: brent.ListEventsRequest + (*ListEventsResponse)(nil), // 33: brent.ListEventsResponse + (*CancelRunRequest)(nil), // 34: brent.CancelRunRequest + (*CancelRunResponse)(nil), // 35: brent.CancelRunResponse + (*ListOpenPullRequestsRequest)(nil), // 36: brent.ListOpenPullRequestsRequest + (*ListOpenPullRequestsResponse)(nil), // 37: brent.ListOpenPullRequestsResponse + (*GetPullRequestRequest)(nil), // 38: brent.GetPullRequestRequest + (*GetPullRequestResponse)(nil), // 39: brent.GetPullRequestResponse + (*OpenPullRequest)(nil), // 40: brent.OpenPullRequest + (*ExecuteWorkflowResponse)(nil), // 41: brent.ExecuteWorkflowResponse + (*ReasoningStep)(nil), // 42: brent.ReasoningStep + (*ToolCallStep)(nil), // 43: brent.ToolCallStep + (*ToolResultStep)(nil), // 44: brent.ToolResultStep + (*CompletionStep)(nil), // 45: brent.CompletionStep + (*ErrorStep)(nil), // 46: brent.ErrorStep + (*StatusStep)(nil), // 47: brent.StatusStep + (*RunStartedStep)(nil), // 48: brent.RunStartedStep + (*QAReadyStep)(nil), // 49: brent.QAReadyStep + (*UserQuestionStep)(nil), // 50: brent.UserQuestionStep + (*UserMessageStep)(nil), // 51: brent.UserMessageStep + (*SendQuestionRequest)(nil), // 52: brent.SendQuestionRequest + (*AdminListPlansRequest)(nil), // 53: brent.AdminListPlansRequest + (*AdminListPlansResponse)(nil), // 54: brent.AdminListPlansResponse + (*PlanSummary)(nil), // 55: brent.PlanSummary + (*AdminGetPlanRequest)(nil), // 56: brent.AdminGetPlanRequest + (*AdminGetPlanResponse)(nil), // 57: brent.AdminGetPlanResponse + (*Plan)(nil), // 58: brent.Plan + (*AdminListPrincipalsRequest)(nil), // 59: brent.AdminListPrincipalsRequest + (*AdminListPrincipalsResponse)(nil), // 60: brent.AdminListPrincipalsResponse + (*AdminGetPrincipalRequest)(nil), // 61: brent.AdminGetPrincipalRequest + (*AdminGetPrincipalResponse)(nil), // 62: brent.AdminGetPrincipalResponse + (*PrincipalIdentity)(nil), // 63: brent.PrincipalIdentity + (*AdminUpsertPrincipalBindingRequest)(nil), // 64: brent.AdminUpsertPrincipalBindingRequest + (*AdminUpsertPrincipalBindingResponse)(nil), // 65: brent.AdminUpsertPrincipalBindingResponse + (*AdminDeletePrincipalBindingRequest)(nil), // 66: brent.AdminDeletePrincipalBindingRequest + (*AdminDeletePrincipalBindingResponse)(nil), // 67: brent.AdminDeletePrincipalBindingResponse + (*AdminUpdatePrincipalRequest)(nil), // 68: brent.AdminUpdatePrincipalRequest + (*AdminUpdatePrincipalResponse)(nil), // 69: brent.AdminUpdatePrincipalResponse + (*AdminCreatePrincipalIdentityRequest)(nil), // 70: brent.AdminCreatePrincipalIdentityRequest + (*AdminCreatePrincipalIdentityResponse)(nil), // 71: brent.AdminCreatePrincipalIdentityResponse + (*AdminDeletePrincipalIdentityRequest)(nil), // 72: brent.AdminDeletePrincipalIdentityRequest + (*AdminDeletePrincipalIdentityResponse)(nil), // 73: brent.AdminDeletePrincipalIdentityResponse + (*AdminSetPrincipalCredentialRequest)(nil), // 74: brent.AdminSetPrincipalCredentialRequest + (*AdminSetPrincipalCredentialResponse)(nil), // 75: brent.AdminSetPrincipalCredentialResponse + (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 76: brent.AdminListPrincipalCredentialConnectionsRequest + (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 77: brent.AdminListPrincipalCredentialConnectionsResponse + (*PrincipalCredentialConnection)(nil), // 78: brent.PrincipalCredentialConnection + (*AdminDeletePrincipalCredentialRequest)(nil), // 79: brent.AdminDeletePrincipalCredentialRequest + (*AdminDeletePrincipalCredentialResponse)(nil), // 80: brent.AdminDeletePrincipalCredentialResponse + (*AdminListReviewsRequest)(nil), // 81: brent.AdminListReviewsRequest + (*AdminListReviewsResponse)(nil), // 82: brent.AdminListReviewsResponse + (*ReviewSummary)(nil), // 83: brent.ReviewSummary + (*AdminGetReviewRequest)(nil), // 84: brent.AdminGetReviewRequest + (*AdminGetReviewResponse)(nil), // 85: brent.AdminGetReviewResponse + (*Review)(nil), // 86: brent.Review + (*AccountSummary)(nil), // 87: brent.AccountSummary + (*AdminListAccountsResponse)(nil), // 88: brent.AdminListAccountsResponse + (*AdminGetAccountSummaryRequest)(nil), // 89: brent.AdminGetAccountSummaryRequest + (*AccountRunSummary)(nil), // 90: brent.AccountRunSummary + (*AdminGetAccountSummaryResponse)(nil), // 91: brent.AdminGetAccountSummaryResponse + (*AdminGetAccountHealthAnalysisRequest)(nil), // 92: brent.AdminGetAccountHealthAnalysisRequest + (*AccountHealthFinding)(nil), // 93: brent.AccountHealthFinding + (*AdminGetAccountHealthAnalysisResponse)(nil), // 94: brent.AdminGetAccountHealthAnalysisResponse + (*AdminListAccountMetricReposRequest)(nil), // 95: brent.AdminListAccountMetricReposRequest + (*AccountMetricRepo)(nil), // 96: brent.AccountMetricRepo + (*AdminListAccountMetricReposResponse)(nil), // 97: brent.AdminListAccountMetricReposResponse + (*AdminStartAccountMetricsComparisonRequest)(nil), // 98: brent.AdminStartAccountMetricsComparisonRequest + (*AdminStartAccountMetricsComparisonResponse)(nil), // 99: brent.AdminStartAccountMetricsComparisonResponse + (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 100: brent.AdminGetAccountMetricsComparisonRunRequest + (*MetricsComparisonHeadline)(nil), // 101: brent.MetricsComparisonHeadline + (*MetricsComparisonArtifact)(nil), // 102: brent.MetricsComparisonArtifact + (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 103: brent.AdminGetAccountMetricsComparisonRunResponse + (*Event)(nil), // 104: brent.Event + (*Actor)(nil), // 105: brent.Actor + (*ObjectReference)(nil), // 106: brent.ObjectReference + (*PlanCreated)(nil), // 107: brent.PlanCreated + (*PlanUpdated)(nil), // 108: brent.PlanUpdated + (*PlanDeleted)(nil), // 109: brent.PlanDeleted + (*ReviewDeleted)(nil), // 110: brent.ReviewDeleted + (*PlanRestored)(nil), // 111: brent.PlanRestored + (*ReviewRequested)(nil), // 112: brent.ReviewRequested + (*ReviewSubmitted)(nil), // 113: brent.ReviewSubmitted + (*ReviewNoEligibleReviewer)(nil), // 114: brent.ReviewNoEligibleReviewer + (*PlanReviewPolicyDecided)(nil), // 115: brent.PlanReviewPolicyDecided + (*PrincipalCreated)(nil), // 116: brent.PrincipalCreated + (*PrincipalUpdated)(nil), // 117: brent.PrincipalUpdated + (*PrincipalTombstoned)(nil), // 118: brent.PrincipalTombstoned + (*WorkspaceCreated)(nil), // 119: brent.WorkspaceCreated + (*WorkspaceOnboardingCompleted)(nil), // 120: brent.WorkspaceOnboardingCompleted + (*WorkspaceRenamed)(nil), // 121: brent.WorkspaceRenamed + (*WorkspaceDeleted)(nil), // 122: brent.WorkspaceDeleted + (*WorkspaceMemberJoined)(nil), // 123: brent.WorkspaceMemberJoined + (*WorkspaceMemberLeft)(nil), // 124: brent.WorkspaceMemberLeft + (*ApprovedEmailDomainAdded)(nil), // 125: brent.ApprovedEmailDomainAdded + (*ApprovedEmailDomainVerified)(nil), // 126: brent.ApprovedEmailDomainVerified + (*ApprovedEmailDomainDeleted)(nil), // 127: brent.ApprovedEmailDomainDeleted + (*MCPGrantWorkspaceBindingChanged)(nil), // 128: brent.MCPGrantWorkspaceBindingChanged + (*IdentityCreated)(nil), // 129: brent.IdentityCreated + (*IdentityDeleted)(nil), // 130: brent.IdentityDeleted + (*BindingCreated)(nil), // 131: brent.BindingCreated + (*BindingUpdated)(nil), // 132: brent.BindingUpdated + (*BindingDeleted)(nil), // 133: brent.BindingDeleted + (*CredentialConnected)(nil), // 134: brent.CredentialConnected + (*CredentialRevoked)(nil), // 135: brent.CredentialRevoked + (*WorkspaceLLMCredentialConnected)(nil), // 136: brent.WorkspaceLLMCredentialConnected + (*WorkspaceLLMCredentialRevoked)(nil), // 137: brent.WorkspaceLLMCredentialRevoked + (*ReviewDriveByStarted)(nil), // 138: brent.ReviewDriveByStarted + (*OtherEvent)(nil), // 139: brent.OtherEvent + (*UnknownStoredPayload)(nil), // 140: brent.UnknownStoredPayload + (*PullRequestOpened)(nil), // 141: brent.PullRequestOpened + (*PullRequestSynchronized)(nil), // 142: brent.PullRequestSynchronized + (*PullRequestUpdated)(nil), // 143: brent.PullRequestUpdated + (*PullRequestClosed)(nil), // 144: brent.PullRequestClosed + (*PullRequestLinkedToPlan)(nil), // 145: brent.PullRequestLinkedToPlan + (*PullRequestUnlinkedFromPlan)(nil), // 146: brent.PullRequestUnlinkedFromPlan + (*PullRequestLinkedToAgentRun)(nil), // 147: brent.PullRequestLinkedToAgentRun + (*PullRequestReviewRequested)(nil), // 148: brent.PullRequestReviewRequested + (*PullRequestApproved)(nil), // 149: brent.PullRequestApproved + (*PullRequestChangesRequested)(nil), // 150: brent.PullRequestChangesRequested + (*PullRequestReviewDismissed)(nil), // 151: brent.PullRequestReviewDismissed + (*PullRequestCommentCreated)(nil), // 152: brent.PullRequestCommentCreated + (*DeviationAnalysisStarted)(nil), // 153: brent.DeviationAnalysisStarted + (*FindingSummary)(nil), // 154: brent.FindingSummary + (*DeviationAnalysisCompleted)(nil), // 155: brent.DeviationAnalysisCompleted + (*DeviationAnalysisFailed)(nil), // 156: brent.DeviationAnalysisFailed + (*DeviationFindingRecorded)(nil), // 157: brent.DeviationFindingRecorded + (*DeviationFindingUpdated)(nil), // 158: brent.DeviationFindingUpdated + (*DeviationFindingResolved)(nil), // 159: brent.DeviationFindingResolved + (*DeviationFindingAcknowledged)(nil), // 160: brent.DeviationFindingAcknowledged + (*DeviationFindingAcknowledgementCleared)(nil), // 161: brent.DeviationFindingAcknowledgementCleared + (*AgentRunDispatched)(nil), // 162: brent.AgentRunDispatched + (*AgentRunStarted)(nil), // 163: brent.AgentRunStarted + (*AgentRunPullRequestMatched)(nil), // 164: brent.AgentRunPullRequestMatched + (*AgentRunFlaggedNeedsYou)(nil), // 165: brent.AgentRunFlaggedNeedsYou + (*AgentRunGatePassed)(nil), // 166: brent.AgentRunGatePassed + (*AgentRunMerged)(nil), // 167: brent.AgentRunMerged + (*AgentRunCancelled)(nil), // 168: brent.AgentRunCancelled + (*AgentRunDeclined)(nil), // 169: brent.AgentRunDeclined + (*AgentRunAnnotated)(nil), // 170: brent.AgentRunAnnotated + (*WorkflowIngested)(nil), // 171: brent.WorkflowIngested + (*WorkflowRunQueued)(nil), // 172: brent.WorkflowRunQueued + (*WorkflowRunStarted)(nil), // 173: brent.WorkflowRunStarted + (*WorkflowRunCompleted)(nil), // 174: brent.WorkflowRunCompleted + (*WorkflowRunFailed)(nil), // 175: brent.WorkflowRunFailed + (*WorkflowRunCancelled)(nil), // 176: brent.WorkflowRunCancelled + (*SlackWebhook)(nil), // 177: brent.SlackWebhook + (*LinearWebhook)(nil), // 178: brent.LinearWebhook + (*ComposioTriggerMessage)(nil), // 179: brent.ComposioTriggerMessage + (*GitHubWebhook)(nil), // 180: brent.GitHubWebhook + (*GitLabWebhook)(nil), // 181: brent.GitLabWebhook + (*BitbucketWebhook)(nil), // 182: brent.BitbucketWebhook + (*EmbeddedJsonCELFixture)(nil), // 183: brent.EmbeddedJsonCELFixture + (*SlackMentionReceived)(nil), // 184: brent.SlackMentionReceived + (*OrganisationAppInstallationUpserted)(nil), // 185: brent.OrganisationAppInstallationUpserted + (*OrganisationAppInstallationDeleted)(nil), // 186: brent.OrganisationAppInstallationDeleted + (*SlackReactionAdded)(nil), // 187: brent.SlackReactionAdded + (*ListWorkflowsRequest)(nil), // 188: brent.ListWorkflowsRequest + (*ListWorkflowsResponse)(nil), // 189: brent.ListWorkflowsResponse + (*WorkflowSummary)(nil), // 190: brent.WorkflowSummary + (*GetWorkflowRequest)(nil), // 191: brent.GetWorkflowRequest + (*GetWorkflowResponse)(nil), // 192: brent.GetWorkflowResponse + (*Workflow)(nil), // 193: brent.Workflow + (*ListWorkflowRunsRequest)(nil), // 194: brent.ListWorkflowRunsRequest + (*ListWorkflowRunsResponse)(nil), // 195: brent.ListWorkflowRunsResponse + (*WorkflowRunSummary)(nil), // 196: brent.WorkflowRunSummary + (*GetWorkflowRunRequest)(nil), // 197: brent.GetWorkflowRunRequest + (*GetWorkflowRunThreadHistoryRequest)(nil), // 198: brent.GetWorkflowRunThreadHistoryRequest + (*WorkflowRunThreadSegment)(nil), // 199: brent.WorkflowRunThreadSegment + (*GetWorkflowRunThreadHistoryResponse)(nil), // 200: brent.GetWorkflowRunThreadHistoryResponse + (*GetWorkflowRunResponse)(nil), // 201: brent.GetWorkflowRunResponse + (*WorkflowRun)(nil), // 202: brent.WorkflowRun + (*GetPrincipalStatusRequest)(nil), // 203: brent.GetPrincipalStatusRequest + (*GetPrincipalStatusResponse)(nil), // 204: brent.GetPrincipalStatusResponse + (*GetIntegrationConnectURLRequest)(nil), // 205: brent.GetIntegrationConnectURLRequest + (*GetIntegrationConnectURLResponse)(nil), // 206: brent.GetIntegrationConnectURLResponse + (*DisconnectIntegrationRequest)(nil), // 207: brent.DisconnectIntegrationRequest + (*DisconnectIntegrationResponse)(nil), // 208: brent.DisconnectIntegrationResponse + (*ConnectByoHttpMcpRequest)(nil), // 209: brent.ConnectByoHttpMcpRequest + (*ConnectByoHttpMcpResponse)(nil), // 210: brent.ConnectByoHttpMcpResponse + (*GetGitLabConnectionRequest)(nil), // 211: brent.GetGitLabConnectionRequest + (*GetGitLabConnectionResponse)(nil), // 212: brent.GetGitLabConnectionResponse + (*ConnectGitLabRequest)(nil), // 213: brent.ConnectGitLabRequest + (*ConnectGitLabResponse)(nil), // 214: brent.ConnectGitLabResponse + (*SaveGitLabSigningTokenRequest)(nil), // 215: brent.SaveGitLabSigningTokenRequest + (*SaveGitLabSigningTokenResponse)(nil), // 216: brent.SaveGitLabSigningTokenResponse + (*GitHubPendingInstall)(nil), // 217: brent.GitHubPendingInstall + (*IntegrationStatus)(nil), // 218: brent.IntegrationStatus + (*GetWorkspaceIntegrationRolesRequest)(nil), // 219: brent.GetWorkspaceIntegrationRolesRequest + (*GetWorkspaceIntegrationRolesResponse)(nil), // 220: brent.GetWorkspaceIntegrationRolesResponse + (*SetWorkspaceIntegrationRolesRequest)(nil), // 221: brent.SetWorkspaceIntegrationRolesRequest + (*SetWorkspaceIntegrationRolesResponse)(nil), // 222: brent.SetWorkspaceIntegrationRolesResponse + (*Principal)(nil), // 223: brent.Principal + (*Workspace)(nil), // 224: brent.Workspace + (*CreateWorkspaceRequest)(nil), // 225: brent.CreateWorkspaceRequest + (*CreateWorkspaceResponse)(nil), // 226: brent.CreateWorkspaceResponse + (*ListMyWorkspacesRequest)(nil), // 227: brent.ListMyWorkspacesRequest + (*ListMyWorkspacesResponse)(nil), // 228: brent.ListMyWorkspacesResponse + (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 229: brent.DiscoverLoginRecoveryCandidatesRequest + (*LoginRecoveryCandidate)(nil), // 230: brent.LoginRecoveryCandidate + (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 231: brent.DiscoverLoginRecoveryCandidatesResponse + (*RenameWorkspaceRequest)(nil), // 232: brent.RenameWorkspaceRequest + (*RenameWorkspaceResponse)(nil), // 233: brent.RenameWorkspaceResponse + (*DeleteWorkspaceRequest)(nil), // 234: brent.DeleteWorkspaceRequest + (*DeleteWorkspaceResponse)(nil), // 235: brent.DeleteWorkspaceResponse + (*ListJoinableWorkspacesRequest)(nil), // 236: brent.ListJoinableWorkspacesRequest + (*ListJoinableWorkspacesResponse)(nil), // 237: brent.ListJoinableWorkspacesResponse + (*JoinableWorkspace)(nil), // 238: brent.JoinableWorkspace + (*JoinableWorkspaceMember)(nil), // 239: brent.JoinableWorkspaceMember + (*JoinWorkspaceRequest)(nil), // 240: brent.JoinWorkspaceRequest + (*JoinWorkspaceResponse)(nil), // 241: brent.JoinWorkspaceResponse + (*ApprovedEmailDomain)(nil), // 242: brent.ApprovedEmailDomain + (*ListApprovedEmailDomainsRequest)(nil), // 243: brent.ListApprovedEmailDomainsRequest + (*ListApprovedEmailDomainsResponse)(nil), // 244: brent.ListApprovedEmailDomainsResponse + (*AddApprovedEmailDomainRequest)(nil), // 245: brent.AddApprovedEmailDomainRequest + (*AddApprovedEmailDomainResponse)(nil), // 246: brent.AddApprovedEmailDomainResponse + (*VerifyApprovedEmailDomainRequest)(nil), // 247: brent.VerifyApprovedEmailDomainRequest + (*VerifyApprovedEmailDomainResponse)(nil), // 248: brent.VerifyApprovedEmailDomainResponse + (*ResendApprovedEmailDomainCodeRequest)(nil), // 249: brent.ResendApprovedEmailDomainCodeRequest + (*ResendApprovedEmailDomainCodeResponse)(nil), // 250: brent.ResendApprovedEmailDomainCodeResponse + (*ResendVerificationEmailRequest)(nil), // 251: brent.ResendVerificationEmailRequest + (*ResendVerificationEmailResponse)(nil), // 252: brent.ResendVerificationEmailResponse + (*DeleteApprovedEmailDomainRequest)(nil), // 253: brent.DeleteApprovedEmailDomainRequest + (*DeleteApprovedEmailDomainResponse)(nil), // 254: brent.DeleteApprovedEmailDomainResponse + (*WorkspaceLLMCredentialStatus)(nil), // 255: brent.WorkspaceLLMCredentialStatus + (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 256: brent.GetWorkspaceLLMCredentialStatusRequest + (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 257: brent.GetWorkspaceLLMCredentialStatusResponse + (*SetWorkspaceLLMCredentialRequest)(nil), // 258: brent.SetWorkspaceLLMCredentialRequest + (*SetWorkspaceLLMCredentialResponse)(nil), // 259: brent.SetWorkspaceLLMCredentialResponse + (*DeleteWorkspaceLLMCredentialRequest)(nil), // 260: brent.DeleteWorkspaceLLMCredentialRequest + (*DeleteWorkspaceLLMCredentialResponse)(nil), // 261: brent.DeleteWorkspaceLLMCredentialResponse + (*MyCursorCredentialStatus)(nil), // 262: brent.MyCursorCredentialStatus + (*GetMyCursorCredentialStatusRequest)(nil), // 263: brent.GetMyCursorCredentialStatusRequest + (*GetMyCursorCredentialStatusResponse)(nil), // 264: brent.GetMyCursorCredentialStatusResponse + (*SetMyCursorCredentialRequest)(nil), // 265: brent.SetMyCursorCredentialRequest + (*SetMyCursorCredentialResponse)(nil), // 266: brent.SetMyCursorCredentialResponse + (*DeleteMyCursorCredentialRequest)(nil), // 267: brent.DeleteMyCursorCredentialRequest + (*DeleteMyCursorCredentialResponse)(nil), // 268: brent.DeleteMyCursorCredentialResponse + (*UpdateWorkspaceBrandingRequest)(nil), // 269: brent.UpdateWorkspaceBrandingRequest + (*UpdateWorkspaceBrandingResponse)(nil), // 270: brent.UpdateWorkspaceBrandingResponse + (*CompleteWorkspaceOnboardingRequest)(nil), // 271: brent.CompleteWorkspaceOnboardingRequest + (*CompleteWorkspaceOnboardingResponse)(nil), // 272: brent.CompleteWorkspaceOnboardingResponse + (*CreateInvitationRequest)(nil), // 273: brent.CreateInvitationRequest + (*CreateInvitationResponse)(nil), // 274: brent.CreateInvitationResponse + (*CreateInvitationsRequest)(nil), // 275: brent.CreateInvitationsRequest + (*InvitationResult)(nil), // 276: brent.InvitationResult + (*CreateInvitationsResponse)(nil), // 277: brent.CreateInvitationsResponse + (*AcceptInvitationRequest)(nil), // 278: brent.AcceptInvitationRequest + (*AcceptInvitationResponse)(nil), // 279: brent.AcceptInvitationResponse + (*ListWorkspaceMembersRequest)(nil), // 280: brent.ListWorkspaceMembersRequest + (*ListWorkspaceMembersResponse)(nil), // 281: brent.ListWorkspaceMembersResponse + (*WorkspaceMember)(nil), // 282: brent.WorkspaceMember + (*ResendInvitationRequest)(nil), // 283: brent.ResendInvitationRequest + (*ResendInvitationResponse)(nil), // 284: brent.ResendInvitationResponse + (*RevokeInvitationRequest)(nil), // 285: brent.RevokeInvitationRequest + (*RevokeInvitationResponse)(nil), // 286: brent.RevokeInvitationResponse + (*RemoveWorkspaceMemberRequest)(nil), // 287: brent.RemoveWorkspaceMemberRequest + (*RemoveWorkspaceMemberResponse)(nil), // 288: brent.RemoveWorkspaceMemberResponse + (*UpdateWorkspaceMemberRoleRequest)(nil), // 289: brent.UpdateWorkspaceMemberRoleRequest + (*UpdateWorkspaceMemberRoleResponse)(nil), // 290: brent.UpdateWorkspaceMemberRoleResponse + (*GetInvitationRequest)(nil), // 291: brent.GetInvitationRequest + (*GetInvitationResponse)(nil), // 292: brent.GetInvitationResponse + (*UpsertMyVerifiedBindingRequest)(nil), // 293: brent.UpsertMyVerifiedBindingRequest + (*UpsertMyVerifiedBindingResponse)(nil), // 294: brent.UpsertMyVerifiedBindingResponse + (*UpdateMyDisplayNameRequest)(nil), // 295: brent.UpdateMyDisplayNameRequest + (*UpdateMyDisplayNameResponse)(nil), // 296: brent.UpdateMyDisplayNameResponse + (*SetPreferredIDERequest)(nil), // 297: brent.SetPreferredIDERequest + (*SetPreferredIDEResponse)(nil), // 298: brent.SetPreferredIDEResponse + (*ListMyBindingsRequest)(nil), // 299: brent.ListMyBindingsRequest + (*ListMyBindingsResponse)(nil), // 300: brent.ListMyBindingsResponse + (*Binding)(nil), // 301: brent.Binding + (*RedFindingKindsPatch)(nil), // 302: brent.RedFindingKindsPatch + (*GetBrentSettingsRequest)(nil), // 303: brent.GetBrentSettingsRequest + (*GetBrentSettingsResponse)(nil), // 304: brent.GetBrentSettingsResponse + (*UpdateBrentSettingsRequest)(nil), // 305: brent.UpdateBrentSettingsRequest + (*UpdateBrentSettingsResponse)(nil), // 306: brent.UpdateBrentSettingsResponse + (*AdminGetAccountBrentSettingsRequest)(nil), // 307: brent.AdminGetAccountBrentSettingsRequest + (*AdminUpdateAccountBrentSettingsRequest)(nil), // 308: brent.AdminUpdateAccountBrentSettingsRequest + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 309: brent.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 310: brent.AdminGetAccountLLMCredentialStatusResponse + (*ListIntegrationCatalogueRequest)(nil), // 311: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 312: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 313: brent.IntegrationCatalogueEntry + nil, // 314: brent.PlanUpdated.PreviousEntry + nil, // 315: brent.PlanUpdated.AfterEntry + nil, // 316: brent.PrincipalUpdated.PreviousEntry + nil, // 317: brent.PrincipalUpdated.AfterEntry + nil, // 318: brent.BindingUpdated.PreviousEntry + nil, // 319: brent.BindingUpdated.AfterEntry + nil, // 320: brent.OtherEvent.FieldsEntry + nil, // 321: brent.PullRequestUpdated.PreviousEntry + nil, // 322: brent.PullRequestUpdated.AfterEntry + nil, // 323: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 324: brent.DeviationFindingUpdated.PreviousEntry + nil, // 325: brent.DeviationFindingUpdated.AfterEntry + (*timestamppb.Timestamp)(nil), // 326: google.protobuf.Timestamp + (*structpb.Value)(nil), // 327: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 328: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 329: google.protobuf.Empty +} +var file_brent_proto_depIdxs = []int32{ + 21, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary + 22, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest + 23, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary + 326, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 22, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest + 18, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow + 19, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning + 326, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 326, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 326, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 326, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 326, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 326, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 326, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 24, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding + 326, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 28, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary + 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus + 326, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 326, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 104, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event + 326, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 326, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 104, // 23: brent.ListEventsResponse.events:type_name -> brent.Event + 40, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest + 40, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest + 326, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 326, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 42, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep + 43, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep + 44, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep + 45, // 31: brent.ExecuteWorkflowResponse.completion:type_name -> brent.CompletionStep + 46, // 32: brent.ExecuteWorkflowResponse.error:type_name -> brent.ErrorStep + 47, // 33: brent.ExecuteWorkflowResponse.status:type_name -> brent.StatusStep + 48, // 34: brent.ExecuteWorkflowResponse.run_started:type_name -> brent.RunStartedStep + 49, // 35: brent.ExecuteWorkflowResponse.qa_ready:type_name -> brent.QAReadyStep + 50, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep + 51, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep + 55, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary + 326, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 326, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 326, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 326, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 58, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan + 83, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary + 21, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary + 326, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 326, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 326, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 223, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal + 223, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal + 63, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity + 301, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding + 326, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 326, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 301, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding + 223, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal + 63, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity + 78, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection + 326, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 83, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary + 326, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 326, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 86, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review + 55, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary + 326, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 326, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 326, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 326, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 87, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary + 326, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 326, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 90, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary + 93, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding + 326, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 96, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo + 326, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 326, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 326, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 326, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode + 326, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 326, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 326, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 326, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 101, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline + 326, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 326, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 326, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 326, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 102, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact + 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode + 326, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 326, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 326, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 105, // 95: brent.Event.actor:type_name -> brent.Actor + 106, // 96: brent.Event.object:type_name -> brent.ObjectReference + 326, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 107, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated + 108, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated + 109, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted + 112, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested + 113, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted + 139, // 103: brent.Event.other:type_name -> brent.OtherEvent + 180, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook + 184, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived + 187, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded + 141, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened + 142, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized + 143, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated + 144, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed + 145, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan + 146, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan + 185, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted + 186, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted + 153, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted + 155, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted + 156, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed + 172, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued + 173, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted + 174, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted + 175, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed + 176, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled + 114, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer + 116, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated + 117, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated + 118, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned + 129, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated + 130, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted + 131, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated + 132, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated + 133, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted + 138, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted + 177, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook + 110, // 134: brent.Event.review_deleted:type_name -> brent.ReviewDeleted + 111, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored + 178, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook + 152, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated + 157, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded + 158, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated + 159, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved + 162, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched + 163, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted + 164, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched + 165, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou + 167, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged + 169, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined + 168, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled + 166, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed + 147, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun + 171, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested + 148, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested + 149, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved + 150, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested + 151, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed + 134, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected + 135, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked + 170, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated + 119, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated + 128, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged + 120, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted + 121, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed + 122, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted + 125, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded + 126, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified + 127, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted + 181, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook + 136, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected + 137, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked + 182, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook + 123, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined + 124, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft + 179, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage + 160, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged + 161, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared + 115, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided + 140, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload + 314, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 315, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 326, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 316, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 317, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 6, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource + 318, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 319, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 320, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 321, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 322, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 326, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 323, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 326, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 154, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary + 326, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 326, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 324, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 325, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 326, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 326, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 326, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 326, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 326, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 326, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 326, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 326, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 190, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary + 326, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 326, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 193, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow + 326, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 326, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 196, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary + 326, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 326, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 326, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 326, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 196, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary + 41, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse + 199, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment + 202, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun + 190, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary + 326, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 326, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 326, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 326, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 104, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event + 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState + 223, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal + 218, // 227: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus + 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider + 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent + 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider + 326, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 326, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider + 217, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall + 326, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 3, // 236: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider + 3, // 239: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider + 3, // 240: brent.SetWorkspaceIntegrationRolesRequest.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 241: brent.SetWorkspaceIntegrationRolesRequest.messaging_provider:type_name -> brent.IntegrationProvider + 3, // 242: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider + 326, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 326, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 224, // 247: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace + 224, // 248: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace + 5, // 249: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider + 5, // 250: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider + 230, // 251: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate + 224, // 252: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace + 238, // 253: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace + 326, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 239, // 255: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember + 6, // 256: brent.JoinableWorkspace.source:type_name -> brent.JoinSource + 224, // 257: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace + 326, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 242, // 259: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain + 242, // 260: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 242, // 261: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 326, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 326, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 255, // 264: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 255, // 265: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 326, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 262, // 267: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus + 262, // 268: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus + 224, // 269: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace + 224, // 270: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace + 326, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 8, // 272: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus + 276, // 273: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult + 224, // 274: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace + 282, // 275: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember + 9, // 276: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState + 326, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 7, // 278: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus + 301, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 223, // 280: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal + 301, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 326, // 282: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 326, // 283: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 326, // 284: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 302, // 285: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 326, // 286: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 302, // 287: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 255, // 288: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 313, // 289: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 10, // 290: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource + 3, // 291: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider + 327, // 292: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 327, // 293: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 327, // 294: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 327, // 295: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 327, // 296: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 327, // 297: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 327, // 298: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 327, // 299: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 327, // 300: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 327, // 301: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 328, // 302: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 36, // 303: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 38, // 304: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 203, // 305: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 205, // 306: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 207, // 307: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 209, // 308: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 211, // 309: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 213, // 310: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 215, // 311: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 293, // 312: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 299, // 313: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 295, // 314: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 297, // 315: brent.BrentService.SetPreferredIDE:input_type -> brent.SetPreferredIDERequest + 303, // 316: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 305, // 317: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 311, // 318: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 225, // 319: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 227, // 320: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 229, // 321: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 232, // 322: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 269, // 323: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 271, // 324: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 234, // 325: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 236, // 326: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 240, // 327: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 273, // 328: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 275, // 329: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 278, // 330: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 280, // 331: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 283, // 332: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 285, // 333: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 287, // 334: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 289, // 335: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 243, // 336: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 245, // 337: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 247, // 338: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 249, // 339: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 253, // 340: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 256, // 341: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 258, // 342: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 260, // 343: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 263, // 344: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 265, // 345: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 267, // 346: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 219, // 347: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 221, // 348: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 251, // 349: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 291, // 350: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 25, // 351: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 26, // 352: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 29, // 353: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 30, // 354: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 32, // 355: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 34, // 356: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 52, // 357: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 53, // 358: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 56, // 359: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 81, // 360: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 84, // 361: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 329, // 362: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 89, // 363: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 92, // 364: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 95, // 365: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 98, // 366: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 100, // 367: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 307, // 368: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 308, // 369: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 309, // 370: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 188, // 371: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 191, // 372: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 194, // 373: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 197, // 374: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 198, // 375: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 11, // 376: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 13, // 377: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 15, // 378: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 59, // 379: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 61, // 380: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 64, // 381: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 66, // 382: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 68, // 383: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 70, // 384: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 72, // 385: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 74, // 386: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 76, // 387: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 79, // 388: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 17, // 389: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 37, // 390: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 39, // 391: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 204, // 392: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 206, // 393: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 208, // 394: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 210, // 395: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 212, // 396: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 214, // 397: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 216, // 398: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 294, // 399: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 300, // 400: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 296, // 401: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 298, // 402: brent.BrentService.SetPreferredIDE:output_type -> brent.SetPreferredIDEResponse + 304, // 403: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 306, // 404: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 312, // 405: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 226, // 406: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 228, // 407: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 231, // 408: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 233, // 409: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 270, // 410: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 272, // 411: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 235, // 412: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 237, // 413: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 241, // 414: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 274, // 415: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 277, // 416: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 279, // 417: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 281, // 418: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 284, // 419: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 286, // 420: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 288, // 421: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 290, // 422: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 244, // 423: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 246, // 424: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 248, // 425: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 250, // 426: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 254, // 427: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 257, // 428: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 259, // 429: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 261, // 430: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 264, // 431: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 266, // 432: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 268, // 433: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 220, // 434: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 222, // 435: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 252, // 436: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 292, // 437: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 41, // 438: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 27, // 439: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 41, // 440: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 31, // 441: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 33, // 442: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 35, // 443: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 41, // 444: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 54, // 445: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 57, // 446: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 82, // 447: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 85, // 448: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 88, // 449: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 91, // 450: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 94, // 451: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 97, // 452: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 99, // 453: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 103, // 454: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 304, // 455: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 306, // 456: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 310, // 457: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 189, // 458: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 192, // 459: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 195, // 460: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 201, // 461: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 200, // 462: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 12, // 463: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 14, // 464: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 16, // 465: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 60, // 466: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 62, // 467: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 65, // 468: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 67, // 469: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 69, // 470: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 71, // 471: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 73, // 472: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 75, // 473: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 77, // 474: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 80, // 475: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 20, // 476: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 390, // [390:477] is the sub-list for method output_type + 303, // [303:390] is the sub-list for method input_type + 303, // [303:303] is the sub-list for extension type_name + 302, // [302:303] is the sub-list for extension extendee + 0, // [0:302] is the sub-list for field type_name +} + +func init() { file_brent_proto_init() } +func file_brent_proto_init() { + if File_brent_proto != nil { + return + } + file_brent_proto_msgTypes[14].OneofWrappers = []any{} + file_brent_proto_msgTypes[17].OneofWrappers = []any{} + file_brent_proto_msgTypes[30].OneofWrappers = []any{ + (*ExecuteWorkflowResponse_Reasoning)(nil), + (*ExecuteWorkflowResponse_ToolCall)(nil), + (*ExecuteWorkflowResponse_ToolResult)(nil), + (*ExecuteWorkflowResponse_Completion)(nil), + (*ExecuteWorkflowResponse_Error)(nil), + (*ExecuteWorkflowResponse_Status)(nil), + (*ExecuteWorkflowResponse_RunStarted)(nil), + (*ExecuteWorkflowResponse_QaReady)(nil), + (*ExecuteWorkflowResponse_UserQuestion)(nil), + (*ExecuteWorkflowResponse_UserMessage)(nil), + } + file_brent_proto_msgTypes[57].OneofWrappers = []any{} + file_brent_proto_msgTypes[72].OneofWrappers = []any{} + file_brent_proto_msgTypes[74].OneofWrappers = []any{} + file_brent_proto_msgTypes[75].OneofWrappers = []any{} + file_brent_proto_msgTypes[93].OneofWrappers = []any{ + (*Event_PlanCreated)(nil), + (*Event_PlanUpdated)(nil), + (*Event_PlanDeleted)(nil), + (*Event_ReviewRequested)(nil), + (*Event_ReviewSubmitted)(nil), + (*Event_Other)(nil), + (*Event_GithubWebhook)(nil), + (*Event_SlackMention)(nil), + (*Event_SlackReaction)(nil), + (*Event_PullRequestOpened)(nil), + (*Event_PullRequestSynchronized)(nil), + (*Event_PullRequestUpdated)(nil), + (*Event_PullRequestClosed)(nil), + (*Event_PullRequestLinkedToPlan)(nil), + (*Event_PullRequestUnlinkedFromPlan)(nil), + (*Event_OrganisationAppInstallationUpserted)(nil), + (*Event_OrganisationAppInstallationDeleted)(nil), + (*Event_DeviationAnalysisStarted)(nil), + (*Event_DeviationAnalysisCompleted)(nil), + (*Event_DeviationAnalysisFailed)(nil), + (*Event_WorkflowRunQueued)(nil), + (*Event_WorkflowRunStarted)(nil), + (*Event_WorkflowRunCompleted)(nil), + (*Event_WorkflowRunFailed)(nil), + (*Event_WorkflowRunCancelled)(nil), + (*Event_ReviewNoEligibleReviewer)(nil), + (*Event_PrincipalCreated)(nil), + (*Event_PrincipalUpdated)(nil), + (*Event_PrincipalTombstoned)(nil), + (*Event_IdentityCreated)(nil), + (*Event_IdentityDeleted)(nil), + (*Event_BindingCreated)(nil), + (*Event_BindingUpdated)(nil), + (*Event_BindingDeleted)(nil), + (*Event_ReviewDriveByStarted)(nil), + (*Event_SlackWebhook)(nil), + (*Event_ReviewDeleted)(nil), + (*Event_PlanRestored)(nil), + (*Event_LinearWebhook)(nil), + (*Event_PullRequestCommentCreated)(nil), + (*Event_DeviationFindingRecorded)(nil), + (*Event_DeviationFindingUpdated)(nil), + (*Event_DeviationFindingResolved)(nil), + (*Event_AgentRunDispatched)(nil), + (*Event_AgentRunStarted)(nil), + (*Event_AgentRunPullRequestMatched)(nil), + (*Event_AgentRunFlaggedNeedsYou)(nil), + (*Event_AgentRunMerged)(nil), + (*Event_AgentRunDeclined)(nil), + (*Event_AgentRunCancelled)(nil), + (*Event_AgentRunGatePassed)(nil), + (*Event_PullRequestLinkedToAgentRun)(nil), + (*Event_WorkflowIngested)(nil), + (*Event_PullRequestReviewRequested)(nil), + (*Event_PullRequestApproved)(nil), + (*Event_PullRequestChangesRequested)(nil), + (*Event_PullRequestReviewDismissed)(nil), + (*Event_CredentialConnected)(nil), + (*Event_CredentialRevoked)(nil), + (*Event_AgentRunAnnotated)(nil), + (*Event_WorkspaceCreated)(nil), + (*Event_McpGrantWorkspaceBindingChanged)(nil), + (*Event_WorkspaceOnboardingCompleted)(nil), + (*Event_WorkspaceRenamed)(nil), + (*Event_WorkspaceDeleted)(nil), + (*Event_ApprovedEmailDomainAdded)(nil), + (*Event_ApprovedEmailDomainVerified)(nil), + (*Event_ApprovedEmailDomainDeleted)(nil), + (*Event_GitlabWebhook)(nil), + (*Event_WorkspaceLlmCredentialConnected)(nil), + (*Event_WorkspaceLlmCredentialRevoked)(nil), + (*Event_BitbucketWebhook)(nil), + (*Event_WorkspaceMemberJoined)(nil), + (*Event_WorkspaceMemberLeft)(nil), + (*Event_ComposioTriggerMessage)(nil), + (*Event_DeviationFindingAcknowledged)(nil), + (*Event_DeviationFindingAcknowledgementCleared)(nil), + (*Event_PlanReviewPolicyDecided)(nil), + (*Event_UnknownStoredPayload)(nil), + } + file_brent_proto_msgTypes[160].OneofWrappers = []any{} + file_brent_proto_msgTypes[185].OneofWrappers = []any{} + file_brent_proto_msgTypes[190].OneofWrappers = []any{} + file_brent_proto_msgTypes[191].OneofWrappers = []any{} + file_brent_proto_msgTypes[193].OneofWrappers = []any{} + file_brent_proto_msgTypes[213].OneofWrappers = []any{} + file_brent_proto_msgTypes[227].OneofWrappers = []any{} + file_brent_proto_msgTypes[228].OneofWrappers = []any{} + file_brent_proto_msgTypes[281].OneofWrappers = []any{} + file_brent_proto_msgTypes[294].OneofWrappers = []any{} + file_brent_proto_msgTypes[297].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), + NumEnums: 11, + NumMessages: 315, + NumExtensions: 1, + NumServices: 3, + }, + GoTypes: file_brent_proto_goTypes, + DependencyIndexes: file_brent_proto_depIdxs, + EnumInfos: file_brent_proto_enumTypes, + MessageInfos: file_brent_proto_msgTypes, + ExtensionInfos: file_brent_proto_extTypes, + }.Build() + File_brent_proto = out.File + file_brent_proto_goTypes = nil + file_brent_proto_depIdxs = nil +} diff --git a/go/sdp-go/brent_event_payload.go b/go/sdp-go/brent_event_payload.go new file mode 100644 index 00000000..75f1c593 --- /dev/null +++ b/go/sdp-go/brent_event_payload.go @@ -0,0 +1,8 @@ +package sdp + +// EventPayload is an exported alias for the unexported isEvent_Payload oneof +// interface generated by protoc-gen-go for Event.payload (declared in +// brent.pb.go). It lets external packages declare a parameter of the oneof +// variant type while preserving the compile-time guarantee that only generated +// Event payload wrappers can satisfy it. +type EventPayload = isEvent_Payload diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go new file mode 100644 index 00000000..98b5b7ce --- /dev/null +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -0,0 +1,3343 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: brent.proto + +package sdpconnect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + sdp_go "github.com/overmindtech/cli/go/sdp-go" + emptypb "google.golang.org/protobuf/types/known/emptypb" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // BrentServiceName is the fully-qualified name of the BrentService service. + BrentServiceName = "brent.BrentService" + // BrentPublicServiceName is the fully-qualified name of the BrentPublicService service. + BrentPublicServiceName = "brent.BrentPublicService" + // BrentAdminServiceName is the fully-qualified name of the BrentAdminService service. + BrentAdminServiceName = "brent.BrentAdminService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // BrentServiceListOpenPullRequestsProcedure is the fully-qualified name of the BrentService's + // ListOpenPullRequests RPC. + BrentServiceListOpenPullRequestsProcedure = "/brent.BrentService/ListOpenPullRequests" + // BrentServiceGetPullRequestProcedure is the fully-qualified name of the BrentService's + // GetPullRequest RPC. + BrentServiceGetPullRequestProcedure = "/brent.BrentService/GetPullRequest" + // BrentServiceGetPrincipalStatusProcedure is the fully-qualified name of the BrentService's + // GetPrincipalStatus RPC. + BrentServiceGetPrincipalStatusProcedure = "/brent.BrentService/GetPrincipalStatus" + // BrentServiceGetIntegrationConnectURLProcedure is the fully-qualified name of the BrentService's + // GetIntegrationConnectURL RPC. + BrentServiceGetIntegrationConnectURLProcedure = "/brent.BrentService/GetIntegrationConnectURL" + // BrentServiceDisconnectIntegrationProcedure is the fully-qualified name of the BrentService's + // DisconnectIntegration RPC. + BrentServiceDisconnectIntegrationProcedure = "/brent.BrentService/DisconnectIntegration" + // BrentServiceConnectByoHttpMcpProcedure is the fully-qualified name of the BrentService's + // ConnectByoHttpMcp RPC. + BrentServiceConnectByoHttpMcpProcedure = "/brent.BrentService/ConnectByoHttpMcp" + // BrentServiceGetGitLabConnectionProcedure is the fully-qualified name of the BrentService's + // GetGitLabConnection RPC. + BrentServiceGetGitLabConnectionProcedure = "/brent.BrentService/GetGitLabConnection" + // BrentServiceConnectGitLabProcedure is the fully-qualified name of the BrentService's + // ConnectGitLab RPC. + BrentServiceConnectGitLabProcedure = "/brent.BrentService/ConnectGitLab" + // BrentServiceSaveGitLabSigningTokenProcedure is the fully-qualified name of the BrentService's + // SaveGitLabSigningToken RPC. + BrentServiceSaveGitLabSigningTokenProcedure = "/brent.BrentService/SaveGitLabSigningToken" + // BrentServiceUpsertMyVerifiedBindingProcedure is the fully-qualified name of the BrentService's + // UpsertMyVerifiedBinding RPC. + BrentServiceUpsertMyVerifiedBindingProcedure = "/brent.BrentService/UpsertMyVerifiedBinding" + // BrentServiceListMyBindingsProcedure is the fully-qualified name of the BrentService's + // ListMyBindings RPC. + BrentServiceListMyBindingsProcedure = "/brent.BrentService/ListMyBindings" + // BrentServiceUpdateMyDisplayNameProcedure is the fully-qualified name of the BrentService's + // UpdateMyDisplayName RPC. + BrentServiceUpdateMyDisplayNameProcedure = "/brent.BrentService/UpdateMyDisplayName" + // BrentServiceSetPreferredIDEProcedure is the fully-qualified name of the BrentService's + // SetPreferredIDE RPC. + BrentServiceSetPreferredIDEProcedure = "/brent.BrentService/SetPreferredIDE" + // BrentServiceGetBrentSettingsProcedure is the fully-qualified name of the BrentService's + // GetBrentSettings RPC. + BrentServiceGetBrentSettingsProcedure = "/brent.BrentService/GetBrentSettings" + // BrentServiceUpdateBrentSettingsProcedure is the fully-qualified name of the BrentService's + // UpdateBrentSettings RPC. + BrentServiceUpdateBrentSettingsProcedure = "/brent.BrentService/UpdateBrentSettings" + // BrentServiceListIntegrationCatalogueProcedure is the fully-qualified name of the BrentService's + // ListIntegrationCatalogue RPC. + BrentServiceListIntegrationCatalogueProcedure = "/brent.BrentService/ListIntegrationCatalogue" + // BrentServiceCreateWorkspaceProcedure is the fully-qualified name of the BrentService's + // CreateWorkspace RPC. + BrentServiceCreateWorkspaceProcedure = "/brent.BrentService/CreateWorkspace" + // BrentServiceListMyWorkspacesProcedure is the fully-qualified name of the BrentService's + // ListMyWorkspaces RPC. + BrentServiceListMyWorkspacesProcedure = "/brent.BrentService/ListMyWorkspaces" + // BrentServiceDiscoverLoginRecoveryCandidatesProcedure is the fully-qualified name of the + // BrentService's DiscoverLoginRecoveryCandidates RPC. + BrentServiceDiscoverLoginRecoveryCandidatesProcedure = "/brent.BrentService/DiscoverLoginRecoveryCandidates" + // BrentServiceRenameWorkspaceProcedure is the fully-qualified name of the BrentService's + // RenameWorkspace RPC. + BrentServiceRenameWorkspaceProcedure = "/brent.BrentService/RenameWorkspace" + // BrentServiceUpdateWorkspaceBrandingProcedure is the fully-qualified name of the BrentService's + // UpdateWorkspaceBranding RPC. + BrentServiceUpdateWorkspaceBrandingProcedure = "/brent.BrentService/UpdateWorkspaceBranding" + // BrentServiceCompleteWorkspaceOnboardingProcedure is the fully-qualified name of the + // BrentService's CompleteWorkspaceOnboarding RPC. + BrentServiceCompleteWorkspaceOnboardingProcedure = "/brent.BrentService/CompleteWorkspaceOnboarding" + // BrentServiceDeleteWorkspaceProcedure is the fully-qualified name of the BrentService's + // DeleteWorkspace RPC. + BrentServiceDeleteWorkspaceProcedure = "/brent.BrentService/DeleteWorkspace" + // BrentServiceListJoinableWorkspacesProcedure is the fully-qualified name of the BrentService's + // ListJoinableWorkspaces RPC. + BrentServiceListJoinableWorkspacesProcedure = "/brent.BrentService/ListJoinableWorkspaces" + // BrentServiceJoinWorkspaceProcedure is the fully-qualified name of the BrentService's + // JoinWorkspace RPC. + BrentServiceJoinWorkspaceProcedure = "/brent.BrentService/JoinWorkspace" + // BrentServiceCreateInvitationProcedure is the fully-qualified name of the BrentService's + // CreateInvitation RPC. + BrentServiceCreateInvitationProcedure = "/brent.BrentService/CreateInvitation" + // BrentServiceCreateInvitationsProcedure is the fully-qualified name of the BrentService's + // CreateInvitations RPC. + BrentServiceCreateInvitationsProcedure = "/brent.BrentService/CreateInvitations" + // BrentServiceAcceptInvitationProcedure is the fully-qualified name of the BrentService's + // AcceptInvitation RPC. + BrentServiceAcceptInvitationProcedure = "/brent.BrentService/AcceptInvitation" + // BrentServiceListWorkspaceMembersProcedure is the fully-qualified name of the BrentService's + // ListWorkspaceMembers RPC. + BrentServiceListWorkspaceMembersProcedure = "/brent.BrentService/ListWorkspaceMembers" + // BrentServiceResendInvitationProcedure is the fully-qualified name of the BrentService's + // ResendInvitation RPC. + BrentServiceResendInvitationProcedure = "/brent.BrentService/ResendInvitation" + // BrentServiceRevokeInvitationProcedure is the fully-qualified name of the BrentService's + // RevokeInvitation RPC. + BrentServiceRevokeInvitationProcedure = "/brent.BrentService/RevokeInvitation" + // BrentServiceRemoveWorkspaceMemberProcedure is the fully-qualified name of the BrentService's + // RemoveWorkspaceMember RPC. + BrentServiceRemoveWorkspaceMemberProcedure = "/brent.BrentService/RemoveWorkspaceMember" + // BrentServiceUpdateWorkspaceMemberRoleProcedure is the fully-qualified name of the BrentService's + // UpdateWorkspaceMemberRole RPC. + BrentServiceUpdateWorkspaceMemberRoleProcedure = "/brent.BrentService/UpdateWorkspaceMemberRole" + // BrentServiceListApprovedEmailDomainsProcedure is the fully-qualified name of the BrentService's + // ListApprovedEmailDomains RPC. + BrentServiceListApprovedEmailDomainsProcedure = "/brent.BrentService/ListApprovedEmailDomains" + // BrentServiceAddApprovedEmailDomainProcedure is the fully-qualified name of the BrentService's + // AddApprovedEmailDomain RPC. + BrentServiceAddApprovedEmailDomainProcedure = "/brent.BrentService/AddApprovedEmailDomain" + // BrentServiceVerifyApprovedEmailDomainProcedure is the fully-qualified name of the BrentService's + // VerifyApprovedEmailDomain RPC. + BrentServiceVerifyApprovedEmailDomainProcedure = "/brent.BrentService/VerifyApprovedEmailDomain" + // BrentServiceResendApprovedEmailDomainCodeProcedure is the fully-qualified name of the + // BrentService's ResendApprovedEmailDomainCode RPC. + BrentServiceResendApprovedEmailDomainCodeProcedure = "/brent.BrentService/ResendApprovedEmailDomainCode" + // BrentServiceDeleteApprovedEmailDomainProcedure is the fully-qualified name of the BrentService's + // DeleteApprovedEmailDomain RPC. + BrentServiceDeleteApprovedEmailDomainProcedure = "/brent.BrentService/DeleteApprovedEmailDomain" + // BrentServiceGetWorkspaceLLMCredentialStatusProcedure is the fully-qualified name of the + // BrentService's GetWorkspaceLLMCredentialStatus RPC. + BrentServiceGetWorkspaceLLMCredentialStatusProcedure = "/brent.BrentService/GetWorkspaceLLMCredentialStatus" + // BrentServiceSetWorkspaceLLMCredentialProcedure is the fully-qualified name of the BrentService's + // SetWorkspaceLLMCredential RPC. + BrentServiceSetWorkspaceLLMCredentialProcedure = "/brent.BrentService/SetWorkspaceLLMCredential" + // BrentServiceDeleteWorkspaceLLMCredentialProcedure is the fully-qualified name of the + // BrentService's DeleteWorkspaceLLMCredential RPC. + BrentServiceDeleteWorkspaceLLMCredentialProcedure = "/brent.BrentService/DeleteWorkspaceLLMCredential" + // BrentServiceGetMyCursorCredentialStatusProcedure is the fully-qualified name of the + // BrentService's GetMyCursorCredentialStatus RPC. + BrentServiceGetMyCursorCredentialStatusProcedure = "/brent.BrentService/GetMyCursorCredentialStatus" + // BrentServiceSetMyCursorCredentialProcedure is the fully-qualified name of the BrentService's + // SetMyCursorCredential RPC. + BrentServiceSetMyCursorCredentialProcedure = "/brent.BrentService/SetMyCursorCredential" + // BrentServiceDeleteMyCursorCredentialProcedure is the fully-qualified name of the BrentService's + // DeleteMyCursorCredential RPC. + BrentServiceDeleteMyCursorCredentialProcedure = "/brent.BrentService/DeleteMyCursorCredential" + // BrentServiceGetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the + // BrentService's GetWorkspaceIntegrationRoles RPC. + BrentServiceGetWorkspaceIntegrationRolesProcedure = "/brent.BrentService/GetWorkspaceIntegrationRoles" + // BrentServiceSetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the + // BrentService's SetWorkspaceIntegrationRoles RPC. + BrentServiceSetWorkspaceIntegrationRolesProcedure = "/brent.BrentService/SetWorkspaceIntegrationRoles" + // BrentServiceResendVerificationEmailProcedure is the fully-qualified name of the BrentService's + // ResendVerificationEmail RPC. + BrentServiceResendVerificationEmailProcedure = "/brent.BrentService/ResendVerificationEmail" + // BrentPublicServiceGetInvitationProcedure is the fully-qualified name of the BrentPublicService's + // GetInvitation RPC. + BrentPublicServiceGetInvitationProcedure = "/brent.BrentPublicService/GetInvitation" + // BrentAdminServiceExecuteWorkflowProcedure is the fully-qualified name of the BrentAdminService's + // ExecuteWorkflow RPC. + BrentAdminServiceExecuteWorkflowProcedure = "/brent.BrentAdminService/ExecuteWorkflow" + // BrentAdminServiceListRunsProcedure is the fully-qualified name of the BrentAdminService's + // ListRuns RPC. + BrentAdminServiceListRunsProcedure = "/brent.BrentAdminService/ListRuns" + // BrentAdminServiceWatchRunProcedure is the fully-qualified name of the BrentAdminService's + // WatchRun RPC. + BrentAdminServiceWatchRunProcedure = "/brent.BrentAdminService/WatchRun" + // BrentAdminServiceStreamEventsProcedure is the fully-qualified name of the BrentAdminService's + // StreamEvents RPC. + BrentAdminServiceStreamEventsProcedure = "/brent.BrentAdminService/StreamEvents" + // BrentAdminServiceListEventsProcedure is the fully-qualified name of the BrentAdminService's + // ListEvents RPC. + BrentAdminServiceListEventsProcedure = "/brent.BrentAdminService/ListEvents" + // BrentAdminServiceCancelRunProcedure is the fully-qualified name of the BrentAdminService's + // CancelRun RPC. + BrentAdminServiceCancelRunProcedure = "/brent.BrentAdminService/CancelRun" + // BrentAdminServiceSendQuestionProcedure is the fully-qualified name of the BrentAdminService's + // SendQuestion RPC. + BrentAdminServiceSendQuestionProcedure = "/brent.BrentAdminService/SendQuestion" + // BrentAdminServiceListPlansProcedure is the fully-qualified name of the BrentAdminService's + // ListPlans RPC. + BrentAdminServiceListPlansProcedure = "/brent.BrentAdminService/ListPlans" + // BrentAdminServiceGetPlanProcedure is the fully-qualified name of the BrentAdminService's GetPlan + // RPC. + BrentAdminServiceGetPlanProcedure = "/brent.BrentAdminService/GetPlan" + // BrentAdminServiceListReviewsProcedure is the fully-qualified name of the BrentAdminService's + // ListReviews RPC. + BrentAdminServiceListReviewsProcedure = "/brent.BrentAdminService/ListReviews" + // BrentAdminServiceGetReviewProcedure is the fully-qualified name of the BrentAdminService's + // GetReview RPC. + BrentAdminServiceGetReviewProcedure = "/brent.BrentAdminService/GetReview" + // BrentAdminServiceListAccountsProcedure is the fully-qualified name of the BrentAdminService's + // ListAccounts RPC. + BrentAdminServiceListAccountsProcedure = "/brent.BrentAdminService/ListAccounts" + // BrentAdminServiceGetAccountSummaryProcedure is the fully-qualified name of the + // BrentAdminService's GetAccountSummary RPC. + BrentAdminServiceGetAccountSummaryProcedure = "/brent.BrentAdminService/GetAccountSummary" + // BrentAdminServiceGetAccountHealthAnalysisProcedure is the fully-qualified name of the + // BrentAdminService's GetAccountHealthAnalysis RPC. + BrentAdminServiceGetAccountHealthAnalysisProcedure = "/brent.BrentAdminService/GetAccountHealthAnalysis" + // BrentAdminServiceListAccountMetricReposProcedure is the fully-qualified name of the + // BrentAdminService's ListAccountMetricRepos RPC. + BrentAdminServiceListAccountMetricReposProcedure = "/brent.BrentAdminService/ListAccountMetricRepos" + // BrentAdminServiceStartAccountMetricsComparisonProcedure is the fully-qualified name of the + // BrentAdminService's StartAccountMetricsComparison RPC. + BrentAdminServiceStartAccountMetricsComparisonProcedure = "/brent.BrentAdminService/StartAccountMetricsComparison" + // BrentAdminServiceGetAccountMetricsComparisonRunProcedure is the fully-qualified name of the + // BrentAdminService's GetAccountMetricsComparisonRun RPC. + BrentAdminServiceGetAccountMetricsComparisonRunProcedure = "/brent.BrentAdminService/GetAccountMetricsComparisonRun" + // BrentAdminServiceGetAccountBrentSettingsProcedure is the fully-qualified name of the + // BrentAdminService's GetAccountBrentSettings RPC. + BrentAdminServiceGetAccountBrentSettingsProcedure = "/brent.BrentAdminService/GetAccountBrentSettings" + // BrentAdminServiceUpdateAccountBrentSettingsProcedure is the fully-qualified name of the + // BrentAdminService's UpdateAccountBrentSettings RPC. + BrentAdminServiceUpdateAccountBrentSettingsProcedure = "/brent.BrentAdminService/UpdateAccountBrentSettings" + // BrentAdminServiceGetAccountLLMCredentialStatusProcedure is the fully-qualified name of the + // BrentAdminService's GetAccountLLMCredentialStatus RPC. + BrentAdminServiceGetAccountLLMCredentialStatusProcedure = "/brent.BrentAdminService/GetAccountLLMCredentialStatus" + // BrentAdminServiceListWorkflowsProcedure is the fully-qualified name of the BrentAdminService's + // ListWorkflows RPC. + BrentAdminServiceListWorkflowsProcedure = "/brent.BrentAdminService/ListWorkflows" + // BrentAdminServiceGetWorkflowProcedure is the fully-qualified name of the BrentAdminService's + // GetWorkflow RPC. + BrentAdminServiceGetWorkflowProcedure = "/brent.BrentAdminService/GetWorkflow" + // BrentAdminServiceListWorkflowRunsProcedure is the fully-qualified name of the BrentAdminService's + // ListWorkflowRuns RPC. + BrentAdminServiceListWorkflowRunsProcedure = "/brent.BrentAdminService/ListWorkflowRuns" + // BrentAdminServiceGetWorkflowRunProcedure is the fully-qualified name of the BrentAdminService's + // GetWorkflowRun RPC. + BrentAdminServiceGetWorkflowRunProcedure = "/brent.BrentAdminService/GetWorkflowRun" + // BrentAdminServiceGetWorkflowRunThreadHistoryProcedure is the fully-qualified name of the + // BrentAdminService's GetWorkflowRunThreadHistory RPC. + BrentAdminServiceGetWorkflowRunThreadHistoryProcedure = "/brent.BrentAdminService/GetWorkflowRunThreadHistory" + // BrentAdminServiceListPullRequestsProcedure is the fully-qualified name of the BrentAdminService's + // ListPullRequests RPC. + BrentAdminServiceListPullRequestsProcedure = "/brent.BrentAdminService/ListPullRequests" + // BrentAdminServiceGetPullRequestByIDProcedure is the fully-qualified name of the + // BrentAdminService's GetPullRequestByID RPC. + BrentAdminServiceGetPullRequestByIDProcedure = "/brent.BrentAdminService/GetPullRequestByID" + // BrentAdminServiceListDeviationAnalysesForPRProcedure is the fully-qualified name of the + // BrentAdminService's ListDeviationAnalysesForPR RPC. + BrentAdminServiceListDeviationAnalysesForPRProcedure = "/brent.BrentAdminService/ListDeviationAnalysesForPR" + // BrentAdminServiceListPrincipalsProcedure is the fully-qualified name of the BrentAdminService's + // ListPrincipals RPC. + BrentAdminServiceListPrincipalsProcedure = "/brent.BrentAdminService/ListPrincipals" + // BrentAdminServiceGetPrincipalProcedure is the fully-qualified name of the BrentAdminService's + // GetPrincipal RPC. + BrentAdminServiceGetPrincipalProcedure = "/brent.BrentAdminService/GetPrincipal" + // BrentAdminServiceUpsertPrincipalBindingProcedure is the fully-qualified name of the + // BrentAdminService's UpsertPrincipalBinding RPC. + BrentAdminServiceUpsertPrincipalBindingProcedure = "/brent.BrentAdminService/UpsertPrincipalBinding" + // BrentAdminServiceDeletePrincipalBindingProcedure is the fully-qualified name of the + // BrentAdminService's DeletePrincipalBinding RPC. + BrentAdminServiceDeletePrincipalBindingProcedure = "/brent.BrentAdminService/DeletePrincipalBinding" + // BrentAdminServiceUpdatePrincipalProcedure is the fully-qualified name of the BrentAdminService's + // UpdatePrincipal RPC. + BrentAdminServiceUpdatePrincipalProcedure = "/brent.BrentAdminService/UpdatePrincipal" + // BrentAdminServiceCreatePrincipalIdentityProcedure is the fully-qualified name of the + // BrentAdminService's CreatePrincipalIdentity RPC. + BrentAdminServiceCreatePrincipalIdentityProcedure = "/brent.BrentAdminService/CreatePrincipalIdentity" + // BrentAdminServiceDeletePrincipalIdentityProcedure is the fully-qualified name of the + // BrentAdminService's DeletePrincipalIdentity RPC. + BrentAdminServiceDeletePrincipalIdentityProcedure = "/brent.BrentAdminService/DeletePrincipalIdentity" + // BrentAdminServiceSetPrincipalCredentialProcedure is the fully-qualified name of the + // BrentAdminService's SetPrincipalCredential RPC. + BrentAdminServiceSetPrincipalCredentialProcedure = "/brent.BrentAdminService/SetPrincipalCredential" + // BrentAdminServiceListPrincipalCredentialConnectionsProcedure is the fully-qualified name of the + // BrentAdminService's ListPrincipalCredentialConnections RPC. + BrentAdminServiceListPrincipalCredentialConnectionsProcedure = "/brent.BrentAdminService/ListPrincipalCredentialConnections" + // BrentAdminServiceDeletePrincipalCredentialProcedure is the fully-qualified name of the + // BrentAdminService's DeletePrincipalCredential RPC. + BrentAdminServiceDeletePrincipalCredentialProcedure = "/brent.BrentAdminService/DeletePrincipalCredential" + // BrentAdminServiceGetPullRequestTimelineProcedure is the fully-qualified name of the + // BrentAdminService's GetPullRequestTimeline RPC. + BrentAdminServiceGetPullRequestTimelineProcedure = "/brent.BrentAdminService/GetPullRequestTimeline" +) + +// BrentServiceClient is a client for the brent.BrentService service. +type BrentServiceClient interface { + // Lists open pull requests for the caller's account from the pull_requests + // table (every repo Brent has webhooks for), sorted by updated_at DESC. + // Gated on brent:read. + ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) + // Fetches a single pull request by repository + number for the caller's + // account. Returns NotFound when the row is absent or owned by another tenant. + // Gated on brent:read. + GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) + // Returns the calling principal's provisioning state for their tenant. + // Read-only; never mutates principals or identities. The SPA calls this on + // every load and routes unprovisioned principals into the onboarding + // wizard. Gated on brent:read. + // + // The tenant (`account_name`) is resolved server-side from the JWT custom + // claim `https://api.overmind.tech/account-name` -- never from the request + // body. The wire carries no organization identifier today; this is the seam + // the future Organizations work will evolve when a principal needs to + // belong to multiple orgs. + GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) + // Returns a provider-specific OAuth redirect URL for the connections setup + // page. Sets an HMAC-signed state cookie on the HTTP response; the browser + // sends it back on the callback redirect. Gated on brent:read. + // Supports INSTALL (org/workspace connect) and LINK (personal handle bind). + GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) + // Removes an integration for the caller's tenant: deletes the org install row + // and encrypted tokens (where applicable), tombstones the caller's verified + // binding for first-party providers, and best-effort revokes at the provider + // where supported (Linear, Slack, GitHub, Composio). Gated on brent:write. + DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) + // Validates and connects a customer-supplied HTTP MCP endpoint: runs a smoke + // tools/list reachability + protocol check through the guardrailed transport, + // and on success stores the install + endpoint/CA config + encrypted bearer. + // Gated on brent:write. + ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) + // Returns whether the caller's workspace has a GitLab install and, when + // connected, the persisted base URL and install timestamp. Does not return + // webhook credentials (shown once at connect). Gated on brent:read. + GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) + // Validates a GitLab access token against the customer's instance, persists + // the install, and returns one-time webhook URL + secret for GitLab setup. + // Gated on brent:write. + ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) + // Stores the GitLab webhook signing token (whsec_...) the customer generated + // in GitLab, enabling HMAC-SHA256 (Standard Webhooks) verification of inbound + // deliveries in addition to the plain-text webhook secret. Optional, run + // after ConnectGitLab and after the customer creates the webhook in GitLab. + // Gated on brent:write. + SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) + // Idempotently upserts a `principal_bindings` row of `state='verified'` for + // the calling principal. The handle and canonical subject are refreshed on + // re-call for the same (principal, provider) tuple. Gated on brent:write. + // + // The principal_id is resolved server-side from the JWT; callers do not + // need to know their own UUID. + UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) + // Lists all bindings for the calling principal. Tenant-scoped and + // principal-scoped. Gated on brent:read. + ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) + // Sets the calling principal's display_name and marks it user-set so + // provisioning no longer re-syncs it from the identity provider. The + // principal is resolved server-side from the JWT. Gated on brent:write. + UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) + // Sets the calling user's preferred IDE for MCP install UI. Stored on the + // global principal_identities row so the preference applies across all + // workspaces. Gated on brent:write. + SetPreferredIDE(context.Context, *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) + // Returns Brent tenant settings for the given account. Customer callers + // use their JWT account; brent-area51 operators may pass any account_name + // when holding admin:write. + GetBrentSettings(context.Context, *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) + // PATCH semantics for Brent tenant settings. Only set fields are written; + // audit columns are server-stamped. + UpdateBrentSettings(context.Context, *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + // Returns the account-scoped integration marketplace catalogue: Composio cache + // rows plus synthesised first-party and BYO entries with per-account connection + // state. Gated on brent:read. + ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) + // Creates a new workspace from a display name and provisions the caller as + // its first admin (plus the system agent) atomically. The workspace_id (uuid) + // is server-minted; the slug is derived ASCII-only from display_name and + // collisions are rejected with AlreadyExists. Identity-scoped: acts on the + // signed-in Auth0 subject, carries no workspace header. Gated on brent:write. + CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) + // Lists every workspace the calling identity is an active member of, with the + // caller's per-workspace role. Identity-scoped (cross-workspace by nature; the + // security boundary is the caller's own identity). Gated on brent:read. + ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) + // Discovers privacy-limited login-recovery candidates for a zero-membership + // caller whose verified email matches other Auth0 social identities that hold + // active Brent workspaces. Identity-scoped: the subject and email come from + // the authenticated /userinfo path, never from the request. Empty request so + // callers cannot enumerate arbitrary emails or subjects. Fail-closed: missing + // Management credentials, Auth0 errors, or Brent lookup failures yield an + // empty candidate list rather than blocking workspace creation. Gated on + // brent:read. + DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) + // Renames the workspace named by the Brent-Workspace-Id header: edits + // display_name and re-derives the URL slug from it using the same rules as + // CreateWorkspace. Workspace-scoped and admin-only: the caller must be an + // active admin of the header workspace. A slug that collides with another + // workspace is rejected with AlreadyExists; a new name that slugifies to empty + // (non-Latin/emoji) keeps the current slug rather than regressing to a + // ws- placeholder. The superseded slug is recorded so a bookmarked + // /w/{oldSlug} can resolve to the renamed workspace. Gated on brent:write. + RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) + // Sets (or clears) the theme colour of the workspace named by the + // Brent-Workspace-Id header. The colour is a strict "#rrggbb" hex string; an + // empty value clears it to NULL. Workspace-scoped and admin-only: the caller + // must be an active admin of the header workspace (checked in the handler; + // the workspace interceptor only observes). The logo, which carries image + // bytes, is set through a separate authed multipart upload route, not this + // RPC. Gated on brent:write. + UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) + // Marks the given workspace's onboarding as complete, flipping + // onboarding_completed to true. Identity-scoped: acts on the signed-in Auth0 + // subject against an explicit workspace_id. The server only succeeds for an + // active admin member of that workspace (non-admins and non-members are + // rejected with PermissionDenied). Gated on brent:write. + CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) + // Soft-deletes a workspace the caller actively administers. Identity-scoped: + // acts on the signed-in subject against an explicit workspace_id, verified + // server-side as an active admin. Gated on brent:write. + DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) + // Lists every workspace the calling identity can join right now: verified + // approved email-domain match and/or a pending non-expired invitation for the + // caller's verified email, excluding workspaces where the caller is already an + // active member (BRENT-698). Dual-eligible workspaces appear once with + // JOIN_SOURCE_INVITE. Identity-scoped (the security boundary is the caller's + // own verified email); never returns a workspace the caller cannot join. + // Gated on brent:read. + ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) + // Joins the calling identity to a workspace it is eligible for. The server + // requires a verified email and re-checks eligibility on workspace_id. When a + // pending invitation holds that verified email, Join accepts the invite + // atomically (invited role preserved) — including invite-only, with no domain + // match required (BRENT-698 / BRENT-695). Otherwise it provisions an active + // member via domain join when the caller is domain-eligible. A call with + // neither a claimable invite nor a domain match is rejected. Identity-scoped. + // Gated on brent:write. + JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) + // Creates a single-use per-email workspace invitation. The caller must be an + // active member of workspace_id. Members may invite members; admins may invite + // either role. Gated on brent:write. + CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) + // Creates one single-use invitation per email in a single call, all with the + // same role, returning one result per email so a partial failure (e.g. one + // duplicate among several) never aborts the rest. The caller must be an active + // member of workspace_id. Members may invite members; admins may invite either + // role. Gated on brent:write. + CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) + // Claims a single-use workspace invitation for the signed-in identity. The + // token carries the workspace and is sent in the request body only. Gated on + // brent:write. + AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) + // Lists active members and pending email invitations for a workspace. The + // caller must be an active member of workspace_id. Gated on brent:read. + ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) + // Rotates the token and resets the expiry on a pending invitation, then + // re-enqueues the invite email. Keyed on the invited shadow principal_id. The + // caller must be an active admin of workspace_id. Gated on brent:write. + ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) + // Revokes a pending invitation and tombstones its shadow principal, releasing + // the email convergence key. Keyed on the invited shadow principal_id. The + // caller must be an active admin of workspace_id. Gated on brent:write. + RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) + // Removes an active member from a workspace by tombstoning their principal and + // verified bindings. Refused when it would remove the last active admin. The + // caller must be an active admin of workspace_id. Gated on brent:write. + RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) + // Promotes or demotes a workspace member between admin and member. When the + // member is a pending invite, the backing invitation role is updated too. + // Refused when a demotion would leave zero active admins. The caller must be + // an active admin of workspace_id. Gated on brent:write. + UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) + // Lists the approved email domains of the workspace named by the + // Brent-Workspace-Id header, verified and unverified. The caller must be an + // active member of the header workspace. Gated on brent:read. + ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) + // Adds an approved email domain to the header workspace and emails a + // verification code to the supplied address (which must be at that domain). + // The domain starts unverified. Public providers and malformed input are + // rejected; a duplicate domain returns AlreadyExists. Workspace-scoped and + // admin-only. Gated on brent:write. + AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) + // Verifies an approved email domain by its emailed code, flipping it to + // verified on success. Wrong/expired codes are rejected; the attempt cap and a + // generic mismatch error guard against guessing. Workspace-scoped and + // admin-only. Gated on brent:write. + VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) + // Rotates and re-sends the verification code for an unverified approved email + // domain, invalidating the previous code. Briefly rate-limited per domain. + // Workspace-scoped and admin-only. Gated on brent:write. + ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) + // Deletes an approved email domain (verified or not) from the header + // workspace. Workspace-scoped and admin-only. Gated on brent:write. + DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) + // Returns display metadata (connected flag, last-4 chars, timestamps) for the + // workspace's stored LLM provider key. Never returns the secret itself. The + // caller must be an active member of the header workspace. Gated on brent:read. + GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) + // Sets (or replaces) the workspace's LLM provider key. The secret is validated + // against the provider API before storage; an auth failure rejects the call, + // while a transient probe error stores the key with a warning and a null + // last_validated_at timestamp. Workspace-scoped and admin-only. Gated on + // brent:write. + SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) + // Deletes the workspace's LLM provider key. Idempotent: deleting a missing key + // succeeds. Workspace-scoped and admin-only. Gated on brent:write. + DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) + // Returns metadata for the calling principal's personal Cursor API key in + // the header workspace. Never returns the secret or Cursor account email. + // Workspace-scoped; gated on brent:read. + GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) + // Validates and stores the calling principal's personal Cursor user API key. + // Service-account keys and keys bound to another principal are rejected. + // Workspace-scoped; gated on brent:write. + SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) + // Deletes the calling principal's personal Cursor key and tombstones its + // verified Cursor binding. Idempotent and workspace-scoped; gated on brent:write. + DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) + // Returns the workspace's configured integration roles (git, ticketing, + // messaging providers) and the Manage URL for the connected git provider. + // Workspace-scoped; the caller must be an active member. Gated on brent:read. + GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) + // Sets the workspace's integration roles. Validates that providers are + // eligible for their roles via the app-level registry. When git_provider + // changes away from a connected provider, disconnects the previous git + // install. Workspace-scoped and admin-only. Gated on brent:write. + SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) + // Re-sends the account verification email to the signed-in caller by minting + // an Auth0 email-verification ticket and delivering it via Resend. Powers the + // "Verify your email" interstitial. The caller is resolved from the JWT. + // + // Idempotent by design: when the caller's email is already verified the call + // succeeds without sending anything, so the SPA can call it unconditionally. + // Repeat sends to the same recipient are rate-limited at the queue layer. + // When the Auth0 Management API is not configured (dev/local) the RPC returns + // Unavailable rather than failing boot. Gated on brent:write. + ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) +} + +// NewBrentServiceClient constructs a client for the brent.BrentService service. By default, it uses +// the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends +// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or +// connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewBrentServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BrentServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + brentServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentService").Methods() + return &brentServiceClient{ + listOpenPullRequests: connect.NewClient[sdp_go.ListOpenPullRequestsRequest, sdp_go.ListOpenPullRequestsResponse]( + httpClient, + baseURL+BrentServiceListOpenPullRequestsProcedure, + connect.WithSchema(brentServiceMethods.ByName("ListOpenPullRequests")), + connect.WithClientOptions(opts...), + ), + getPullRequest: connect.NewClient[sdp_go.GetPullRequestRequest, sdp_go.GetPullRequestResponse]( + httpClient, + baseURL+BrentServiceGetPullRequestProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetPullRequest")), + connect.WithClientOptions(opts...), + ), + getPrincipalStatus: connect.NewClient[sdp_go.GetPrincipalStatusRequest, sdp_go.GetPrincipalStatusResponse]( + httpClient, + baseURL+BrentServiceGetPrincipalStatusProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetPrincipalStatus")), + connect.WithClientOptions(opts...), + ), + getIntegrationConnectURL: connect.NewClient[sdp_go.GetIntegrationConnectURLRequest, sdp_go.GetIntegrationConnectURLResponse]( + httpClient, + baseURL+BrentServiceGetIntegrationConnectURLProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetIntegrationConnectURL")), + connect.WithClientOptions(opts...), + ), + disconnectIntegration: connect.NewClient[sdp_go.DisconnectIntegrationRequest, sdp_go.DisconnectIntegrationResponse]( + httpClient, + baseURL+BrentServiceDisconnectIntegrationProcedure, + connect.WithSchema(brentServiceMethods.ByName("DisconnectIntegration")), + connect.WithClientOptions(opts...), + ), + connectByoHttpMcp: connect.NewClient[sdp_go.ConnectByoHttpMcpRequest, sdp_go.ConnectByoHttpMcpResponse]( + httpClient, + baseURL+BrentServiceConnectByoHttpMcpProcedure, + connect.WithSchema(brentServiceMethods.ByName("ConnectByoHttpMcp")), + connect.WithClientOptions(opts...), + ), + getGitLabConnection: connect.NewClient[sdp_go.GetGitLabConnectionRequest, sdp_go.GetGitLabConnectionResponse]( + httpClient, + baseURL+BrentServiceGetGitLabConnectionProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetGitLabConnection")), + connect.WithClientOptions(opts...), + ), + connectGitLab: connect.NewClient[sdp_go.ConnectGitLabRequest, sdp_go.ConnectGitLabResponse]( + httpClient, + baseURL+BrentServiceConnectGitLabProcedure, + connect.WithSchema(brentServiceMethods.ByName("ConnectGitLab")), + connect.WithClientOptions(opts...), + ), + saveGitLabSigningToken: connect.NewClient[sdp_go.SaveGitLabSigningTokenRequest, sdp_go.SaveGitLabSigningTokenResponse]( + httpClient, + baseURL+BrentServiceSaveGitLabSigningTokenProcedure, + connect.WithSchema(brentServiceMethods.ByName("SaveGitLabSigningToken")), + connect.WithClientOptions(opts...), + ), + upsertMyVerifiedBinding: connect.NewClient[sdp_go.UpsertMyVerifiedBindingRequest, sdp_go.UpsertMyVerifiedBindingResponse]( + httpClient, + baseURL+BrentServiceUpsertMyVerifiedBindingProcedure, + connect.WithSchema(brentServiceMethods.ByName("UpsertMyVerifiedBinding")), + connect.WithClientOptions(opts...), + ), + listMyBindings: connect.NewClient[sdp_go.ListMyBindingsRequest, sdp_go.ListMyBindingsResponse]( + httpClient, + baseURL+BrentServiceListMyBindingsProcedure, + connect.WithSchema(brentServiceMethods.ByName("ListMyBindings")), + connect.WithClientOptions(opts...), + ), + updateMyDisplayName: connect.NewClient[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse]( + httpClient, + baseURL+BrentServiceUpdateMyDisplayNameProcedure, + connect.WithSchema(brentServiceMethods.ByName("UpdateMyDisplayName")), + connect.WithClientOptions(opts...), + ), + setPreferredIDE: connect.NewClient[sdp_go.SetPreferredIDERequest, sdp_go.SetPreferredIDEResponse]( + httpClient, + baseURL+BrentServiceSetPreferredIDEProcedure, + connect.WithSchema(brentServiceMethods.ByName("SetPreferredIDE")), + connect.WithClientOptions(opts...), + ), + getBrentSettings: connect.NewClient[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse]( + httpClient, + baseURL+BrentServiceGetBrentSettingsProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetBrentSettings")), + connect.WithClientOptions(opts...), + ), + updateBrentSettings: connect.NewClient[sdp_go.UpdateBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse]( + httpClient, + baseURL+BrentServiceUpdateBrentSettingsProcedure, + connect.WithSchema(brentServiceMethods.ByName("UpdateBrentSettings")), + connect.WithClientOptions(opts...), + ), + listIntegrationCatalogue: connect.NewClient[sdp_go.ListIntegrationCatalogueRequest, sdp_go.ListIntegrationCatalogueResponse]( + httpClient, + baseURL+BrentServiceListIntegrationCatalogueProcedure, + connect.WithSchema(brentServiceMethods.ByName("ListIntegrationCatalogue")), + connect.WithClientOptions(opts...), + ), + createWorkspace: connect.NewClient[sdp_go.CreateWorkspaceRequest, sdp_go.CreateWorkspaceResponse]( + httpClient, + baseURL+BrentServiceCreateWorkspaceProcedure, + connect.WithSchema(brentServiceMethods.ByName("CreateWorkspace")), + connect.WithClientOptions(opts...), + ), + listMyWorkspaces: connect.NewClient[sdp_go.ListMyWorkspacesRequest, sdp_go.ListMyWorkspacesResponse]( + httpClient, + baseURL+BrentServiceListMyWorkspacesProcedure, + connect.WithSchema(brentServiceMethods.ByName("ListMyWorkspaces")), + connect.WithClientOptions(opts...), + ), + discoverLoginRecoveryCandidates: connect.NewClient[sdp_go.DiscoverLoginRecoveryCandidatesRequest, sdp_go.DiscoverLoginRecoveryCandidatesResponse]( + httpClient, + baseURL+BrentServiceDiscoverLoginRecoveryCandidatesProcedure, + connect.WithSchema(brentServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), + connect.WithClientOptions(opts...), + ), + renameWorkspace: connect.NewClient[sdp_go.RenameWorkspaceRequest, sdp_go.RenameWorkspaceResponse]( + httpClient, + baseURL+BrentServiceRenameWorkspaceProcedure, + connect.WithSchema(brentServiceMethods.ByName("RenameWorkspace")), + connect.WithClientOptions(opts...), + ), + updateWorkspaceBranding: connect.NewClient[sdp_go.UpdateWorkspaceBrandingRequest, sdp_go.UpdateWorkspaceBrandingResponse]( + httpClient, + baseURL+BrentServiceUpdateWorkspaceBrandingProcedure, + connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceBranding")), + connect.WithClientOptions(opts...), + ), + completeWorkspaceOnboarding: connect.NewClient[sdp_go.CompleteWorkspaceOnboardingRequest, sdp_go.CompleteWorkspaceOnboardingResponse]( + httpClient, + baseURL+BrentServiceCompleteWorkspaceOnboardingProcedure, + connect.WithSchema(brentServiceMethods.ByName("CompleteWorkspaceOnboarding")), + connect.WithClientOptions(opts...), + ), + deleteWorkspace: connect.NewClient[sdp_go.DeleteWorkspaceRequest, sdp_go.DeleteWorkspaceResponse]( + httpClient, + baseURL+BrentServiceDeleteWorkspaceProcedure, + connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspace")), + connect.WithClientOptions(opts...), + ), + listJoinableWorkspaces: connect.NewClient[sdp_go.ListJoinableWorkspacesRequest, sdp_go.ListJoinableWorkspacesResponse]( + httpClient, + baseURL+BrentServiceListJoinableWorkspacesProcedure, + connect.WithSchema(brentServiceMethods.ByName("ListJoinableWorkspaces")), + connect.WithClientOptions(opts...), + ), + joinWorkspace: connect.NewClient[sdp_go.JoinWorkspaceRequest, sdp_go.JoinWorkspaceResponse]( + httpClient, + baseURL+BrentServiceJoinWorkspaceProcedure, + connect.WithSchema(brentServiceMethods.ByName("JoinWorkspace")), + connect.WithClientOptions(opts...), + ), + createInvitation: connect.NewClient[sdp_go.CreateInvitationRequest, sdp_go.CreateInvitationResponse]( + httpClient, + baseURL+BrentServiceCreateInvitationProcedure, + connect.WithSchema(brentServiceMethods.ByName("CreateInvitation")), + connect.WithClientOptions(opts...), + ), + createInvitations: connect.NewClient[sdp_go.CreateInvitationsRequest, sdp_go.CreateInvitationsResponse]( + httpClient, + baseURL+BrentServiceCreateInvitationsProcedure, + connect.WithSchema(brentServiceMethods.ByName("CreateInvitations")), + connect.WithClientOptions(opts...), + ), + acceptInvitation: connect.NewClient[sdp_go.AcceptInvitationRequest, sdp_go.AcceptInvitationResponse]( + httpClient, + baseURL+BrentServiceAcceptInvitationProcedure, + connect.WithSchema(brentServiceMethods.ByName("AcceptInvitation")), + connect.WithClientOptions(opts...), + ), + listWorkspaceMembers: connect.NewClient[sdp_go.ListWorkspaceMembersRequest, sdp_go.ListWorkspaceMembersResponse]( + httpClient, + baseURL+BrentServiceListWorkspaceMembersProcedure, + connect.WithSchema(brentServiceMethods.ByName("ListWorkspaceMembers")), + connect.WithClientOptions(opts...), + ), + resendInvitation: connect.NewClient[sdp_go.ResendInvitationRequest, sdp_go.ResendInvitationResponse]( + httpClient, + baseURL+BrentServiceResendInvitationProcedure, + connect.WithSchema(brentServiceMethods.ByName("ResendInvitation")), + connect.WithClientOptions(opts...), + ), + revokeInvitation: connect.NewClient[sdp_go.RevokeInvitationRequest, sdp_go.RevokeInvitationResponse]( + httpClient, + baseURL+BrentServiceRevokeInvitationProcedure, + connect.WithSchema(brentServiceMethods.ByName("RevokeInvitation")), + connect.WithClientOptions(opts...), + ), + removeWorkspaceMember: connect.NewClient[sdp_go.RemoveWorkspaceMemberRequest, sdp_go.RemoveWorkspaceMemberResponse]( + httpClient, + baseURL+BrentServiceRemoveWorkspaceMemberProcedure, + connect.WithSchema(brentServiceMethods.ByName("RemoveWorkspaceMember")), + connect.WithClientOptions(opts...), + ), + updateWorkspaceMemberRole: connect.NewClient[sdp_go.UpdateWorkspaceMemberRoleRequest, sdp_go.UpdateWorkspaceMemberRoleResponse]( + httpClient, + baseURL+BrentServiceUpdateWorkspaceMemberRoleProcedure, + connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceMemberRole")), + connect.WithClientOptions(opts...), + ), + listApprovedEmailDomains: connect.NewClient[sdp_go.ListApprovedEmailDomainsRequest, sdp_go.ListApprovedEmailDomainsResponse]( + httpClient, + baseURL+BrentServiceListApprovedEmailDomainsProcedure, + connect.WithSchema(brentServiceMethods.ByName("ListApprovedEmailDomains")), + connect.WithClientOptions(opts...), + ), + addApprovedEmailDomain: connect.NewClient[sdp_go.AddApprovedEmailDomainRequest, sdp_go.AddApprovedEmailDomainResponse]( + httpClient, + baseURL+BrentServiceAddApprovedEmailDomainProcedure, + connect.WithSchema(brentServiceMethods.ByName("AddApprovedEmailDomain")), + connect.WithClientOptions(opts...), + ), + verifyApprovedEmailDomain: connect.NewClient[sdp_go.VerifyApprovedEmailDomainRequest, sdp_go.VerifyApprovedEmailDomainResponse]( + httpClient, + baseURL+BrentServiceVerifyApprovedEmailDomainProcedure, + connect.WithSchema(brentServiceMethods.ByName("VerifyApprovedEmailDomain")), + connect.WithClientOptions(opts...), + ), + resendApprovedEmailDomainCode: connect.NewClient[sdp_go.ResendApprovedEmailDomainCodeRequest, sdp_go.ResendApprovedEmailDomainCodeResponse]( + httpClient, + baseURL+BrentServiceResendApprovedEmailDomainCodeProcedure, + connect.WithSchema(brentServiceMethods.ByName("ResendApprovedEmailDomainCode")), + connect.WithClientOptions(opts...), + ), + deleteApprovedEmailDomain: connect.NewClient[sdp_go.DeleteApprovedEmailDomainRequest, sdp_go.DeleteApprovedEmailDomainResponse]( + httpClient, + baseURL+BrentServiceDeleteApprovedEmailDomainProcedure, + connect.WithSchema(brentServiceMethods.ByName("DeleteApprovedEmailDomain")), + connect.WithClientOptions(opts...), + ), + getWorkspaceLLMCredentialStatus: connect.NewClient[sdp_go.GetWorkspaceLLMCredentialStatusRequest, sdp_go.GetWorkspaceLLMCredentialStatusResponse]( + httpClient, + baseURL+BrentServiceGetWorkspaceLLMCredentialStatusProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), + connect.WithClientOptions(opts...), + ), + setWorkspaceLLMCredential: connect.NewClient[sdp_go.SetWorkspaceLLMCredentialRequest, sdp_go.SetWorkspaceLLMCredentialResponse]( + httpClient, + baseURL+BrentServiceSetWorkspaceLLMCredentialProcedure, + connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceLLMCredential")), + connect.WithClientOptions(opts...), + ), + deleteWorkspaceLLMCredential: connect.NewClient[sdp_go.DeleteWorkspaceLLMCredentialRequest, sdp_go.DeleteWorkspaceLLMCredentialResponse]( + httpClient, + baseURL+BrentServiceDeleteWorkspaceLLMCredentialProcedure, + connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspaceLLMCredential")), + connect.WithClientOptions(opts...), + ), + getMyCursorCredentialStatus: connect.NewClient[sdp_go.GetMyCursorCredentialStatusRequest, sdp_go.GetMyCursorCredentialStatusResponse]( + httpClient, + baseURL+BrentServiceGetMyCursorCredentialStatusProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetMyCursorCredentialStatus")), + connect.WithClientOptions(opts...), + ), + setMyCursorCredential: connect.NewClient[sdp_go.SetMyCursorCredentialRequest, sdp_go.SetMyCursorCredentialResponse]( + httpClient, + baseURL+BrentServiceSetMyCursorCredentialProcedure, + connect.WithSchema(brentServiceMethods.ByName("SetMyCursorCredential")), + connect.WithClientOptions(opts...), + ), + deleteMyCursorCredential: connect.NewClient[sdp_go.DeleteMyCursorCredentialRequest, sdp_go.DeleteMyCursorCredentialResponse]( + httpClient, + baseURL+BrentServiceDeleteMyCursorCredentialProcedure, + connect.WithSchema(brentServiceMethods.ByName("DeleteMyCursorCredential")), + connect.WithClientOptions(opts...), + ), + getWorkspaceIntegrationRoles: connect.NewClient[sdp_go.GetWorkspaceIntegrationRolesRequest, sdp_go.GetWorkspaceIntegrationRolesResponse]( + httpClient, + baseURL+BrentServiceGetWorkspaceIntegrationRolesProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceIntegrationRoles")), + connect.WithClientOptions(opts...), + ), + setWorkspaceIntegrationRoles: connect.NewClient[sdp_go.SetWorkspaceIntegrationRolesRequest, sdp_go.SetWorkspaceIntegrationRolesResponse]( + httpClient, + baseURL+BrentServiceSetWorkspaceIntegrationRolesProcedure, + connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceIntegrationRoles")), + connect.WithClientOptions(opts...), + ), + resendVerificationEmail: connect.NewClient[sdp_go.ResendVerificationEmailRequest, sdp_go.ResendVerificationEmailResponse]( + httpClient, + baseURL+BrentServiceResendVerificationEmailProcedure, + connect.WithSchema(brentServiceMethods.ByName("ResendVerificationEmail")), + connect.WithClientOptions(opts...), + ), + } +} + +// brentServiceClient implements BrentServiceClient. +type brentServiceClient struct { + listOpenPullRequests *connect.Client[sdp_go.ListOpenPullRequestsRequest, sdp_go.ListOpenPullRequestsResponse] + getPullRequest *connect.Client[sdp_go.GetPullRequestRequest, sdp_go.GetPullRequestResponse] + getPrincipalStatus *connect.Client[sdp_go.GetPrincipalStatusRequest, sdp_go.GetPrincipalStatusResponse] + getIntegrationConnectURL *connect.Client[sdp_go.GetIntegrationConnectURLRequest, sdp_go.GetIntegrationConnectURLResponse] + disconnectIntegration *connect.Client[sdp_go.DisconnectIntegrationRequest, sdp_go.DisconnectIntegrationResponse] + connectByoHttpMcp *connect.Client[sdp_go.ConnectByoHttpMcpRequest, sdp_go.ConnectByoHttpMcpResponse] + getGitLabConnection *connect.Client[sdp_go.GetGitLabConnectionRequest, sdp_go.GetGitLabConnectionResponse] + connectGitLab *connect.Client[sdp_go.ConnectGitLabRequest, sdp_go.ConnectGitLabResponse] + saveGitLabSigningToken *connect.Client[sdp_go.SaveGitLabSigningTokenRequest, sdp_go.SaveGitLabSigningTokenResponse] + upsertMyVerifiedBinding *connect.Client[sdp_go.UpsertMyVerifiedBindingRequest, sdp_go.UpsertMyVerifiedBindingResponse] + listMyBindings *connect.Client[sdp_go.ListMyBindingsRequest, sdp_go.ListMyBindingsResponse] + updateMyDisplayName *connect.Client[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse] + setPreferredIDE *connect.Client[sdp_go.SetPreferredIDERequest, sdp_go.SetPreferredIDEResponse] + getBrentSettings *connect.Client[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] + updateBrentSettings *connect.Client[sdp_go.UpdateBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] + listIntegrationCatalogue *connect.Client[sdp_go.ListIntegrationCatalogueRequest, sdp_go.ListIntegrationCatalogueResponse] + createWorkspace *connect.Client[sdp_go.CreateWorkspaceRequest, sdp_go.CreateWorkspaceResponse] + listMyWorkspaces *connect.Client[sdp_go.ListMyWorkspacesRequest, sdp_go.ListMyWorkspacesResponse] + discoverLoginRecoveryCandidates *connect.Client[sdp_go.DiscoverLoginRecoveryCandidatesRequest, sdp_go.DiscoverLoginRecoveryCandidatesResponse] + renameWorkspace *connect.Client[sdp_go.RenameWorkspaceRequest, sdp_go.RenameWorkspaceResponse] + updateWorkspaceBranding *connect.Client[sdp_go.UpdateWorkspaceBrandingRequest, sdp_go.UpdateWorkspaceBrandingResponse] + completeWorkspaceOnboarding *connect.Client[sdp_go.CompleteWorkspaceOnboardingRequest, sdp_go.CompleteWorkspaceOnboardingResponse] + deleteWorkspace *connect.Client[sdp_go.DeleteWorkspaceRequest, sdp_go.DeleteWorkspaceResponse] + listJoinableWorkspaces *connect.Client[sdp_go.ListJoinableWorkspacesRequest, sdp_go.ListJoinableWorkspacesResponse] + joinWorkspace *connect.Client[sdp_go.JoinWorkspaceRequest, sdp_go.JoinWorkspaceResponse] + createInvitation *connect.Client[sdp_go.CreateInvitationRequest, sdp_go.CreateInvitationResponse] + createInvitations *connect.Client[sdp_go.CreateInvitationsRequest, sdp_go.CreateInvitationsResponse] + acceptInvitation *connect.Client[sdp_go.AcceptInvitationRequest, sdp_go.AcceptInvitationResponse] + listWorkspaceMembers *connect.Client[sdp_go.ListWorkspaceMembersRequest, sdp_go.ListWorkspaceMembersResponse] + resendInvitation *connect.Client[sdp_go.ResendInvitationRequest, sdp_go.ResendInvitationResponse] + revokeInvitation *connect.Client[sdp_go.RevokeInvitationRequest, sdp_go.RevokeInvitationResponse] + removeWorkspaceMember *connect.Client[sdp_go.RemoveWorkspaceMemberRequest, sdp_go.RemoveWorkspaceMemberResponse] + updateWorkspaceMemberRole *connect.Client[sdp_go.UpdateWorkspaceMemberRoleRequest, sdp_go.UpdateWorkspaceMemberRoleResponse] + listApprovedEmailDomains *connect.Client[sdp_go.ListApprovedEmailDomainsRequest, sdp_go.ListApprovedEmailDomainsResponse] + addApprovedEmailDomain *connect.Client[sdp_go.AddApprovedEmailDomainRequest, sdp_go.AddApprovedEmailDomainResponse] + verifyApprovedEmailDomain *connect.Client[sdp_go.VerifyApprovedEmailDomainRequest, sdp_go.VerifyApprovedEmailDomainResponse] + resendApprovedEmailDomainCode *connect.Client[sdp_go.ResendApprovedEmailDomainCodeRequest, sdp_go.ResendApprovedEmailDomainCodeResponse] + deleteApprovedEmailDomain *connect.Client[sdp_go.DeleteApprovedEmailDomainRequest, sdp_go.DeleteApprovedEmailDomainResponse] + getWorkspaceLLMCredentialStatus *connect.Client[sdp_go.GetWorkspaceLLMCredentialStatusRequest, sdp_go.GetWorkspaceLLMCredentialStatusResponse] + setWorkspaceLLMCredential *connect.Client[sdp_go.SetWorkspaceLLMCredentialRequest, sdp_go.SetWorkspaceLLMCredentialResponse] + deleteWorkspaceLLMCredential *connect.Client[sdp_go.DeleteWorkspaceLLMCredentialRequest, sdp_go.DeleteWorkspaceLLMCredentialResponse] + getMyCursorCredentialStatus *connect.Client[sdp_go.GetMyCursorCredentialStatusRequest, sdp_go.GetMyCursorCredentialStatusResponse] + setMyCursorCredential *connect.Client[sdp_go.SetMyCursorCredentialRequest, sdp_go.SetMyCursorCredentialResponse] + deleteMyCursorCredential *connect.Client[sdp_go.DeleteMyCursorCredentialRequest, sdp_go.DeleteMyCursorCredentialResponse] + getWorkspaceIntegrationRoles *connect.Client[sdp_go.GetWorkspaceIntegrationRolesRequest, sdp_go.GetWorkspaceIntegrationRolesResponse] + setWorkspaceIntegrationRoles *connect.Client[sdp_go.SetWorkspaceIntegrationRolesRequest, sdp_go.SetWorkspaceIntegrationRolesResponse] + resendVerificationEmail *connect.Client[sdp_go.ResendVerificationEmailRequest, sdp_go.ResendVerificationEmailResponse] +} + +// ListOpenPullRequests calls brent.BrentService.ListOpenPullRequests. +func (c *brentServiceClient) ListOpenPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { + return c.listOpenPullRequests.CallUnary(ctx, req) +} + +// GetPullRequest calls brent.BrentService.GetPullRequest. +func (c *brentServiceClient) GetPullRequest(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { + return c.getPullRequest.CallUnary(ctx, req) +} + +// GetPrincipalStatus calls brent.BrentService.GetPrincipalStatus. +func (c *brentServiceClient) GetPrincipalStatus(ctx context.Context, req *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { + return c.getPrincipalStatus.CallUnary(ctx, req) +} + +// GetIntegrationConnectURL calls brent.BrentService.GetIntegrationConnectURL. +func (c *brentServiceClient) GetIntegrationConnectURL(ctx context.Context, req *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { + return c.getIntegrationConnectURL.CallUnary(ctx, req) +} + +// DisconnectIntegration calls brent.BrentService.DisconnectIntegration. +func (c *brentServiceClient) DisconnectIntegration(ctx context.Context, req *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { + return c.disconnectIntegration.CallUnary(ctx, req) +} + +// ConnectByoHttpMcp calls brent.BrentService.ConnectByoHttpMcp. +func (c *brentServiceClient) ConnectByoHttpMcp(ctx context.Context, req *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { + return c.connectByoHttpMcp.CallUnary(ctx, req) +} + +// GetGitLabConnection calls brent.BrentService.GetGitLabConnection. +func (c *brentServiceClient) GetGitLabConnection(ctx context.Context, req *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { + return c.getGitLabConnection.CallUnary(ctx, req) +} + +// ConnectGitLab calls brent.BrentService.ConnectGitLab. +func (c *brentServiceClient) ConnectGitLab(ctx context.Context, req *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { + return c.connectGitLab.CallUnary(ctx, req) +} + +// SaveGitLabSigningToken calls brent.BrentService.SaveGitLabSigningToken. +func (c *brentServiceClient) SaveGitLabSigningToken(ctx context.Context, req *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { + return c.saveGitLabSigningToken.CallUnary(ctx, req) +} + +// UpsertMyVerifiedBinding calls brent.BrentService.UpsertMyVerifiedBinding. +func (c *brentServiceClient) UpsertMyVerifiedBinding(ctx context.Context, req *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { + return c.upsertMyVerifiedBinding.CallUnary(ctx, req) +} + +// ListMyBindings calls brent.BrentService.ListMyBindings. +func (c *brentServiceClient) ListMyBindings(ctx context.Context, req *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { + return c.listMyBindings.CallUnary(ctx, req) +} + +// UpdateMyDisplayName calls brent.BrentService.UpdateMyDisplayName. +func (c *brentServiceClient) UpdateMyDisplayName(ctx context.Context, req *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { + return c.updateMyDisplayName.CallUnary(ctx, req) +} + +// SetPreferredIDE calls brent.BrentService.SetPreferredIDE. +func (c *brentServiceClient) SetPreferredIDE(ctx context.Context, req *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) { + return c.setPreferredIDE.CallUnary(ctx, req) +} + +// GetBrentSettings calls brent.BrentService.GetBrentSettings. +func (c *brentServiceClient) GetBrentSettings(ctx context.Context, req *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { + return c.getBrentSettings.CallUnary(ctx, req) +} + +// UpdateBrentSettings calls brent.BrentService.UpdateBrentSettings. +func (c *brentServiceClient) UpdateBrentSettings(ctx context.Context, req *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { + return c.updateBrentSettings.CallUnary(ctx, req) +} + +// ListIntegrationCatalogue calls brent.BrentService.ListIntegrationCatalogue. +func (c *brentServiceClient) ListIntegrationCatalogue(ctx context.Context, req *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { + return c.listIntegrationCatalogue.CallUnary(ctx, req) +} + +// CreateWorkspace calls brent.BrentService.CreateWorkspace. +func (c *brentServiceClient) CreateWorkspace(ctx context.Context, req *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { + return c.createWorkspace.CallUnary(ctx, req) +} + +// ListMyWorkspaces calls brent.BrentService.ListMyWorkspaces. +func (c *brentServiceClient) ListMyWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { + return c.listMyWorkspaces.CallUnary(ctx, req) +} + +// DiscoverLoginRecoveryCandidates calls brent.BrentService.DiscoverLoginRecoveryCandidates. +func (c *brentServiceClient) DiscoverLoginRecoveryCandidates(ctx context.Context, req *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { + return c.discoverLoginRecoveryCandidates.CallUnary(ctx, req) +} + +// RenameWorkspace calls brent.BrentService.RenameWorkspace. +func (c *brentServiceClient) RenameWorkspace(ctx context.Context, req *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { + return c.renameWorkspace.CallUnary(ctx, req) +} + +// UpdateWorkspaceBranding calls brent.BrentService.UpdateWorkspaceBranding. +func (c *brentServiceClient) UpdateWorkspaceBranding(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { + return c.updateWorkspaceBranding.CallUnary(ctx, req) +} + +// CompleteWorkspaceOnboarding calls brent.BrentService.CompleteWorkspaceOnboarding. +func (c *brentServiceClient) CompleteWorkspaceOnboarding(ctx context.Context, req *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { + return c.completeWorkspaceOnboarding.CallUnary(ctx, req) +} + +// DeleteWorkspace calls brent.BrentService.DeleteWorkspace. +func (c *brentServiceClient) DeleteWorkspace(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { + return c.deleteWorkspace.CallUnary(ctx, req) +} + +// ListJoinableWorkspaces calls brent.BrentService.ListJoinableWorkspaces. +func (c *brentServiceClient) ListJoinableWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { + return c.listJoinableWorkspaces.CallUnary(ctx, req) +} + +// JoinWorkspace calls brent.BrentService.JoinWorkspace. +func (c *brentServiceClient) JoinWorkspace(ctx context.Context, req *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { + return c.joinWorkspace.CallUnary(ctx, req) +} + +// CreateInvitation calls brent.BrentService.CreateInvitation. +func (c *brentServiceClient) CreateInvitation(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { + return c.createInvitation.CallUnary(ctx, req) +} + +// CreateInvitations calls brent.BrentService.CreateInvitations. +func (c *brentServiceClient) CreateInvitations(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { + return c.createInvitations.CallUnary(ctx, req) +} + +// AcceptInvitation calls brent.BrentService.AcceptInvitation. +func (c *brentServiceClient) AcceptInvitation(ctx context.Context, req *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { + return c.acceptInvitation.CallUnary(ctx, req) +} + +// ListWorkspaceMembers calls brent.BrentService.ListWorkspaceMembers. +func (c *brentServiceClient) ListWorkspaceMembers(ctx context.Context, req *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { + return c.listWorkspaceMembers.CallUnary(ctx, req) +} + +// ResendInvitation calls brent.BrentService.ResendInvitation. +func (c *brentServiceClient) ResendInvitation(ctx context.Context, req *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { + return c.resendInvitation.CallUnary(ctx, req) +} + +// RevokeInvitation calls brent.BrentService.RevokeInvitation. +func (c *brentServiceClient) RevokeInvitation(ctx context.Context, req *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { + return c.revokeInvitation.CallUnary(ctx, req) +} + +// RemoveWorkspaceMember calls brent.BrentService.RemoveWorkspaceMember. +func (c *brentServiceClient) RemoveWorkspaceMember(ctx context.Context, req *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { + return c.removeWorkspaceMember.CallUnary(ctx, req) +} + +// UpdateWorkspaceMemberRole calls brent.BrentService.UpdateWorkspaceMemberRole. +func (c *brentServiceClient) UpdateWorkspaceMemberRole(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { + return c.updateWorkspaceMemberRole.CallUnary(ctx, req) +} + +// ListApprovedEmailDomains calls brent.BrentService.ListApprovedEmailDomains. +func (c *brentServiceClient) ListApprovedEmailDomains(ctx context.Context, req *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { + return c.listApprovedEmailDomains.CallUnary(ctx, req) +} + +// AddApprovedEmailDomain calls brent.BrentService.AddApprovedEmailDomain. +func (c *brentServiceClient) AddApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { + return c.addApprovedEmailDomain.CallUnary(ctx, req) +} + +// VerifyApprovedEmailDomain calls brent.BrentService.VerifyApprovedEmailDomain. +func (c *brentServiceClient) VerifyApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { + return c.verifyApprovedEmailDomain.CallUnary(ctx, req) +} + +// ResendApprovedEmailDomainCode calls brent.BrentService.ResendApprovedEmailDomainCode. +func (c *brentServiceClient) ResendApprovedEmailDomainCode(ctx context.Context, req *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { + return c.resendApprovedEmailDomainCode.CallUnary(ctx, req) +} + +// DeleteApprovedEmailDomain calls brent.BrentService.DeleteApprovedEmailDomain. +func (c *brentServiceClient) DeleteApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { + return c.deleteApprovedEmailDomain.CallUnary(ctx, req) +} + +// GetWorkspaceLLMCredentialStatus calls brent.BrentService.GetWorkspaceLLMCredentialStatus. +func (c *brentServiceClient) GetWorkspaceLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { + return c.getWorkspaceLLMCredentialStatus.CallUnary(ctx, req) +} + +// SetWorkspaceLLMCredential calls brent.BrentService.SetWorkspaceLLMCredential. +func (c *brentServiceClient) SetWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { + return c.setWorkspaceLLMCredential.CallUnary(ctx, req) +} + +// DeleteWorkspaceLLMCredential calls brent.BrentService.DeleteWorkspaceLLMCredential. +func (c *brentServiceClient) DeleteWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { + return c.deleteWorkspaceLLMCredential.CallUnary(ctx, req) +} + +// GetMyCursorCredentialStatus calls brent.BrentService.GetMyCursorCredentialStatus. +func (c *brentServiceClient) GetMyCursorCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { + return c.getMyCursorCredentialStatus.CallUnary(ctx, req) +} + +// SetMyCursorCredential calls brent.BrentService.SetMyCursorCredential. +func (c *brentServiceClient) SetMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { + return c.setMyCursorCredential.CallUnary(ctx, req) +} + +// DeleteMyCursorCredential calls brent.BrentService.DeleteMyCursorCredential. +func (c *brentServiceClient) DeleteMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { + return c.deleteMyCursorCredential.CallUnary(ctx, req) +} + +// GetWorkspaceIntegrationRoles calls brent.BrentService.GetWorkspaceIntegrationRoles. +func (c *brentServiceClient) GetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { + return c.getWorkspaceIntegrationRoles.CallUnary(ctx, req) +} + +// SetWorkspaceIntegrationRoles calls brent.BrentService.SetWorkspaceIntegrationRoles. +func (c *brentServiceClient) SetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { + return c.setWorkspaceIntegrationRoles.CallUnary(ctx, req) +} + +// ResendVerificationEmail calls brent.BrentService.ResendVerificationEmail. +func (c *brentServiceClient) ResendVerificationEmail(ctx context.Context, req *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { + return c.resendVerificationEmail.CallUnary(ctx, req) +} + +// BrentServiceHandler is an implementation of the brent.BrentService service. +type BrentServiceHandler interface { + // Lists open pull requests for the caller's account from the pull_requests + // table (every repo Brent has webhooks for), sorted by updated_at DESC. + // Gated on brent:read. + ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) + // Fetches a single pull request by repository + number for the caller's + // account. Returns NotFound when the row is absent or owned by another tenant. + // Gated on brent:read. + GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) + // Returns the calling principal's provisioning state for their tenant. + // Read-only; never mutates principals or identities. The SPA calls this on + // every load and routes unprovisioned principals into the onboarding + // wizard. Gated on brent:read. + // + // The tenant (`account_name`) is resolved server-side from the JWT custom + // claim `https://api.overmind.tech/account-name` -- never from the request + // body. The wire carries no organization identifier today; this is the seam + // the future Organizations work will evolve when a principal needs to + // belong to multiple orgs. + GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) + // Returns a provider-specific OAuth redirect URL for the connections setup + // page. Sets an HMAC-signed state cookie on the HTTP response; the browser + // sends it back on the callback redirect. Gated on brent:read. + // Supports INSTALL (org/workspace connect) and LINK (personal handle bind). + GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) + // Removes an integration for the caller's tenant: deletes the org install row + // and encrypted tokens (where applicable), tombstones the caller's verified + // binding for first-party providers, and best-effort revokes at the provider + // where supported (Linear, Slack, GitHub, Composio). Gated on brent:write. + DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) + // Validates and connects a customer-supplied HTTP MCP endpoint: runs a smoke + // tools/list reachability + protocol check through the guardrailed transport, + // and on success stores the install + endpoint/CA config + encrypted bearer. + // Gated on brent:write. + ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) + // Returns whether the caller's workspace has a GitLab install and, when + // connected, the persisted base URL and install timestamp. Does not return + // webhook credentials (shown once at connect). Gated on brent:read. + GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) + // Validates a GitLab access token against the customer's instance, persists + // the install, and returns one-time webhook URL + secret for GitLab setup. + // Gated on brent:write. + ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) + // Stores the GitLab webhook signing token (whsec_...) the customer generated + // in GitLab, enabling HMAC-SHA256 (Standard Webhooks) verification of inbound + // deliveries in addition to the plain-text webhook secret. Optional, run + // after ConnectGitLab and after the customer creates the webhook in GitLab. + // Gated on brent:write. + SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) + // Idempotently upserts a `principal_bindings` row of `state='verified'` for + // the calling principal. The handle and canonical subject are refreshed on + // re-call for the same (principal, provider) tuple. Gated on brent:write. + // + // The principal_id is resolved server-side from the JWT; callers do not + // need to know their own UUID. + UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) + // Lists all bindings for the calling principal. Tenant-scoped and + // principal-scoped. Gated on brent:read. + ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) + // Sets the calling principal's display_name and marks it user-set so + // provisioning no longer re-syncs it from the identity provider. The + // principal is resolved server-side from the JWT. Gated on brent:write. + UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) + // Sets the calling user's preferred IDE for MCP install UI. Stored on the + // global principal_identities row so the preference applies across all + // workspaces. Gated on brent:write. + SetPreferredIDE(context.Context, *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) + // Returns Brent tenant settings for the given account. Customer callers + // use their JWT account; brent-area51 operators may pass any account_name + // when holding admin:write. + GetBrentSettings(context.Context, *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) + // PATCH semantics for Brent tenant settings. Only set fields are written; + // audit columns are server-stamped. + UpdateBrentSettings(context.Context, *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + // Returns the account-scoped integration marketplace catalogue: Composio cache + // rows plus synthesised first-party and BYO entries with per-account connection + // state. Gated on brent:read. + ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) + // Creates a new workspace from a display name and provisions the caller as + // its first admin (plus the system agent) atomically. The workspace_id (uuid) + // is server-minted; the slug is derived ASCII-only from display_name and + // collisions are rejected with AlreadyExists. Identity-scoped: acts on the + // signed-in Auth0 subject, carries no workspace header. Gated on brent:write. + CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) + // Lists every workspace the calling identity is an active member of, with the + // caller's per-workspace role. Identity-scoped (cross-workspace by nature; the + // security boundary is the caller's own identity). Gated on brent:read. + ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) + // Discovers privacy-limited login-recovery candidates for a zero-membership + // caller whose verified email matches other Auth0 social identities that hold + // active Brent workspaces. Identity-scoped: the subject and email come from + // the authenticated /userinfo path, never from the request. Empty request so + // callers cannot enumerate arbitrary emails or subjects. Fail-closed: missing + // Management credentials, Auth0 errors, or Brent lookup failures yield an + // empty candidate list rather than blocking workspace creation. Gated on + // brent:read. + DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) + // Renames the workspace named by the Brent-Workspace-Id header: edits + // display_name and re-derives the URL slug from it using the same rules as + // CreateWorkspace. Workspace-scoped and admin-only: the caller must be an + // active admin of the header workspace. A slug that collides with another + // workspace is rejected with AlreadyExists; a new name that slugifies to empty + // (non-Latin/emoji) keeps the current slug rather than regressing to a + // ws- placeholder. The superseded slug is recorded so a bookmarked + // /w/{oldSlug} can resolve to the renamed workspace. Gated on brent:write. + RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) + // Sets (or clears) the theme colour of the workspace named by the + // Brent-Workspace-Id header. The colour is a strict "#rrggbb" hex string; an + // empty value clears it to NULL. Workspace-scoped and admin-only: the caller + // must be an active admin of the header workspace (checked in the handler; + // the workspace interceptor only observes). The logo, which carries image + // bytes, is set through a separate authed multipart upload route, not this + // RPC. Gated on brent:write. + UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) + // Marks the given workspace's onboarding as complete, flipping + // onboarding_completed to true. Identity-scoped: acts on the signed-in Auth0 + // subject against an explicit workspace_id. The server only succeeds for an + // active admin member of that workspace (non-admins and non-members are + // rejected with PermissionDenied). Gated on brent:write. + CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) + // Soft-deletes a workspace the caller actively administers. Identity-scoped: + // acts on the signed-in subject against an explicit workspace_id, verified + // server-side as an active admin. Gated on brent:write. + DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) + // Lists every workspace the calling identity can join right now: verified + // approved email-domain match and/or a pending non-expired invitation for the + // caller's verified email, excluding workspaces where the caller is already an + // active member (BRENT-698). Dual-eligible workspaces appear once with + // JOIN_SOURCE_INVITE. Identity-scoped (the security boundary is the caller's + // own verified email); never returns a workspace the caller cannot join. + // Gated on brent:read. + ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) + // Joins the calling identity to a workspace it is eligible for. The server + // requires a verified email and re-checks eligibility on workspace_id. When a + // pending invitation holds that verified email, Join accepts the invite + // atomically (invited role preserved) — including invite-only, with no domain + // match required (BRENT-698 / BRENT-695). Otherwise it provisions an active + // member via domain join when the caller is domain-eligible. A call with + // neither a claimable invite nor a domain match is rejected. Identity-scoped. + // Gated on brent:write. + JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) + // Creates a single-use per-email workspace invitation. The caller must be an + // active member of workspace_id. Members may invite members; admins may invite + // either role. Gated on brent:write. + CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) + // Creates one single-use invitation per email in a single call, all with the + // same role, returning one result per email so a partial failure (e.g. one + // duplicate among several) never aborts the rest. The caller must be an active + // member of workspace_id. Members may invite members; admins may invite either + // role. Gated on brent:write. + CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) + // Claims a single-use workspace invitation for the signed-in identity. The + // token carries the workspace and is sent in the request body only. Gated on + // brent:write. + AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) + // Lists active members and pending email invitations for a workspace. The + // caller must be an active member of workspace_id. Gated on brent:read. + ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) + // Rotates the token and resets the expiry on a pending invitation, then + // re-enqueues the invite email. Keyed on the invited shadow principal_id. The + // caller must be an active admin of workspace_id. Gated on brent:write. + ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) + // Revokes a pending invitation and tombstones its shadow principal, releasing + // the email convergence key. Keyed on the invited shadow principal_id. The + // caller must be an active admin of workspace_id. Gated on brent:write. + RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) + // Removes an active member from a workspace by tombstoning their principal and + // verified bindings. Refused when it would remove the last active admin. The + // caller must be an active admin of workspace_id. Gated on brent:write. + RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) + // Promotes or demotes a workspace member between admin and member. When the + // member is a pending invite, the backing invitation role is updated too. + // Refused when a demotion would leave zero active admins. The caller must be + // an active admin of workspace_id. Gated on brent:write. + UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) + // Lists the approved email domains of the workspace named by the + // Brent-Workspace-Id header, verified and unverified. The caller must be an + // active member of the header workspace. Gated on brent:read. + ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) + // Adds an approved email domain to the header workspace and emails a + // verification code to the supplied address (which must be at that domain). + // The domain starts unverified. Public providers and malformed input are + // rejected; a duplicate domain returns AlreadyExists. Workspace-scoped and + // admin-only. Gated on brent:write. + AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) + // Verifies an approved email domain by its emailed code, flipping it to + // verified on success. Wrong/expired codes are rejected; the attempt cap and a + // generic mismatch error guard against guessing. Workspace-scoped and + // admin-only. Gated on brent:write. + VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) + // Rotates and re-sends the verification code for an unverified approved email + // domain, invalidating the previous code. Briefly rate-limited per domain. + // Workspace-scoped and admin-only. Gated on brent:write. + ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) + // Deletes an approved email domain (verified or not) from the header + // workspace. Workspace-scoped and admin-only. Gated on brent:write. + DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) + // Returns display metadata (connected flag, last-4 chars, timestamps) for the + // workspace's stored LLM provider key. Never returns the secret itself. The + // caller must be an active member of the header workspace. Gated on brent:read. + GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) + // Sets (or replaces) the workspace's LLM provider key. The secret is validated + // against the provider API before storage; an auth failure rejects the call, + // while a transient probe error stores the key with a warning and a null + // last_validated_at timestamp. Workspace-scoped and admin-only. Gated on + // brent:write. + SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) + // Deletes the workspace's LLM provider key. Idempotent: deleting a missing key + // succeeds. Workspace-scoped and admin-only. Gated on brent:write. + DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) + // Returns metadata for the calling principal's personal Cursor API key in + // the header workspace. Never returns the secret or Cursor account email. + // Workspace-scoped; gated on brent:read. + GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) + // Validates and stores the calling principal's personal Cursor user API key. + // Service-account keys and keys bound to another principal are rejected. + // Workspace-scoped; gated on brent:write. + SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) + // Deletes the calling principal's personal Cursor key and tombstones its + // verified Cursor binding. Idempotent and workspace-scoped; gated on brent:write. + DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) + // Returns the workspace's configured integration roles (git, ticketing, + // messaging providers) and the Manage URL for the connected git provider. + // Workspace-scoped; the caller must be an active member. Gated on brent:read. + GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) + // Sets the workspace's integration roles. Validates that providers are + // eligible for their roles via the app-level registry. When git_provider + // changes away from a connected provider, disconnects the previous git + // install. Workspace-scoped and admin-only. Gated on brent:write. + SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) + // Re-sends the account verification email to the signed-in caller by minting + // an Auth0 email-verification ticket and delivering it via Resend. Powers the + // "Verify your email" interstitial. The caller is resolved from the JWT. + // + // Idempotent by design: when the caller's email is already verified the call + // succeeds without sending anything, so the SPA can call it unconditionally. + // Repeat sends to the same recipient are rate-limited at the queue layer. + // When the Auth0 Management API is not configured (dev/local) the RPC returns + // Unavailable rather than failing boot. Gated on brent:write. + ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) +} + +// NewBrentServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + brentServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentService").Methods() + brentServiceListOpenPullRequestsHandler := connect.NewUnaryHandler( + BrentServiceListOpenPullRequestsProcedure, + svc.ListOpenPullRequests, + connect.WithSchema(brentServiceMethods.ByName("ListOpenPullRequests")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetPullRequestHandler := connect.NewUnaryHandler( + BrentServiceGetPullRequestProcedure, + svc.GetPullRequest, + connect.WithSchema(brentServiceMethods.ByName("GetPullRequest")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetPrincipalStatusHandler := connect.NewUnaryHandler( + BrentServiceGetPrincipalStatusProcedure, + svc.GetPrincipalStatus, + connect.WithSchema(brentServiceMethods.ByName("GetPrincipalStatus")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetIntegrationConnectURLHandler := connect.NewUnaryHandler( + BrentServiceGetIntegrationConnectURLProcedure, + svc.GetIntegrationConnectURL, + connect.WithSchema(brentServiceMethods.ByName("GetIntegrationConnectURL")), + connect.WithHandlerOptions(opts...), + ) + brentServiceDisconnectIntegrationHandler := connect.NewUnaryHandler( + BrentServiceDisconnectIntegrationProcedure, + svc.DisconnectIntegration, + connect.WithSchema(brentServiceMethods.ByName("DisconnectIntegration")), + connect.WithHandlerOptions(opts...), + ) + brentServiceConnectByoHttpMcpHandler := connect.NewUnaryHandler( + BrentServiceConnectByoHttpMcpProcedure, + svc.ConnectByoHttpMcp, + connect.WithSchema(brentServiceMethods.ByName("ConnectByoHttpMcp")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetGitLabConnectionHandler := connect.NewUnaryHandler( + BrentServiceGetGitLabConnectionProcedure, + svc.GetGitLabConnection, + connect.WithSchema(brentServiceMethods.ByName("GetGitLabConnection")), + connect.WithHandlerOptions(opts...), + ) + brentServiceConnectGitLabHandler := connect.NewUnaryHandler( + BrentServiceConnectGitLabProcedure, + svc.ConnectGitLab, + connect.WithSchema(brentServiceMethods.ByName("ConnectGitLab")), + connect.WithHandlerOptions(opts...), + ) + brentServiceSaveGitLabSigningTokenHandler := connect.NewUnaryHandler( + BrentServiceSaveGitLabSigningTokenProcedure, + svc.SaveGitLabSigningToken, + connect.WithSchema(brentServiceMethods.ByName("SaveGitLabSigningToken")), + connect.WithHandlerOptions(opts...), + ) + brentServiceUpsertMyVerifiedBindingHandler := connect.NewUnaryHandler( + BrentServiceUpsertMyVerifiedBindingProcedure, + svc.UpsertMyVerifiedBinding, + connect.WithSchema(brentServiceMethods.ByName("UpsertMyVerifiedBinding")), + connect.WithHandlerOptions(opts...), + ) + brentServiceListMyBindingsHandler := connect.NewUnaryHandler( + BrentServiceListMyBindingsProcedure, + svc.ListMyBindings, + connect.WithSchema(brentServiceMethods.ByName("ListMyBindings")), + connect.WithHandlerOptions(opts...), + ) + brentServiceUpdateMyDisplayNameHandler := connect.NewUnaryHandler( + BrentServiceUpdateMyDisplayNameProcedure, + svc.UpdateMyDisplayName, + connect.WithSchema(brentServiceMethods.ByName("UpdateMyDisplayName")), + connect.WithHandlerOptions(opts...), + ) + brentServiceSetPreferredIDEHandler := connect.NewUnaryHandler( + BrentServiceSetPreferredIDEProcedure, + svc.SetPreferredIDE, + connect.WithSchema(brentServiceMethods.ByName("SetPreferredIDE")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetBrentSettingsHandler := connect.NewUnaryHandler( + BrentServiceGetBrentSettingsProcedure, + svc.GetBrentSettings, + connect.WithSchema(brentServiceMethods.ByName("GetBrentSettings")), + connect.WithHandlerOptions(opts...), + ) + brentServiceUpdateBrentSettingsHandler := connect.NewUnaryHandler( + BrentServiceUpdateBrentSettingsProcedure, + svc.UpdateBrentSettings, + connect.WithSchema(brentServiceMethods.ByName("UpdateBrentSettings")), + connect.WithHandlerOptions(opts...), + ) + brentServiceListIntegrationCatalogueHandler := connect.NewUnaryHandler( + BrentServiceListIntegrationCatalogueProcedure, + svc.ListIntegrationCatalogue, + connect.WithSchema(brentServiceMethods.ByName("ListIntegrationCatalogue")), + connect.WithHandlerOptions(opts...), + ) + brentServiceCreateWorkspaceHandler := connect.NewUnaryHandler( + BrentServiceCreateWorkspaceProcedure, + svc.CreateWorkspace, + connect.WithSchema(brentServiceMethods.ByName("CreateWorkspace")), + connect.WithHandlerOptions(opts...), + ) + brentServiceListMyWorkspacesHandler := connect.NewUnaryHandler( + BrentServiceListMyWorkspacesProcedure, + svc.ListMyWorkspaces, + connect.WithSchema(brentServiceMethods.ByName("ListMyWorkspaces")), + connect.WithHandlerOptions(opts...), + ) + brentServiceDiscoverLoginRecoveryCandidatesHandler := connect.NewUnaryHandler( + BrentServiceDiscoverLoginRecoveryCandidatesProcedure, + svc.DiscoverLoginRecoveryCandidates, + connect.WithSchema(brentServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), + connect.WithHandlerOptions(opts...), + ) + brentServiceRenameWorkspaceHandler := connect.NewUnaryHandler( + BrentServiceRenameWorkspaceProcedure, + svc.RenameWorkspace, + connect.WithSchema(brentServiceMethods.ByName("RenameWorkspace")), + connect.WithHandlerOptions(opts...), + ) + brentServiceUpdateWorkspaceBrandingHandler := connect.NewUnaryHandler( + BrentServiceUpdateWorkspaceBrandingProcedure, + svc.UpdateWorkspaceBranding, + connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceBranding")), + connect.WithHandlerOptions(opts...), + ) + brentServiceCompleteWorkspaceOnboardingHandler := connect.NewUnaryHandler( + BrentServiceCompleteWorkspaceOnboardingProcedure, + svc.CompleteWorkspaceOnboarding, + connect.WithSchema(brentServiceMethods.ByName("CompleteWorkspaceOnboarding")), + connect.WithHandlerOptions(opts...), + ) + brentServiceDeleteWorkspaceHandler := connect.NewUnaryHandler( + BrentServiceDeleteWorkspaceProcedure, + svc.DeleteWorkspace, + connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspace")), + connect.WithHandlerOptions(opts...), + ) + brentServiceListJoinableWorkspacesHandler := connect.NewUnaryHandler( + BrentServiceListJoinableWorkspacesProcedure, + svc.ListJoinableWorkspaces, + connect.WithSchema(brentServiceMethods.ByName("ListJoinableWorkspaces")), + connect.WithHandlerOptions(opts...), + ) + brentServiceJoinWorkspaceHandler := connect.NewUnaryHandler( + BrentServiceJoinWorkspaceProcedure, + svc.JoinWorkspace, + connect.WithSchema(brentServiceMethods.ByName("JoinWorkspace")), + connect.WithHandlerOptions(opts...), + ) + brentServiceCreateInvitationHandler := connect.NewUnaryHandler( + BrentServiceCreateInvitationProcedure, + svc.CreateInvitation, + connect.WithSchema(brentServiceMethods.ByName("CreateInvitation")), + connect.WithHandlerOptions(opts...), + ) + brentServiceCreateInvitationsHandler := connect.NewUnaryHandler( + BrentServiceCreateInvitationsProcedure, + svc.CreateInvitations, + connect.WithSchema(brentServiceMethods.ByName("CreateInvitations")), + connect.WithHandlerOptions(opts...), + ) + brentServiceAcceptInvitationHandler := connect.NewUnaryHandler( + BrentServiceAcceptInvitationProcedure, + svc.AcceptInvitation, + connect.WithSchema(brentServiceMethods.ByName("AcceptInvitation")), + connect.WithHandlerOptions(opts...), + ) + brentServiceListWorkspaceMembersHandler := connect.NewUnaryHandler( + BrentServiceListWorkspaceMembersProcedure, + svc.ListWorkspaceMembers, + connect.WithSchema(brentServiceMethods.ByName("ListWorkspaceMembers")), + connect.WithHandlerOptions(opts...), + ) + brentServiceResendInvitationHandler := connect.NewUnaryHandler( + BrentServiceResendInvitationProcedure, + svc.ResendInvitation, + connect.WithSchema(brentServiceMethods.ByName("ResendInvitation")), + connect.WithHandlerOptions(opts...), + ) + brentServiceRevokeInvitationHandler := connect.NewUnaryHandler( + BrentServiceRevokeInvitationProcedure, + svc.RevokeInvitation, + connect.WithSchema(brentServiceMethods.ByName("RevokeInvitation")), + connect.WithHandlerOptions(opts...), + ) + brentServiceRemoveWorkspaceMemberHandler := connect.NewUnaryHandler( + BrentServiceRemoveWorkspaceMemberProcedure, + svc.RemoveWorkspaceMember, + connect.WithSchema(brentServiceMethods.ByName("RemoveWorkspaceMember")), + connect.WithHandlerOptions(opts...), + ) + brentServiceUpdateWorkspaceMemberRoleHandler := connect.NewUnaryHandler( + BrentServiceUpdateWorkspaceMemberRoleProcedure, + svc.UpdateWorkspaceMemberRole, + connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceMemberRole")), + connect.WithHandlerOptions(opts...), + ) + brentServiceListApprovedEmailDomainsHandler := connect.NewUnaryHandler( + BrentServiceListApprovedEmailDomainsProcedure, + svc.ListApprovedEmailDomains, + connect.WithSchema(brentServiceMethods.ByName("ListApprovedEmailDomains")), + connect.WithHandlerOptions(opts...), + ) + brentServiceAddApprovedEmailDomainHandler := connect.NewUnaryHandler( + BrentServiceAddApprovedEmailDomainProcedure, + svc.AddApprovedEmailDomain, + connect.WithSchema(brentServiceMethods.ByName("AddApprovedEmailDomain")), + connect.WithHandlerOptions(opts...), + ) + brentServiceVerifyApprovedEmailDomainHandler := connect.NewUnaryHandler( + BrentServiceVerifyApprovedEmailDomainProcedure, + svc.VerifyApprovedEmailDomain, + connect.WithSchema(brentServiceMethods.ByName("VerifyApprovedEmailDomain")), + connect.WithHandlerOptions(opts...), + ) + brentServiceResendApprovedEmailDomainCodeHandler := connect.NewUnaryHandler( + BrentServiceResendApprovedEmailDomainCodeProcedure, + svc.ResendApprovedEmailDomainCode, + connect.WithSchema(brentServiceMethods.ByName("ResendApprovedEmailDomainCode")), + connect.WithHandlerOptions(opts...), + ) + brentServiceDeleteApprovedEmailDomainHandler := connect.NewUnaryHandler( + BrentServiceDeleteApprovedEmailDomainProcedure, + svc.DeleteApprovedEmailDomain, + connect.WithSchema(brentServiceMethods.ByName("DeleteApprovedEmailDomain")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetWorkspaceLLMCredentialStatusHandler := connect.NewUnaryHandler( + BrentServiceGetWorkspaceLLMCredentialStatusProcedure, + svc.GetWorkspaceLLMCredentialStatus, + connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), + connect.WithHandlerOptions(opts...), + ) + brentServiceSetWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( + BrentServiceSetWorkspaceLLMCredentialProcedure, + svc.SetWorkspaceLLMCredential, + connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceLLMCredential")), + connect.WithHandlerOptions(opts...), + ) + brentServiceDeleteWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( + BrentServiceDeleteWorkspaceLLMCredentialProcedure, + svc.DeleteWorkspaceLLMCredential, + connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspaceLLMCredential")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetMyCursorCredentialStatusHandler := connect.NewUnaryHandler( + BrentServiceGetMyCursorCredentialStatusProcedure, + svc.GetMyCursorCredentialStatus, + connect.WithSchema(brentServiceMethods.ByName("GetMyCursorCredentialStatus")), + connect.WithHandlerOptions(opts...), + ) + brentServiceSetMyCursorCredentialHandler := connect.NewUnaryHandler( + BrentServiceSetMyCursorCredentialProcedure, + svc.SetMyCursorCredential, + connect.WithSchema(brentServiceMethods.ByName("SetMyCursorCredential")), + connect.WithHandlerOptions(opts...), + ) + brentServiceDeleteMyCursorCredentialHandler := connect.NewUnaryHandler( + BrentServiceDeleteMyCursorCredentialProcedure, + svc.DeleteMyCursorCredential, + connect.WithSchema(brentServiceMethods.ByName("DeleteMyCursorCredential")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( + BrentServiceGetWorkspaceIntegrationRolesProcedure, + svc.GetWorkspaceIntegrationRoles, + connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceIntegrationRoles")), + connect.WithHandlerOptions(opts...), + ) + brentServiceSetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( + BrentServiceSetWorkspaceIntegrationRolesProcedure, + svc.SetWorkspaceIntegrationRoles, + connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceIntegrationRoles")), + connect.WithHandlerOptions(opts...), + ) + brentServiceResendVerificationEmailHandler := connect.NewUnaryHandler( + BrentServiceResendVerificationEmailProcedure, + svc.ResendVerificationEmail, + connect.WithSchema(brentServiceMethods.ByName("ResendVerificationEmail")), + connect.WithHandlerOptions(opts...), + ) + return "/brent.BrentService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case BrentServiceListOpenPullRequestsProcedure: + brentServiceListOpenPullRequestsHandler.ServeHTTP(w, r) + case BrentServiceGetPullRequestProcedure: + brentServiceGetPullRequestHandler.ServeHTTP(w, r) + case BrentServiceGetPrincipalStatusProcedure: + brentServiceGetPrincipalStatusHandler.ServeHTTP(w, r) + case BrentServiceGetIntegrationConnectURLProcedure: + brentServiceGetIntegrationConnectURLHandler.ServeHTTP(w, r) + case BrentServiceDisconnectIntegrationProcedure: + brentServiceDisconnectIntegrationHandler.ServeHTTP(w, r) + case BrentServiceConnectByoHttpMcpProcedure: + brentServiceConnectByoHttpMcpHandler.ServeHTTP(w, r) + case BrentServiceGetGitLabConnectionProcedure: + brentServiceGetGitLabConnectionHandler.ServeHTTP(w, r) + case BrentServiceConnectGitLabProcedure: + brentServiceConnectGitLabHandler.ServeHTTP(w, r) + case BrentServiceSaveGitLabSigningTokenProcedure: + brentServiceSaveGitLabSigningTokenHandler.ServeHTTP(w, r) + case BrentServiceUpsertMyVerifiedBindingProcedure: + brentServiceUpsertMyVerifiedBindingHandler.ServeHTTP(w, r) + case BrentServiceListMyBindingsProcedure: + brentServiceListMyBindingsHandler.ServeHTTP(w, r) + case BrentServiceUpdateMyDisplayNameProcedure: + brentServiceUpdateMyDisplayNameHandler.ServeHTTP(w, r) + case BrentServiceSetPreferredIDEProcedure: + brentServiceSetPreferredIDEHandler.ServeHTTP(w, r) + case BrentServiceGetBrentSettingsProcedure: + brentServiceGetBrentSettingsHandler.ServeHTTP(w, r) + case BrentServiceUpdateBrentSettingsProcedure: + brentServiceUpdateBrentSettingsHandler.ServeHTTP(w, r) + case BrentServiceListIntegrationCatalogueProcedure: + brentServiceListIntegrationCatalogueHandler.ServeHTTP(w, r) + case BrentServiceCreateWorkspaceProcedure: + brentServiceCreateWorkspaceHandler.ServeHTTP(w, r) + case BrentServiceListMyWorkspacesProcedure: + brentServiceListMyWorkspacesHandler.ServeHTTP(w, r) + case BrentServiceDiscoverLoginRecoveryCandidatesProcedure: + brentServiceDiscoverLoginRecoveryCandidatesHandler.ServeHTTP(w, r) + case BrentServiceRenameWorkspaceProcedure: + brentServiceRenameWorkspaceHandler.ServeHTTP(w, r) + case BrentServiceUpdateWorkspaceBrandingProcedure: + brentServiceUpdateWorkspaceBrandingHandler.ServeHTTP(w, r) + case BrentServiceCompleteWorkspaceOnboardingProcedure: + brentServiceCompleteWorkspaceOnboardingHandler.ServeHTTP(w, r) + case BrentServiceDeleteWorkspaceProcedure: + brentServiceDeleteWorkspaceHandler.ServeHTTP(w, r) + case BrentServiceListJoinableWorkspacesProcedure: + brentServiceListJoinableWorkspacesHandler.ServeHTTP(w, r) + case BrentServiceJoinWorkspaceProcedure: + brentServiceJoinWorkspaceHandler.ServeHTTP(w, r) + case BrentServiceCreateInvitationProcedure: + brentServiceCreateInvitationHandler.ServeHTTP(w, r) + case BrentServiceCreateInvitationsProcedure: + brentServiceCreateInvitationsHandler.ServeHTTP(w, r) + case BrentServiceAcceptInvitationProcedure: + brentServiceAcceptInvitationHandler.ServeHTTP(w, r) + case BrentServiceListWorkspaceMembersProcedure: + brentServiceListWorkspaceMembersHandler.ServeHTTP(w, r) + case BrentServiceResendInvitationProcedure: + brentServiceResendInvitationHandler.ServeHTTP(w, r) + case BrentServiceRevokeInvitationProcedure: + brentServiceRevokeInvitationHandler.ServeHTTP(w, r) + case BrentServiceRemoveWorkspaceMemberProcedure: + brentServiceRemoveWorkspaceMemberHandler.ServeHTTP(w, r) + case BrentServiceUpdateWorkspaceMemberRoleProcedure: + brentServiceUpdateWorkspaceMemberRoleHandler.ServeHTTP(w, r) + case BrentServiceListApprovedEmailDomainsProcedure: + brentServiceListApprovedEmailDomainsHandler.ServeHTTP(w, r) + case BrentServiceAddApprovedEmailDomainProcedure: + brentServiceAddApprovedEmailDomainHandler.ServeHTTP(w, r) + case BrentServiceVerifyApprovedEmailDomainProcedure: + brentServiceVerifyApprovedEmailDomainHandler.ServeHTTP(w, r) + case BrentServiceResendApprovedEmailDomainCodeProcedure: + brentServiceResendApprovedEmailDomainCodeHandler.ServeHTTP(w, r) + case BrentServiceDeleteApprovedEmailDomainProcedure: + brentServiceDeleteApprovedEmailDomainHandler.ServeHTTP(w, r) + case BrentServiceGetWorkspaceLLMCredentialStatusProcedure: + brentServiceGetWorkspaceLLMCredentialStatusHandler.ServeHTTP(w, r) + case BrentServiceSetWorkspaceLLMCredentialProcedure: + brentServiceSetWorkspaceLLMCredentialHandler.ServeHTTP(w, r) + case BrentServiceDeleteWorkspaceLLMCredentialProcedure: + brentServiceDeleteWorkspaceLLMCredentialHandler.ServeHTTP(w, r) + case BrentServiceGetMyCursorCredentialStatusProcedure: + brentServiceGetMyCursorCredentialStatusHandler.ServeHTTP(w, r) + case BrentServiceSetMyCursorCredentialProcedure: + brentServiceSetMyCursorCredentialHandler.ServeHTTP(w, r) + case BrentServiceDeleteMyCursorCredentialProcedure: + brentServiceDeleteMyCursorCredentialHandler.ServeHTTP(w, r) + case BrentServiceGetWorkspaceIntegrationRolesProcedure: + brentServiceGetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) + case BrentServiceSetWorkspaceIntegrationRolesProcedure: + brentServiceSetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) + case BrentServiceResendVerificationEmailProcedure: + brentServiceResendVerificationEmailHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedBrentServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedBrentServiceHandler struct{} + +func (UnimplementedBrentServiceHandler) ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListOpenPullRequests is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetPullRequest is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetPrincipalStatus is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetIntegrationConnectURL is not implemented")) +} + +func (UnimplementedBrentServiceHandler) DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DisconnectIntegration is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ConnectByoHttpMcp is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetGitLabConnection is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ConnectGitLab is not implemented")) +} + +func (UnimplementedBrentServiceHandler) SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SaveGitLabSigningToken is not implemented")) +} + +func (UnimplementedBrentServiceHandler) UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpsertMyVerifiedBinding is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListMyBindings is not implemented")) +} + +func (UnimplementedBrentServiceHandler) UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyDisplayName is not implemented")) +} + +func (UnimplementedBrentServiceHandler) SetPreferredIDE(context.Context, *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetPreferredIDE is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetBrentSettings(context.Context, *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetBrentSettings is not implemented")) +} + +func (UnimplementedBrentServiceHandler) UpdateBrentSettings(context.Context, *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateBrentSettings is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListIntegrationCatalogue is not implemented")) +} + +func (UnimplementedBrentServiceHandler) CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CreateWorkspace is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListMyWorkspaces is not implemented")) +} + +func (UnimplementedBrentServiceHandler) DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DiscoverLoginRecoveryCandidates is not implemented")) +} + +func (UnimplementedBrentServiceHandler) RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RenameWorkspace is not implemented")) +} + +func (UnimplementedBrentServiceHandler) UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateWorkspaceBranding is not implemented")) +} + +func (UnimplementedBrentServiceHandler) CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CompleteWorkspaceOnboarding is not implemented")) +} + +func (UnimplementedBrentServiceHandler) DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteWorkspace is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListJoinableWorkspaces is not implemented")) +} + +func (UnimplementedBrentServiceHandler) JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.JoinWorkspace is not implemented")) +} + +func (UnimplementedBrentServiceHandler) CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CreateInvitation is not implemented")) +} + +func (UnimplementedBrentServiceHandler) CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CreateInvitations is not implemented")) +} + +func (UnimplementedBrentServiceHandler) AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.AcceptInvitation is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListWorkspaceMembers is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ResendInvitation is not implemented")) +} + +func (UnimplementedBrentServiceHandler) RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RevokeInvitation is not implemented")) +} + +func (UnimplementedBrentServiceHandler) RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RemoveWorkspaceMember is not implemented")) +} + +func (UnimplementedBrentServiceHandler) UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateWorkspaceMemberRole is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListApprovedEmailDomains is not implemented")) +} + +func (UnimplementedBrentServiceHandler) AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.AddApprovedEmailDomain is not implemented")) +} + +func (UnimplementedBrentServiceHandler) VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.VerifyApprovedEmailDomain is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ResendApprovedEmailDomainCode is not implemented")) +} + +func (UnimplementedBrentServiceHandler) DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteApprovedEmailDomain is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetWorkspaceLLMCredentialStatus is not implemented")) +} + +func (UnimplementedBrentServiceHandler) SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetWorkspaceLLMCredential is not implemented")) +} + +func (UnimplementedBrentServiceHandler) DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteWorkspaceLLMCredential is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetMyCursorCredentialStatus is not implemented")) +} + +func (UnimplementedBrentServiceHandler) SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetMyCursorCredential is not implemented")) +} + +func (UnimplementedBrentServiceHandler) DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteMyCursorCredential is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetWorkspaceIntegrationRoles is not implemented")) +} + +func (UnimplementedBrentServiceHandler) SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetWorkspaceIntegrationRoles is not implemented")) +} + +func (UnimplementedBrentServiceHandler) ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ResendVerificationEmail is not implemented")) +} + +// BrentPublicServiceClient is a client for the brent.BrentPublicService service. +type BrentPublicServiceClient interface { + GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) +} + +// NewBrentPublicServiceClient constructs a client for the brent.BrentPublicService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewBrentPublicServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BrentPublicServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + brentPublicServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentPublicService").Methods() + return &brentPublicServiceClient{ + getInvitation: connect.NewClient[sdp_go.GetInvitationRequest, sdp_go.GetInvitationResponse]( + httpClient, + baseURL+BrentPublicServiceGetInvitationProcedure, + connect.WithSchema(brentPublicServiceMethods.ByName("GetInvitation")), + connect.WithClientOptions(opts...), + ), + } +} + +// brentPublicServiceClient implements BrentPublicServiceClient. +type brentPublicServiceClient struct { + getInvitation *connect.Client[sdp_go.GetInvitationRequest, sdp_go.GetInvitationResponse] +} + +// GetInvitation calls brent.BrentPublicService.GetInvitation. +func (c *brentPublicServiceClient) GetInvitation(ctx context.Context, req *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { + return c.getInvitation.CallUnary(ctx, req) +} + +// BrentPublicServiceHandler is an implementation of the brent.BrentPublicService service. +type BrentPublicServiceHandler interface { + GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) +} + +// NewBrentPublicServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewBrentPublicServiceHandler(svc BrentPublicServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + brentPublicServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentPublicService").Methods() + brentPublicServiceGetInvitationHandler := connect.NewUnaryHandler( + BrentPublicServiceGetInvitationProcedure, + svc.GetInvitation, + connect.WithSchema(brentPublicServiceMethods.ByName("GetInvitation")), + connect.WithHandlerOptions(opts...), + ) + return "/brent.BrentPublicService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case BrentPublicServiceGetInvitationProcedure: + brentPublicServiceGetInvitationHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedBrentPublicServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedBrentPublicServiceHandler struct{} + +func (UnimplementedBrentPublicServiceHandler) GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentPublicService.GetInvitation is not implemented")) +} + +// BrentAdminServiceClient is a client for the brent.BrentAdminService service. +type BrentAdminServiceClient interface { + // Executes a workflow from a natural-language prompt. The server streams + // steps as the agent reasons, calls MCP tools, and produces a final result. + // The stream ends with either a CompletionStep or a terminal ErrorStep. + // Operator-only; gated on admin:write. + ExecuteWorkflow(context.Context, *connect.Request[sdp_go.ExecuteWorkflowRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) + // Lists all tracked runs (both UI-initiated and webhook-triggered). + // Operator-only; gated on admin:read. + ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) + // Streams steps for a specific run. Replays buffered steps first, then + // streams live steps until the run completes or the client disconnects. + // Operator-only; gated on admin:read. + WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) + // Streams live capital-E Events for the caller's account. No history or + // replay: clients only receive events emitted after the stream starts. + // Operator-only; gated on admin:read. + StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest]) (*connect.ServerStreamForClient[sdp_go.StreamEventsResponse], error) + // Lists persisted capital-E Events for one account, newest first. Operator + // inspection of the raw audit trail; gated on admin:read. account_name is + // REQUIRED (no caller-account fallback) — operators choose the tenant to + // inspect. Keyset-paginated via after_cursor / next_cursor. The read writes + // nothing (no meta-audit event is emitted). + ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) + // Cancels a running workflow. Idempotent for already-completed runs. + // Operator-only; gated on admin:write. + CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) + // Sends a follow-up question against a completed run's OpenAI context. + // The server streams the model's answer as ExecuteWorkflowResponse steps. + // Returns NotFound when the run has no stored response ID. + // Operator-only; gated on admin:write. + SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) + // Lists every non-deleted plan across every tenant. Operator-only; gated + // on admin:read (brent-area51 and staff Admin role). + // + // Summary fields only — `content` is omitted to keep payloads bounded. + // Use GetPlan to fetch the full plan body. + ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) + // Fetches a single plan by ID, ignoring account scope. Returns the full + // plan (including `content`) plus a summary of every related review on + // the same plan. Same admin:read gate as ListPlans. Returns NotFound for + // unknown / soft-deleted plans. + GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) + // Lists every non-deleted review across every tenant. Same admin:read + // gate as ListPlans. + ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) + // Fetches a single review by ID, ignoring account scope. Returns the + // review plus a summary of its parent plan (nil when the parent has been + // hard-deleted, which shouldn't happen today but keeps orphaned reviews + // debuggable). Same admin:read gate as ListPlans. Returns NotFound for + // unknown / soft-deleted reviews. + GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) + // Lists every known tenant as AccountSummary rows. Cross-tenant operator + // endpoint gated on admin:read (not the standard brent:read). Only staff + // with the platform Admin role hold this scope; brent-area51 requests it at login. + ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) + // Returns a rich activity summary for a single account: integration status, + // plan / review / workflow-run / pull-request counts, workflow-run error + // count, deviation verdict distribution, last-active timestamp, and the + // handful of most recent runs. Cross-tenant operator endpoint gated on + // admin:read. An unknown account returns an empty (zero-valued) summary + // rather than NotFound, so the detail page renders cleanly for a tenant + // with no activity yet. + GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) + // Runs a fixed set of health heuristics over a single account's recent + // activity and returns plain-language findings, each with a severity. This + // is an internal-only operator coaching aid — the findings are NEVER shown + // to the customer. Computed live on each call from database aggregates; no + // storage and no background job. Cross-tenant operator endpoint gated on + // admin:read. + GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) + // Lists GitHub repositories available to the account through its installed + // GitHub App. Cross-tenant operator endpoint gated on admin:read. + ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) + // Starts a temporary in-process metrics comparison run for one account/repo. + // The report body is not persisted; callers poll GetAccountMetricsComparisonRun. + // Cross-tenant operator endpoint gated on admin:write. + StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) + // Polls a temporary metrics comparison run. Cross-tenant operator endpoint + // gated on admin:read. Completed runs include sandbox-renderable HTML. + GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) + // Reads the Brent deviation settings (red_finding_kinds) for any account. + // This is the operator-facing twin of GetBrentSettings: it gates on + // admin:read and requires an explicit account_name, so the brent-area51 + // account detail page can show a customer's settings without holding that + // customer's brent:read scope. account_name is required (no caller-account + // fallback). + GetAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) + // Updates the Brent deviation settings (red_finding_kinds) for any account. + // Operator-facing twin of UpdateBrentSettings: gates on admin:write and + // requires an explicit account_name. PATCH semantics — omit red_finding_kinds + // to leave it unchanged; pass an empty array to disable red on all kinds. + UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + // Reads an account's LLM provider key status for support triage. Operator-facing + // twin of GetWorkspaceLLMCredentialStatus: gates on admin:read and takes an + // explicit account_name, so brent-area51 can show any account's key status + // without holding that account's brent:read scope. Metadata only — never the + // secret. account_name is required (no caller-account fallback). + GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) + // Lists workflow definitions for the caller's account, ordered by name. + // Account-scoped: callers see only their own tenant's rows. Operator-only; + // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); + // use GetWorkflow for the full definition. + ListWorkflows(context.Context, *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) + // Fetches a single workflow definition by ID within the caller's account. + // Returns NotFound when the workflow is missing, soft-deleted, or owned by + // a different account. Same admin:read gate as ListWorkflows. + GetWorkflow(context.Context, *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) + // Lists workflow runs for the caller's account, newest first. Account- + // scoped; gated on admin:read. Supports cursor pagination (limit + + // after_cursor) and an optional workflow_name filter for the per-workflow + // run-list view. + ListWorkflowRuns(context.Context, *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) + // Fetches a single workflow run by ID within the caller's account. Returns + // the full WorkflowRun (including prompt and the typed Event payload that + // triggered it) plus an optional parent WorkflowSummary lookable up by + // (account_name, name). Same admin:read gate. + GetWorkflowRun(context.Context, *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) + // Returns persisted steps for ancestor runs in the resumed_from_run_id chain + // (oldest first). The current run's live tail stays on WatchRun. Same + // admin:read gate as GetWorkflowRun. + GetWorkflowRunThreadHistory(context.Context, *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) + // Lists pull requests for the caller's tenant, sorted by updated_at DESC. + // Account-scoped: callers see only their own rows. Operator-only; gated on admin:read. + // The `state` filter accepts "" (default → open), "open", "closed" + // (state='closed' AND merged=false), "merged" (state='closed' AND + // merged=true), or "all". Returns summary fields including linked-plan info + // and the latest deviation verdict for the PR's current head SHA. + ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) + // Fetches a single pull request by its UUID. Account-scoped: a pr_id from + // another tenant returns NotFound (existence is never surfaced). Gated on + // admin:read. + GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) + // Lists deviation analyses for a pull request, newest-first by started_at. + // Account-scoped: a pr_id from another tenant returns an empty list (not an + // error). Gated on admin:read. + ListDeviationAnalysesForPR(context.Context, *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) + // Lists principals across every tenant for the Area51 debug UI. Operator-only; + // gated on admin:read. Summary fields only; use GetPrincipal for + // identities and bindings. + ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) + // Fetches a single principal by UUID, ignoring account scope, plus every + // identity and binding row (including tombstoned bindings). Same admin:read + // gate as ListPrincipals. Returns NotFound for unknown principals. + GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) + // Upserts a verified binding on any principal in any tenant. Operator-only; + // gated on admin:write. + UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) + // Tombstones a verified binding row by its external_id. Operator-only; + // gated on admin:write. + DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) + // Updates display_name and/or status on any principal. Operator-only; + // gated on admin:write. + UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) + // Inserts an identity row on any principal. Operator-only; gated on admin:write. + CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) + // Deletes an identity row by external_id. Operator-only; gated on admin:write. + DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) + // Validates and stores a per-principal integration secret for a provider. + // Write-only: the secret is never returned. Operator-only; gated on admin:write. + SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) + // Lists credential connection presence across principals (metadata only). + // Operator-only; gated on admin:read. + ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) + // Clears a stored credential and tombstones the matching verified binding. + // Operator-only; gated on admin:write. + DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) + // Returns a chronological timeline table for one PR: Brent-local rows plus + // a live GitHub overlay composed at request time. Account-scoped: a pr_id + // from another tenant returns NotFound. GitHub failures surface as warnings + // while Brent-local rows are still returned. Gated on admin:read. + GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) +} + +// NewBrentAdminServiceClient constructs a client for the brent.BrentAdminService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewBrentAdminServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BrentAdminServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + brentAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentAdminService").Methods() + return &brentAdminServiceClient{ + executeWorkflow: connect.NewClient[sdp_go.ExecuteWorkflowRequest, sdp_go.ExecuteWorkflowResponse]( + httpClient, + baseURL+BrentAdminServiceExecuteWorkflowProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ExecuteWorkflow")), + connect.WithClientOptions(opts...), + ), + listRuns: connect.NewClient[sdp_go.ListRunsRequest, sdp_go.ListRunsResponse]( + httpClient, + baseURL+BrentAdminServiceListRunsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListRuns")), + connect.WithClientOptions(opts...), + ), + watchRun: connect.NewClient[sdp_go.WatchRunRequest, sdp_go.ExecuteWorkflowResponse]( + httpClient, + baseURL+BrentAdminServiceWatchRunProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("WatchRun")), + connect.WithClientOptions(opts...), + ), + streamEvents: connect.NewClient[sdp_go.StreamEventsRequest, sdp_go.StreamEventsResponse]( + httpClient, + baseURL+BrentAdminServiceStreamEventsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("StreamEvents")), + connect.WithClientOptions(opts...), + ), + listEvents: connect.NewClient[sdp_go.ListEventsRequest, sdp_go.ListEventsResponse]( + httpClient, + baseURL+BrentAdminServiceListEventsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListEvents")), + connect.WithClientOptions(opts...), + ), + cancelRun: connect.NewClient[sdp_go.CancelRunRequest, sdp_go.CancelRunResponse]( + httpClient, + baseURL+BrentAdminServiceCancelRunProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("CancelRun")), + connect.WithClientOptions(opts...), + ), + sendQuestion: connect.NewClient[sdp_go.SendQuestionRequest, sdp_go.ExecuteWorkflowResponse]( + httpClient, + baseURL+BrentAdminServiceSendQuestionProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("SendQuestion")), + connect.WithClientOptions(opts...), + ), + listPlans: connect.NewClient[sdp_go.AdminListPlansRequest, sdp_go.AdminListPlansResponse]( + httpClient, + baseURL+BrentAdminServiceListPlansProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPlans")), + connect.WithClientOptions(opts...), + ), + getPlan: connect.NewClient[sdp_go.AdminGetPlanRequest, sdp_go.AdminGetPlanResponse]( + httpClient, + baseURL+BrentAdminServiceGetPlanProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPlan")), + connect.WithClientOptions(opts...), + ), + listReviews: connect.NewClient[sdp_go.AdminListReviewsRequest, sdp_go.AdminListReviewsResponse]( + httpClient, + baseURL+BrentAdminServiceListReviewsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListReviews")), + connect.WithClientOptions(opts...), + ), + getReview: connect.NewClient[sdp_go.AdminGetReviewRequest, sdp_go.AdminGetReviewResponse]( + httpClient, + baseURL+BrentAdminServiceGetReviewProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetReview")), + connect.WithClientOptions(opts...), + ), + listAccounts: connect.NewClient[emptypb.Empty, sdp_go.AdminListAccountsResponse]( + httpClient, + baseURL+BrentAdminServiceListAccountsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListAccounts")), + connect.WithClientOptions(opts...), + ), + getAccountSummary: connect.NewClient[sdp_go.AdminGetAccountSummaryRequest, sdp_go.AdminGetAccountSummaryResponse]( + httpClient, + baseURL+BrentAdminServiceGetAccountSummaryProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountSummary")), + connect.WithClientOptions(opts...), + ), + getAccountHealthAnalysis: connect.NewClient[sdp_go.AdminGetAccountHealthAnalysisRequest, sdp_go.AdminGetAccountHealthAnalysisResponse]( + httpClient, + baseURL+BrentAdminServiceGetAccountHealthAnalysisProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountHealthAnalysis")), + connect.WithClientOptions(opts...), + ), + listAccountMetricRepos: connect.NewClient[sdp_go.AdminListAccountMetricReposRequest, sdp_go.AdminListAccountMetricReposResponse]( + httpClient, + baseURL+BrentAdminServiceListAccountMetricReposProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountMetricRepos")), + connect.WithClientOptions(opts...), + ), + startAccountMetricsComparison: connect.NewClient[sdp_go.AdminStartAccountMetricsComparisonRequest, sdp_go.AdminStartAccountMetricsComparisonResponse]( + httpClient, + baseURL+BrentAdminServiceStartAccountMetricsComparisonProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("StartAccountMetricsComparison")), + connect.WithClientOptions(opts...), + ), + getAccountMetricsComparisonRun: connect.NewClient[sdp_go.AdminGetAccountMetricsComparisonRunRequest, sdp_go.AdminGetAccountMetricsComparisonRunResponse]( + httpClient, + baseURL+BrentAdminServiceGetAccountMetricsComparisonRunProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), + connect.WithClientOptions(opts...), + ), + getAccountBrentSettings: connect.NewClient[sdp_go.AdminGetAccountBrentSettingsRequest, sdp_go.GetBrentSettingsResponse]( + httpClient, + baseURL+BrentAdminServiceGetAccountBrentSettingsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountBrentSettings")), + connect.WithClientOptions(opts...), + ), + updateAccountBrentSettings: connect.NewClient[sdp_go.AdminUpdateAccountBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse]( + httpClient, + baseURL+BrentAdminServiceUpdateAccountBrentSettingsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountBrentSettings")), + connect.WithClientOptions(opts...), + ), + getAccountLLMCredentialStatus: connect.NewClient[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse]( + httpClient, + baseURL+BrentAdminServiceGetAccountLLMCredentialStatusProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), + connect.WithClientOptions(opts...), + ), + listWorkflows: connect.NewClient[sdp_go.ListWorkflowsRequest, sdp_go.ListWorkflowsResponse]( + httpClient, + baseURL+BrentAdminServiceListWorkflowsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflows")), + connect.WithClientOptions(opts...), + ), + getWorkflow: connect.NewClient[sdp_go.GetWorkflowRequest, sdp_go.GetWorkflowResponse]( + httpClient, + baseURL+BrentAdminServiceGetWorkflowProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflow")), + connect.WithClientOptions(opts...), + ), + listWorkflowRuns: connect.NewClient[sdp_go.ListWorkflowRunsRequest, sdp_go.ListWorkflowRunsResponse]( + httpClient, + baseURL+BrentAdminServiceListWorkflowRunsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflowRuns")), + connect.WithClientOptions(opts...), + ), + getWorkflowRun: connect.NewClient[sdp_go.GetWorkflowRunRequest, sdp_go.GetWorkflowRunResponse]( + httpClient, + baseURL+BrentAdminServiceGetWorkflowRunProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRun")), + connect.WithClientOptions(opts...), + ), + getWorkflowRunThreadHistory: connect.NewClient[sdp_go.GetWorkflowRunThreadHistoryRequest, sdp_go.GetWorkflowRunThreadHistoryResponse]( + httpClient, + baseURL+BrentAdminServiceGetWorkflowRunThreadHistoryProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRunThreadHistory")), + connect.WithClientOptions(opts...), + ), + listPullRequests: connect.NewClient[sdp_go.ListPullRequestsRequest, sdp_go.ListPullRequestsResponse]( + httpClient, + baseURL+BrentAdminServiceListPullRequestsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPullRequests")), + connect.WithClientOptions(opts...), + ), + getPullRequestByID: connect.NewClient[sdp_go.GetPullRequestByIDRequest, sdp_go.GetPullRequestByIDResponse]( + httpClient, + baseURL+BrentAdminServiceGetPullRequestByIDProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestByID")), + connect.WithClientOptions(opts...), + ), + listDeviationAnalysesForPR: connect.NewClient[sdp_go.ListDeviationAnalysesForPRRequest, sdp_go.ListDeviationAnalysesForPRResponse]( + httpClient, + baseURL+BrentAdminServiceListDeviationAnalysesForPRProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListDeviationAnalysesForPR")), + connect.WithClientOptions(opts...), + ), + listPrincipals: connect.NewClient[sdp_go.AdminListPrincipalsRequest, sdp_go.AdminListPrincipalsResponse]( + httpClient, + baseURL+BrentAdminServiceListPrincipalsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipals")), + connect.WithClientOptions(opts...), + ), + getPrincipal: connect.NewClient[sdp_go.AdminGetPrincipalRequest, sdp_go.AdminGetPrincipalResponse]( + httpClient, + baseURL+BrentAdminServiceGetPrincipalProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPrincipal")), + connect.WithClientOptions(opts...), + ), + upsertPrincipalBinding: connect.NewClient[sdp_go.AdminUpsertPrincipalBindingRequest, sdp_go.AdminUpsertPrincipalBindingResponse]( + httpClient, + baseURL+BrentAdminServiceUpsertPrincipalBindingProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("UpsertPrincipalBinding")), + connect.WithClientOptions(opts...), + ), + deletePrincipalBinding: connect.NewClient[sdp_go.AdminDeletePrincipalBindingRequest, sdp_go.AdminDeletePrincipalBindingResponse]( + httpClient, + baseURL+BrentAdminServiceDeletePrincipalBindingProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalBinding")), + connect.WithClientOptions(opts...), + ), + updatePrincipal: connect.NewClient[sdp_go.AdminUpdatePrincipalRequest, sdp_go.AdminUpdatePrincipalResponse]( + httpClient, + baseURL+BrentAdminServiceUpdatePrincipalProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("UpdatePrincipal")), + connect.WithClientOptions(opts...), + ), + createPrincipalIdentity: connect.NewClient[sdp_go.AdminCreatePrincipalIdentityRequest, sdp_go.AdminCreatePrincipalIdentityResponse]( + httpClient, + baseURL+BrentAdminServiceCreatePrincipalIdentityProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("CreatePrincipalIdentity")), + connect.WithClientOptions(opts...), + ), + deletePrincipalIdentity: connect.NewClient[sdp_go.AdminDeletePrincipalIdentityRequest, sdp_go.AdminDeletePrincipalIdentityResponse]( + httpClient, + baseURL+BrentAdminServiceDeletePrincipalIdentityProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalIdentity")), + connect.WithClientOptions(opts...), + ), + setPrincipalCredential: connect.NewClient[sdp_go.AdminSetPrincipalCredentialRequest, sdp_go.AdminSetPrincipalCredentialResponse]( + httpClient, + baseURL+BrentAdminServiceSetPrincipalCredentialProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("SetPrincipalCredential")), + connect.WithClientOptions(opts...), + ), + listPrincipalCredentialConnections: connect.NewClient[sdp_go.AdminListPrincipalCredentialConnectionsRequest, sdp_go.AdminListPrincipalCredentialConnectionsResponse]( + httpClient, + baseURL+BrentAdminServiceListPrincipalCredentialConnectionsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), + connect.WithClientOptions(opts...), + ), + deletePrincipalCredential: connect.NewClient[sdp_go.AdminDeletePrincipalCredentialRequest, sdp_go.AdminDeletePrincipalCredentialResponse]( + httpClient, + baseURL+BrentAdminServiceDeletePrincipalCredentialProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalCredential")), + connect.WithClientOptions(opts...), + ), + getPullRequestTimeline: connect.NewClient[sdp_go.GetPullRequestTimelineRequest, sdp_go.GetPullRequestTimelineResponse]( + httpClient, + baseURL+BrentAdminServiceGetPullRequestTimelineProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestTimeline")), + connect.WithClientOptions(opts...), + ), + } +} + +// brentAdminServiceClient implements BrentAdminServiceClient. +type brentAdminServiceClient struct { + executeWorkflow *connect.Client[sdp_go.ExecuteWorkflowRequest, sdp_go.ExecuteWorkflowResponse] + listRuns *connect.Client[sdp_go.ListRunsRequest, sdp_go.ListRunsResponse] + watchRun *connect.Client[sdp_go.WatchRunRequest, sdp_go.ExecuteWorkflowResponse] + streamEvents *connect.Client[sdp_go.StreamEventsRequest, sdp_go.StreamEventsResponse] + listEvents *connect.Client[sdp_go.ListEventsRequest, sdp_go.ListEventsResponse] + cancelRun *connect.Client[sdp_go.CancelRunRequest, sdp_go.CancelRunResponse] + sendQuestion *connect.Client[sdp_go.SendQuestionRequest, sdp_go.ExecuteWorkflowResponse] + listPlans *connect.Client[sdp_go.AdminListPlansRequest, sdp_go.AdminListPlansResponse] + getPlan *connect.Client[sdp_go.AdminGetPlanRequest, sdp_go.AdminGetPlanResponse] + listReviews *connect.Client[sdp_go.AdminListReviewsRequest, sdp_go.AdminListReviewsResponse] + getReview *connect.Client[sdp_go.AdminGetReviewRequest, sdp_go.AdminGetReviewResponse] + listAccounts *connect.Client[emptypb.Empty, sdp_go.AdminListAccountsResponse] + getAccountSummary *connect.Client[sdp_go.AdminGetAccountSummaryRequest, sdp_go.AdminGetAccountSummaryResponse] + getAccountHealthAnalysis *connect.Client[sdp_go.AdminGetAccountHealthAnalysisRequest, sdp_go.AdminGetAccountHealthAnalysisResponse] + listAccountMetricRepos *connect.Client[sdp_go.AdminListAccountMetricReposRequest, sdp_go.AdminListAccountMetricReposResponse] + startAccountMetricsComparison *connect.Client[sdp_go.AdminStartAccountMetricsComparisonRequest, sdp_go.AdminStartAccountMetricsComparisonResponse] + getAccountMetricsComparisonRun *connect.Client[sdp_go.AdminGetAccountMetricsComparisonRunRequest, sdp_go.AdminGetAccountMetricsComparisonRunResponse] + getAccountBrentSettings *connect.Client[sdp_go.AdminGetAccountBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] + updateAccountBrentSettings *connect.Client[sdp_go.AdminUpdateAccountBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] + getAccountLLMCredentialStatus *connect.Client[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse] + listWorkflows *connect.Client[sdp_go.ListWorkflowsRequest, sdp_go.ListWorkflowsResponse] + getWorkflow *connect.Client[sdp_go.GetWorkflowRequest, sdp_go.GetWorkflowResponse] + listWorkflowRuns *connect.Client[sdp_go.ListWorkflowRunsRequest, sdp_go.ListWorkflowRunsResponse] + getWorkflowRun *connect.Client[sdp_go.GetWorkflowRunRequest, sdp_go.GetWorkflowRunResponse] + getWorkflowRunThreadHistory *connect.Client[sdp_go.GetWorkflowRunThreadHistoryRequest, sdp_go.GetWorkflowRunThreadHistoryResponse] + listPullRequests *connect.Client[sdp_go.ListPullRequestsRequest, sdp_go.ListPullRequestsResponse] + getPullRequestByID *connect.Client[sdp_go.GetPullRequestByIDRequest, sdp_go.GetPullRequestByIDResponse] + listDeviationAnalysesForPR *connect.Client[sdp_go.ListDeviationAnalysesForPRRequest, sdp_go.ListDeviationAnalysesForPRResponse] + listPrincipals *connect.Client[sdp_go.AdminListPrincipalsRequest, sdp_go.AdminListPrincipalsResponse] + getPrincipal *connect.Client[sdp_go.AdminGetPrincipalRequest, sdp_go.AdminGetPrincipalResponse] + upsertPrincipalBinding *connect.Client[sdp_go.AdminUpsertPrincipalBindingRequest, sdp_go.AdminUpsertPrincipalBindingResponse] + deletePrincipalBinding *connect.Client[sdp_go.AdminDeletePrincipalBindingRequest, sdp_go.AdminDeletePrincipalBindingResponse] + updatePrincipal *connect.Client[sdp_go.AdminUpdatePrincipalRequest, sdp_go.AdminUpdatePrincipalResponse] + createPrincipalIdentity *connect.Client[sdp_go.AdminCreatePrincipalIdentityRequest, sdp_go.AdminCreatePrincipalIdentityResponse] + deletePrincipalIdentity *connect.Client[sdp_go.AdminDeletePrincipalIdentityRequest, sdp_go.AdminDeletePrincipalIdentityResponse] + setPrincipalCredential *connect.Client[sdp_go.AdminSetPrincipalCredentialRequest, sdp_go.AdminSetPrincipalCredentialResponse] + listPrincipalCredentialConnections *connect.Client[sdp_go.AdminListPrincipalCredentialConnectionsRequest, sdp_go.AdminListPrincipalCredentialConnectionsResponse] + deletePrincipalCredential *connect.Client[sdp_go.AdminDeletePrincipalCredentialRequest, sdp_go.AdminDeletePrincipalCredentialResponse] + getPullRequestTimeline *connect.Client[sdp_go.GetPullRequestTimelineRequest, sdp_go.GetPullRequestTimelineResponse] +} + +// ExecuteWorkflow calls brent.BrentAdminService.ExecuteWorkflow. +func (c *brentAdminServiceClient) ExecuteWorkflow(ctx context.Context, req *connect.Request[sdp_go.ExecuteWorkflowRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) { + return c.executeWorkflow.CallServerStream(ctx, req) +} + +// ListRuns calls brent.BrentAdminService.ListRuns. +func (c *brentAdminServiceClient) ListRuns(ctx context.Context, req *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { + return c.listRuns.CallUnary(ctx, req) +} + +// WatchRun calls brent.BrentAdminService.WatchRun. +func (c *brentAdminServiceClient) WatchRun(ctx context.Context, req *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) { + return c.watchRun.CallServerStream(ctx, req) +} + +// StreamEvents calls brent.BrentAdminService.StreamEvents. +func (c *brentAdminServiceClient) StreamEvents(ctx context.Context, req *connect.Request[sdp_go.StreamEventsRequest]) (*connect.ServerStreamForClient[sdp_go.StreamEventsResponse], error) { + return c.streamEvents.CallServerStream(ctx, req) +} + +// ListEvents calls brent.BrentAdminService.ListEvents. +func (c *brentAdminServiceClient) ListEvents(ctx context.Context, req *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { + return c.listEvents.CallUnary(ctx, req) +} + +// CancelRun calls brent.BrentAdminService.CancelRun. +func (c *brentAdminServiceClient) CancelRun(ctx context.Context, req *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { + return c.cancelRun.CallUnary(ctx, req) +} + +// SendQuestion calls brent.BrentAdminService.SendQuestion. +func (c *brentAdminServiceClient) SendQuestion(ctx context.Context, req *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) { + return c.sendQuestion.CallServerStream(ctx, req) +} + +// ListPlans calls brent.BrentAdminService.ListPlans. +func (c *brentAdminServiceClient) ListPlans(ctx context.Context, req *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { + return c.listPlans.CallUnary(ctx, req) +} + +// GetPlan calls brent.BrentAdminService.GetPlan. +func (c *brentAdminServiceClient) GetPlan(ctx context.Context, req *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { + return c.getPlan.CallUnary(ctx, req) +} + +// ListReviews calls brent.BrentAdminService.ListReviews. +func (c *brentAdminServiceClient) ListReviews(ctx context.Context, req *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { + return c.listReviews.CallUnary(ctx, req) +} + +// GetReview calls brent.BrentAdminService.GetReview. +func (c *brentAdminServiceClient) GetReview(ctx context.Context, req *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { + return c.getReview.CallUnary(ctx, req) +} + +// ListAccounts calls brent.BrentAdminService.ListAccounts. +func (c *brentAdminServiceClient) ListAccounts(ctx context.Context, req *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { + return c.listAccounts.CallUnary(ctx, req) +} + +// GetAccountSummary calls brent.BrentAdminService.GetAccountSummary. +func (c *brentAdminServiceClient) GetAccountSummary(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { + return c.getAccountSummary.CallUnary(ctx, req) +} + +// GetAccountHealthAnalysis calls brent.BrentAdminService.GetAccountHealthAnalysis. +func (c *brentAdminServiceClient) GetAccountHealthAnalysis(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { + return c.getAccountHealthAnalysis.CallUnary(ctx, req) +} + +// ListAccountMetricRepos calls brent.BrentAdminService.ListAccountMetricRepos. +func (c *brentAdminServiceClient) ListAccountMetricRepos(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { + return c.listAccountMetricRepos.CallUnary(ctx, req) +} + +// StartAccountMetricsComparison calls brent.BrentAdminService.StartAccountMetricsComparison. +func (c *brentAdminServiceClient) StartAccountMetricsComparison(ctx context.Context, req *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { + return c.startAccountMetricsComparison.CallUnary(ctx, req) +} + +// GetAccountMetricsComparisonRun calls brent.BrentAdminService.GetAccountMetricsComparisonRun. +func (c *brentAdminServiceClient) GetAccountMetricsComparisonRun(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { + return c.getAccountMetricsComparisonRun.CallUnary(ctx, req) +} + +// GetAccountBrentSettings calls brent.BrentAdminService.GetAccountBrentSettings. +func (c *brentAdminServiceClient) GetAccountBrentSettings(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { + return c.getAccountBrentSettings.CallUnary(ctx, req) +} + +// UpdateAccountBrentSettings calls brent.BrentAdminService.UpdateAccountBrentSettings. +func (c *brentAdminServiceClient) UpdateAccountBrentSettings(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { + return c.updateAccountBrentSettings.CallUnary(ctx, req) +} + +// GetAccountLLMCredentialStatus calls brent.BrentAdminService.GetAccountLLMCredentialStatus. +func (c *brentAdminServiceClient) GetAccountLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { + return c.getAccountLLMCredentialStatus.CallUnary(ctx, req) +} + +// ListWorkflows calls brent.BrentAdminService.ListWorkflows. +func (c *brentAdminServiceClient) ListWorkflows(ctx context.Context, req *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) { + return c.listWorkflows.CallUnary(ctx, req) +} + +// GetWorkflow calls brent.BrentAdminService.GetWorkflow. +func (c *brentAdminServiceClient) GetWorkflow(ctx context.Context, req *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) { + return c.getWorkflow.CallUnary(ctx, req) +} + +// ListWorkflowRuns calls brent.BrentAdminService.ListWorkflowRuns. +func (c *brentAdminServiceClient) ListWorkflowRuns(ctx context.Context, req *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) { + return c.listWorkflowRuns.CallUnary(ctx, req) +} + +// GetWorkflowRun calls brent.BrentAdminService.GetWorkflowRun. +func (c *brentAdminServiceClient) GetWorkflowRun(ctx context.Context, req *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) { + return c.getWorkflowRun.CallUnary(ctx, req) +} + +// GetWorkflowRunThreadHistory calls brent.BrentAdminService.GetWorkflowRunThreadHistory. +func (c *brentAdminServiceClient) GetWorkflowRunThreadHistory(ctx context.Context, req *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) { + return c.getWorkflowRunThreadHistory.CallUnary(ctx, req) +} + +// ListPullRequests calls brent.BrentAdminService.ListPullRequests. +func (c *brentAdminServiceClient) ListPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { + return c.listPullRequests.CallUnary(ctx, req) +} + +// GetPullRequestByID calls brent.BrentAdminService.GetPullRequestByID. +func (c *brentAdminServiceClient) GetPullRequestByID(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { + return c.getPullRequestByID.CallUnary(ctx, req) +} + +// ListDeviationAnalysesForPR calls brent.BrentAdminService.ListDeviationAnalysesForPR. +func (c *brentAdminServiceClient) ListDeviationAnalysesForPR(ctx context.Context, req *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) { + return c.listDeviationAnalysesForPR.CallUnary(ctx, req) +} + +// ListPrincipals calls brent.BrentAdminService.ListPrincipals. +func (c *brentAdminServiceClient) ListPrincipals(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { + return c.listPrincipals.CallUnary(ctx, req) +} + +// GetPrincipal calls brent.BrentAdminService.GetPrincipal. +func (c *brentAdminServiceClient) GetPrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { + return c.getPrincipal.CallUnary(ctx, req) +} + +// UpsertPrincipalBinding calls brent.BrentAdminService.UpsertPrincipalBinding. +func (c *brentAdminServiceClient) UpsertPrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { + return c.upsertPrincipalBinding.CallUnary(ctx, req) +} + +// DeletePrincipalBinding calls brent.BrentAdminService.DeletePrincipalBinding. +func (c *brentAdminServiceClient) DeletePrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { + return c.deletePrincipalBinding.CallUnary(ctx, req) +} + +// UpdatePrincipal calls brent.BrentAdminService.UpdatePrincipal. +func (c *brentAdminServiceClient) UpdatePrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { + return c.updatePrincipal.CallUnary(ctx, req) +} + +// CreatePrincipalIdentity calls brent.BrentAdminService.CreatePrincipalIdentity. +func (c *brentAdminServiceClient) CreatePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { + return c.createPrincipalIdentity.CallUnary(ctx, req) +} + +// DeletePrincipalIdentity calls brent.BrentAdminService.DeletePrincipalIdentity. +func (c *brentAdminServiceClient) DeletePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { + return c.deletePrincipalIdentity.CallUnary(ctx, req) +} + +// SetPrincipalCredential calls brent.BrentAdminService.SetPrincipalCredential. +func (c *brentAdminServiceClient) SetPrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { + return c.setPrincipalCredential.CallUnary(ctx, req) +} + +// ListPrincipalCredentialConnections calls +// brent.BrentAdminService.ListPrincipalCredentialConnections. +func (c *brentAdminServiceClient) ListPrincipalCredentialConnections(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { + return c.listPrincipalCredentialConnections.CallUnary(ctx, req) +} + +// DeletePrincipalCredential calls brent.BrentAdminService.DeletePrincipalCredential. +func (c *brentAdminServiceClient) DeletePrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { + return c.deletePrincipalCredential.CallUnary(ctx, req) +} + +// GetPullRequestTimeline calls brent.BrentAdminService.GetPullRequestTimeline. +func (c *brentAdminServiceClient) GetPullRequestTimeline(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { + return c.getPullRequestTimeline.CallUnary(ctx, req) +} + +// BrentAdminServiceHandler is an implementation of the brent.BrentAdminService service. +type BrentAdminServiceHandler interface { + // Executes a workflow from a natural-language prompt. The server streams + // steps as the agent reasons, calls MCP tools, and produces a final result. + // The stream ends with either a CompletionStep or a terminal ErrorStep. + // Operator-only; gated on admin:write. + ExecuteWorkflow(context.Context, *connect.Request[sdp_go.ExecuteWorkflowRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error + // Lists all tracked runs (both UI-initiated and webhook-triggered). + // Operator-only; gated on admin:read. + ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) + // Streams steps for a specific run. Replays buffered steps first, then + // streams live steps until the run completes or the client disconnects. + // Operator-only; gated on admin:read. + WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error + // Streams live capital-E Events for the caller's account. No history or + // replay: clients only receive events emitted after the stream starts. + // Operator-only; gated on admin:read. + StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest], *connect.ServerStream[sdp_go.StreamEventsResponse]) error + // Lists persisted capital-E Events for one account, newest first. Operator + // inspection of the raw audit trail; gated on admin:read. account_name is + // REQUIRED (no caller-account fallback) — operators choose the tenant to + // inspect. Keyset-paginated via after_cursor / next_cursor. The read writes + // nothing (no meta-audit event is emitted). + ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) + // Cancels a running workflow. Idempotent for already-completed runs. + // Operator-only; gated on admin:write. + CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) + // Sends a follow-up question against a completed run's OpenAI context. + // The server streams the model's answer as ExecuteWorkflowResponse steps. + // Returns NotFound when the run has no stored response ID. + // Operator-only; gated on admin:write. + SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error + // Lists every non-deleted plan across every tenant. Operator-only; gated + // on admin:read (brent-area51 and staff Admin role). + // + // Summary fields only — `content` is omitted to keep payloads bounded. + // Use GetPlan to fetch the full plan body. + ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) + // Fetches a single plan by ID, ignoring account scope. Returns the full + // plan (including `content`) plus a summary of every related review on + // the same plan. Same admin:read gate as ListPlans. Returns NotFound for + // unknown / soft-deleted plans. + GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) + // Lists every non-deleted review across every tenant. Same admin:read + // gate as ListPlans. + ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) + // Fetches a single review by ID, ignoring account scope. Returns the + // review plus a summary of its parent plan (nil when the parent has been + // hard-deleted, which shouldn't happen today but keeps orphaned reviews + // debuggable). Same admin:read gate as ListPlans. Returns NotFound for + // unknown / soft-deleted reviews. + GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) + // Lists every known tenant as AccountSummary rows. Cross-tenant operator + // endpoint gated on admin:read (not the standard brent:read). Only staff + // with the platform Admin role hold this scope; brent-area51 requests it at login. + ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) + // Returns a rich activity summary for a single account: integration status, + // plan / review / workflow-run / pull-request counts, workflow-run error + // count, deviation verdict distribution, last-active timestamp, and the + // handful of most recent runs. Cross-tenant operator endpoint gated on + // admin:read. An unknown account returns an empty (zero-valued) summary + // rather than NotFound, so the detail page renders cleanly for a tenant + // with no activity yet. + GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) + // Runs a fixed set of health heuristics over a single account's recent + // activity and returns plain-language findings, each with a severity. This + // is an internal-only operator coaching aid — the findings are NEVER shown + // to the customer. Computed live on each call from database aggregates; no + // storage and no background job. Cross-tenant operator endpoint gated on + // admin:read. + GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) + // Lists GitHub repositories available to the account through its installed + // GitHub App. Cross-tenant operator endpoint gated on admin:read. + ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) + // Starts a temporary in-process metrics comparison run for one account/repo. + // The report body is not persisted; callers poll GetAccountMetricsComparisonRun. + // Cross-tenant operator endpoint gated on admin:write. + StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) + // Polls a temporary metrics comparison run. Cross-tenant operator endpoint + // gated on admin:read. Completed runs include sandbox-renderable HTML. + GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) + // Reads the Brent deviation settings (red_finding_kinds) for any account. + // This is the operator-facing twin of GetBrentSettings: it gates on + // admin:read and requires an explicit account_name, so the brent-area51 + // account detail page can show a customer's settings without holding that + // customer's brent:read scope. account_name is required (no caller-account + // fallback). + GetAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) + // Updates the Brent deviation settings (red_finding_kinds) for any account. + // Operator-facing twin of UpdateBrentSettings: gates on admin:write and + // requires an explicit account_name. PATCH semantics — omit red_finding_kinds + // to leave it unchanged; pass an empty array to disable red on all kinds. + UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + // Reads an account's LLM provider key status for support triage. Operator-facing + // twin of GetWorkspaceLLMCredentialStatus: gates on admin:read and takes an + // explicit account_name, so brent-area51 can show any account's key status + // without holding that account's brent:read scope. Metadata only — never the + // secret. account_name is required (no caller-account fallback). + GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) + // Lists workflow definitions for the caller's account, ordered by name. + // Account-scoped: callers see only their own tenant's rows. Operator-only; + // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); + // use GetWorkflow for the full definition. + ListWorkflows(context.Context, *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) + // Fetches a single workflow definition by ID within the caller's account. + // Returns NotFound when the workflow is missing, soft-deleted, or owned by + // a different account. Same admin:read gate as ListWorkflows. + GetWorkflow(context.Context, *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) + // Lists workflow runs for the caller's account, newest first. Account- + // scoped; gated on admin:read. Supports cursor pagination (limit + + // after_cursor) and an optional workflow_name filter for the per-workflow + // run-list view. + ListWorkflowRuns(context.Context, *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) + // Fetches a single workflow run by ID within the caller's account. Returns + // the full WorkflowRun (including prompt and the typed Event payload that + // triggered it) plus an optional parent WorkflowSummary lookable up by + // (account_name, name). Same admin:read gate. + GetWorkflowRun(context.Context, *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) + // Returns persisted steps for ancestor runs in the resumed_from_run_id chain + // (oldest first). The current run's live tail stays on WatchRun. Same + // admin:read gate as GetWorkflowRun. + GetWorkflowRunThreadHistory(context.Context, *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) + // Lists pull requests for the caller's tenant, sorted by updated_at DESC. + // Account-scoped: callers see only their own rows. Operator-only; gated on admin:read. + // The `state` filter accepts "" (default → open), "open", "closed" + // (state='closed' AND merged=false), "merged" (state='closed' AND + // merged=true), or "all". Returns summary fields including linked-plan info + // and the latest deviation verdict for the PR's current head SHA. + ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) + // Fetches a single pull request by its UUID. Account-scoped: a pr_id from + // another tenant returns NotFound (existence is never surfaced). Gated on + // admin:read. + GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) + // Lists deviation analyses for a pull request, newest-first by started_at. + // Account-scoped: a pr_id from another tenant returns an empty list (not an + // error). Gated on admin:read. + ListDeviationAnalysesForPR(context.Context, *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) + // Lists principals across every tenant for the Area51 debug UI. Operator-only; + // gated on admin:read. Summary fields only; use GetPrincipal for + // identities and bindings. + ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) + // Fetches a single principal by UUID, ignoring account scope, plus every + // identity and binding row (including tombstoned bindings). Same admin:read + // gate as ListPrincipals. Returns NotFound for unknown principals. + GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) + // Upserts a verified binding on any principal in any tenant. Operator-only; + // gated on admin:write. + UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) + // Tombstones a verified binding row by its external_id. Operator-only; + // gated on admin:write. + DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) + // Updates display_name and/or status on any principal. Operator-only; + // gated on admin:write. + UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) + // Inserts an identity row on any principal. Operator-only; gated on admin:write. + CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) + // Deletes an identity row by external_id. Operator-only; gated on admin:write. + DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) + // Validates and stores a per-principal integration secret for a provider. + // Write-only: the secret is never returned. Operator-only; gated on admin:write. + SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) + // Lists credential connection presence across principals (metadata only). + // Operator-only; gated on admin:read. + ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) + // Clears a stored credential and tombstones the matching verified binding. + // Operator-only; gated on admin:write. + DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) + // Returns a chronological timeline table for one PR: Brent-local rows plus + // a live GitHub overlay composed at request time. Account-scoped: a pr_id + // from another tenant returns NotFound. GitHub failures surface as warnings + // while Brent-local rows are still returned. Gated on admin:read. + GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) +} + +// NewBrentAdminServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewBrentAdminServiceHandler(svc BrentAdminServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + brentAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentAdminService").Methods() + brentAdminServiceExecuteWorkflowHandler := connect.NewServerStreamHandler( + BrentAdminServiceExecuteWorkflowProcedure, + svc.ExecuteWorkflow, + connect.WithSchema(brentAdminServiceMethods.ByName("ExecuteWorkflow")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListRunsHandler := connect.NewUnaryHandler( + BrentAdminServiceListRunsProcedure, + svc.ListRuns, + connect.WithSchema(brentAdminServiceMethods.ByName("ListRuns")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceWatchRunHandler := connect.NewServerStreamHandler( + BrentAdminServiceWatchRunProcedure, + svc.WatchRun, + connect.WithSchema(brentAdminServiceMethods.ByName("WatchRun")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceStreamEventsHandler := connect.NewServerStreamHandler( + BrentAdminServiceStreamEventsProcedure, + svc.StreamEvents, + connect.WithSchema(brentAdminServiceMethods.ByName("StreamEvents")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListEventsHandler := connect.NewUnaryHandler( + BrentAdminServiceListEventsProcedure, + svc.ListEvents, + connect.WithSchema(brentAdminServiceMethods.ByName("ListEvents")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceCancelRunHandler := connect.NewUnaryHandler( + BrentAdminServiceCancelRunProcedure, + svc.CancelRun, + connect.WithSchema(brentAdminServiceMethods.ByName("CancelRun")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceSendQuestionHandler := connect.NewServerStreamHandler( + BrentAdminServiceSendQuestionProcedure, + svc.SendQuestion, + connect.WithSchema(brentAdminServiceMethods.ByName("SendQuestion")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListPlansHandler := connect.NewUnaryHandler( + BrentAdminServiceListPlansProcedure, + svc.ListPlans, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPlans")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetPlanHandler := connect.NewUnaryHandler( + BrentAdminServiceGetPlanProcedure, + svc.GetPlan, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPlan")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListReviewsHandler := connect.NewUnaryHandler( + BrentAdminServiceListReviewsProcedure, + svc.ListReviews, + connect.WithSchema(brentAdminServiceMethods.ByName("ListReviews")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetReviewHandler := connect.NewUnaryHandler( + BrentAdminServiceGetReviewProcedure, + svc.GetReview, + connect.WithSchema(brentAdminServiceMethods.ByName("GetReview")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListAccountsHandler := connect.NewUnaryHandler( + BrentAdminServiceListAccountsProcedure, + svc.ListAccounts, + connect.WithSchema(brentAdminServiceMethods.ByName("ListAccounts")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetAccountSummaryHandler := connect.NewUnaryHandler( + BrentAdminServiceGetAccountSummaryProcedure, + svc.GetAccountSummary, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountSummary")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetAccountHealthAnalysisHandler := connect.NewUnaryHandler( + BrentAdminServiceGetAccountHealthAnalysisProcedure, + svc.GetAccountHealthAnalysis, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountHealthAnalysis")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListAccountMetricReposHandler := connect.NewUnaryHandler( + BrentAdminServiceListAccountMetricReposProcedure, + svc.ListAccountMetricRepos, + connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountMetricRepos")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceStartAccountMetricsComparisonHandler := connect.NewUnaryHandler( + BrentAdminServiceStartAccountMetricsComparisonProcedure, + svc.StartAccountMetricsComparison, + connect.WithSchema(brentAdminServiceMethods.ByName("StartAccountMetricsComparison")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetAccountMetricsComparisonRunHandler := connect.NewUnaryHandler( + BrentAdminServiceGetAccountMetricsComparisonRunProcedure, + svc.GetAccountMetricsComparisonRun, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetAccountBrentSettingsHandler := connect.NewUnaryHandler( + BrentAdminServiceGetAccountBrentSettingsProcedure, + svc.GetAccountBrentSettings, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountBrentSettings")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceUpdateAccountBrentSettingsHandler := connect.NewUnaryHandler( + BrentAdminServiceUpdateAccountBrentSettingsProcedure, + svc.UpdateAccountBrentSettings, + connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountBrentSettings")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetAccountLLMCredentialStatusHandler := connect.NewUnaryHandler( + BrentAdminServiceGetAccountLLMCredentialStatusProcedure, + svc.GetAccountLLMCredentialStatus, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListWorkflowsHandler := connect.NewUnaryHandler( + BrentAdminServiceListWorkflowsProcedure, + svc.ListWorkflows, + connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflows")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetWorkflowHandler := connect.NewUnaryHandler( + BrentAdminServiceGetWorkflowProcedure, + svc.GetWorkflow, + connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflow")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListWorkflowRunsHandler := connect.NewUnaryHandler( + BrentAdminServiceListWorkflowRunsProcedure, + svc.ListWorkflowRuns, + connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflowRuns")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetWorkflowRunHandler := connect.NewUnaryHandler( + BrentAdminServiceGetWorkflowRunProcedure, + svc.GetWorkflowRun, + connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRun")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetWorkflowRunThreadHistoryHandler := connect.NewUnaryHandler( + BrentAdminServiceGetWorkflowRunThreadHistoryProcedure, + svc.GetWorkflowRunThreadHistory, + connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRunThreadHistory")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListPullRequestsHandler := connect.NewUnaryHandler( + BrentAdminServiceListPullRequestsProcedure, + svc.ListPullRequests, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPullRequests")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetPullRequestByIDHandler := connect.NewUnaryHandler( + BrentAdminServiceGetPullRequestByIDProcedure, + svc.GetPullRequestByID, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestByID")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListDeviationAnalysesForPRHandler := connect.NewUnaryHandler( + BrentAdminServiceListDeviationAnalysesForPRProcedure, + svc.ListDeviationAnalysesForPR, + connect.WithSchema(brentAdminServiceMethods.ByName("ListDeviationAnalysesForPR")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListPrincipalsHandler := connect.NewUnaryHandler( + BrentAdminServiceListPrincipalsProcedure, + svc.ListPrincipals, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipals")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetPrincipalHandler := connect.NewUnaryHandler( + BrentAdminServiceGetPrincipalProcedure, + svc.GetPrincipal, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPrincipal")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceUpsertPrincipalBindingHandler := connect.NewUnaryHandler( + BrentAdminServiceUpsertPrincipalBindingProcedure, + svc.UpsertPrincipalBinding, + connect.WithSchema(brentAdminServiceMethods.ByName("UpsertPrincipalBinding")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceDeletePrincipalBindingHandler := connect.NewUnaryHandler( + BrentAdminServiceDeletePrincipalBindingProcedure, + svc.DeletePrincipalBinding, + connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalBinding")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceUpdatePrincipalHandler := connect.NewUnaryHandler( + BrentAdminServiceUpdatePrincipalProcedure, + svc.UpdatePrincipal, + connect.WithSchema(brentAdminServiceMethods.ByName("UpdatePrincipal")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceCreatePrincipalIdentityHandler := connect.NewUnaryHandler( + BrentAdminServiceCreatePrincipalIdentityProcedure, + svc.CreatePrincipalIdentity, + connect.WithSchema(brentAdminServiceMethods.ByName("CreatePrincipalIdentity")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceDeletePrincipalIdentityHandler := connect.NewUnaryHandler( + BrentAdminServiceDeletePrincipalIdentityProcedure, + svc.DeletePrincipalIdentity, + connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalIdentity")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceSetPrincipalCredentialHandler := connect.NewUnaryHandler( + BrentAdminServiceSetPrincipalCredentialProcedure, + svc.SetPrincipalCredential, + connect.WithSchema(brentAdminServiceMethods.ByName("SetPrincipalCredential")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceListPrincipalCredentialConnectionsHandler := connect.NewUnaryHandler( + BrentAdminServiceListPrincipalCredentialConnectionsProcedure, + svc.ListPrincipalCredentialConnections, + connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceDeletePrincipalCredentialHandler := connect.NewUnaryHandler( + BrentAdminServiceDeletePrincipalCredentialProcedure, + svc.DeletePrincipalCredential, + connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalCredential")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceGetPullRequestTimelineHandler := connect.NewUnaryHandler( + BrentAdminServiceGetPullRequestTimelineProcedure, + svc.GetPullRequestTimeline, + connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestTimeline")), + connect.WithHandlerOptions(opts...), + ) + return "/brent.BrentAdminService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case BrentAdminServiceExecuteWorkflowProcedure: + brentAdminServiceExecuteWorkflowHandler.ServeHTTP(w, r) + case BrentAdminServiceListRunsProcedure: + brentAdminServiceListRunsHandler.ServeHTTP(w, r) + case BrentAdminServiceWatchRunProcedure: + brentAdminServiceWatchRunHandler.ServeHTTP(w, r) + case BrentAdminServiceStreamEventsProcedure: + brentAdminServiceStreamEventsHandler.ServeHTTP(w, r) + case BrentAdminServiceListEventsProcedure: + brentAdminServiceListEventsHandler.ServeHTTP(w, r) + case BrentAdminServiceCancelRunProcedure: + brentAdminServiceCancelRunHandler.ServeHTTP(w, r) + case BrentAdminServiceSendQuestionProcedure: + brentAdminServiceSendQuestionHandler.ServeHTTP(w, r) + case BrentAdminServiceListPlansProcedure: + brentAdminServiceListPlansHandler.ServeHTTP(w, r) + case BrentAdminServiceGetPlanProcedure: + brentAdminServiceGetPlanHandler.ServeHTTP(w, r) + case BrentAdminServiceListReviewsProcedure: + brentAdminServiceListReviewsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetReviewProcedure: + brentAdminServiceGetReviewHandler.ServeHTTP(w, r) + case BrentAdminServiceListAccountsProcedure: + brentAdminServiceListAccountsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetAccountSummaryProcedure: + brentAdminServiceGetAccountSummaryHandler.ServeHTTP(w, r) + case BrentAdminServiceGetAccountHealthAnalysisProcedure: + brentAdminServiceGetAccountHealthAnalysisHandler.ServeHTTP(w, r) + case BrentAdminServiceListAccountMetricReposProcedure: + brentAdminServiceListAccountMetricReposHandler.ServeHTTP(w, r) + case BrentAdminServiceStartAccountMetricsComparisonProcedure: + brentAdminServiceStartAccountMetricsComparisonHandler.ServeHTTP(w, r) + case BrentAdminServiceGetAccountMetricsComparisonRunProcedure: + brentAdminServiceGetAccountMetricsComparisonRunHandler.ServeHTTP(w, r) + case BrentAdminServiceGetAccountBrentSettingsProcedure: + brentAdminServiceGetAccountBrentSettingsHandler.ServeHTTP(w, r) + case BrentAdminServiceUpdateAccountBrentSettingsProcedure: + brentAdminServiceUpdateAccountBrentSettingsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetAccountLLMCredentialStatusProcedure: + brentAdminServiceGetAccountLLMCredentialStatusHandler.ServeHTTP(w, r) + case BrentAdminServiceListWorkflowsProcedure: + brentAdminServiceListWorkflowsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetWorkflowProcedure: + brentAdminServiceGetWorkflowHandler.ServeHTTP(w, r) + case BrentAdminServiceListWorkflowRunsProcedure: + brentAdminServiceListWorkflowRunsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetWorkflowRunProcedure: + brentAdminServiceGetWorkflowRunHandler.ServeHTTP(w, r) + case BrentAdminServiceGetWorkflowRunThreadHistoryProcedure: + brentAdminServiceGetWorkflowRunThreadHistoryHandler.ServeHTTP(w, r) + case BrentAdminServiceListPullRequestsProcedure: + brentAdminServiceListPullRequestsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetPullRequestByIDProcedure: + brentAdminServiceGetPullRequestByIDHandler.ServeHTTP(w, r) + case BrentAdminServiceListDeviationAnalysesForPRProcedure: + brentAdminServiceListDeviationAnalysesForPRHandler.ServeHTTP(w, r) + case BrentAdminServiceListPrincipalsProcedure: + brentAdminServiceListPrincipalsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetPrincipalProcedure: + brentAdminServiceGetPrincipalHandler.ServeHTTP(w, r) + case BrentAdminServiceUpsertPrincipalBindingProcedure: + brentAdminServiceUpsertPrincipalBindingHandler.ServeHTTP(w, r) + case BrentAdminServiceDeletePrincipalBindingProcedure: + brentAdminServiceDeletePrincipalBindingHandler.ServeHTTP(w, r) + case BrentAdminServiceUpdatePrincipalProcedure: + brentAdminServiceUpdatePrincipalHandler.ServeHTTP(w, r) + case BrentAdminServiceCreatePrincipalIdentityProcedure: + brentAdminServiceCreatePrincipalIdentityHandler.ServeHTTP(w, r) + case BrentAdminServiceDeletePrincipalIdentityProcedure: + brentAdminServiceDeletePrincipalIdentityHandler.ServeHTTP(w, r) + case BrentAdminServiceSetPrincipalCredentialProcedure: + brentAdminServiceSetPrincipalCredentialHandler.ServeHTTP(w, r) + case BrentAdminServiceListPrincipalCredentialConnectionsProcedure: + brentAdminServiceListPrincipalCredentialConnectionsHandler.ServeHTTP(w, r) + case BrentAdminServiceDeletePrincipalCredentialProcedure: + brentAdminServiceDeletePrincipalCredentialHandler.ServeHTTP(w, r) + case BrentAdminServiceGetPullRequestTimelineProcedure: + brentAdminServiceGetPullRequestTimelineHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedBrentAdminServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedBrentAdminServiceHandler struct{} + +func (UnimplementedBrentAdminServiceHandler) ExecuteWorkflow(context.Context, *connect.Request[sdp_go.ExecuteWorkflowRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ExecuteWorkflow is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListRuns is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.WatchRun is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest], *connect.ServerStream[sdp_go.StreamEventsResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.StreamEvents is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListEvents is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.CancelRun is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.SendQuestion is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPlans is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPlan is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListReviews is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetReview is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListAccounts is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountSummary is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountHealthAnalysis is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListAccountMetricRepos is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.StartAccountMetricsComparison is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountMetricsComparisonRun is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountBrentSettings is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpdateAccountBrentSettings is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountLLMCredentialStatus is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListWorkflows(context.Context, *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListWorkflows is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetWorkflow(context.Context, *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetWorkflow is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListWorkflowRuns(context.Context, *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListWorkflowRuns is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetWorkflowRun(context.Context, *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetWorkflowRun is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetWorkflowRunThreadHistory(context.Context, *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetWorkflowRunThreadHistory is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPullRequests is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPullRequestByID is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListDeviationAnalysesForPR(context.Context, *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListDeviationAnalysesForPR is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPrincipals is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPrincipal is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpsertPrincipalBinding is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.DeletePrincipalBinding is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpdatePrincipal is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.CreatePrincipalIdentity is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.DeletePrincipalIdentity is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.SetPrincipalCredential is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPrincipalCredentialConnections is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.DeletePrincipalCredential is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPullRequestTimeline is not implemented")) +} From 6286f5f89b5bf6fc7eab2edbef63643e529b271d Mon Sep 17 00:00:00 2001 From: Lionel Wilson <80872669+Lionel-Wilson@users.noreply.github.com> Date: Fri, 24 Jul 2026 14:42:15 +0100 Subject: [PATCH 02/36] feat(brent-backend): notification preferences My RPC + MCP tools (ENG-5216) (#6095) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Implements **BRENT-699** / **ENG-5216**: personal notification preferences surface for authenticated principals. - **ConnectRPC**: `GetMyNotificationPreferences` (`brent:read`) and `UpdateMyNotificationPreferences` (`brent:write`), workspace-scoped via `Brent-Workspace-Id` - **Store**: `MergeNotificationPreferences` — transactional patch-merge on raw stored overrides with per-principal advisory lock - **MCP**: `get_my_notification_preferences` and `update_my_notification_preferences` sharing the same store methods - **Error mapping**: dedicated Connect mapper (not `MapPrincipalStoreError`); notification sentinels in `mcpErrorResult` ## Plan BRENT-699 (approved) ## Test plan - [x] `go test ./notifications/... ./service/... -run 'Notification|Preference|MergeNotification'` - [x] Unit tests for `applyPreferencePatch`, auth (401/403), error mapper - [x] Integration tests: RPC round-trip, principal isolation, cross-tenant isolation - [x] Integration tests: MCP round-trip, scope gate, invalid channel mapping - [x] Integration tests: unknown notification type via `Handler.UpdateMyNotificationPreferences` (`TestIntegration_UpdateMyNotificationPreferences_UnknownType_InvalidArgument`) - [x] Concurrency test: concurrent merges preserve both cells ## Brent deviation notes **missing-update-handler-unknown-type-test**: Handler unknown-type rejection is covered by `TestIntegration_UpdateMyNotificationPreferences_UnknownType_InvalidArgument`, which calls `Handler.UpdateMyNotificationPreferences` end-to-end. Validation intentionally lives in `MergeNotificationPreferences` (store boundary) after principal resolution, matching the plan's scope → identity → delegate flow. A Postgres-free unit test would require either handler pre-validation (which breaks auth error precedence per `changed-malformed-patch-auth-precedence`) or test-seam interfaces on concrete stores. **changed-malformed-patch-auth-precedence**: Resolved — handler no longer pre-validates patches before principal resolution; malformed types are rejected by the store merge path after identity resolution. ## Notes - Update semantics are sparse patch/merge (not wholesale replace) - Scope + identity checks live in handler/MCP layer; store methods remain callable from the dispatch worker - Notification MCP tools use `addToolWithDefaultOutput` for scope-denied structured output shaping
Open in Web Open in Cursor 
--------- Co-authored-by: Cursor Agent Co-authored-by: Lionel Wilson GitOrigin-RevId: dace3ae9e03731cb08f7117ca1cda9024cbd667b --- go/sdp-go/brent.pb.go | 1052 ++++++++++++++++--------- go/sdp-go/sdpconnect/brent.connect.go | 66 ++ 2 files changed, 740 insertions(+), 378 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index 0c962105..3842b98d 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -22644,6 +22644,265 @@ func (x *ListMyBindingsResponse) GetBindings() []*Binding { return nil } +// NotificationPreferences is the type → channel → enabled matrix. +type NotificationPreferences struct { + state protoimpl.MessageState `protogen:"open.v1"` + Preferences map[string]*ChannelPreferences `protobuf:"bytes,1,rep,name=preferences,proto3" json:"preferences,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NotificationPreferences) Reset() { + *x = NotificationPreferences{} + mi := &file_brent_proto_msgTypes[290] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NotificationPreferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationPreferences) ProtoMessage() {} + +func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[290] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotificationPreferences.ProtoReflect.Descriptor instead. +func (*NotificationPreferences) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{290} +} + +func (x *NotificationPreferences) GetPreferences() map[string]*ChannelPreferences { + if x != nil { + return x.Preferences + } + return nil +} + +type ChannelPreferences struct { + state protoimpl.MessageState `protogen:"open.v1"` + Channels map[string]bool `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChannelPreferences) Reset() { + *x = ChannelPreferences{} + mi := &file_brent_proto_msgTypes[291] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChannelPreferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelPreferences) ProtoMessage() {} + +func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[291] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelPreferences.ProtoReflect.Descriptor instead. +func (*ChannelPreferences) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{291} +} + +func (x *ChannelPreferences) GetChannels() map[string]bool { + if x != nil { + return x.Channels + } + return nil +} + +type GetMyNotificationPreferencesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetMyNotificationPreferencesRequest) Reset() { + *x = GetMyNotificationPreferencesRequest{} + mi := &file_brent_proto_msgTypes[292] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetMyNotificationPreferencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyNotificationPreferencesRequest) ProtoMessage() {} + +func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[292] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. +func (*GetMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{292} +} + +type GetMyNotificationPreferencesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Preferences *NotificationPreferences `protobuf:"bytes,1,opt,name=preferences,proto3" json:"preferences,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetMyNotificationPreferencesResponse) Reset() { + *x = GetMyNotificationPreferencesResponse{} + mi := &file_brent_proto_msgTypes[293] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetMyNotificationPreferencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyNotificationPreferencesResponse) ProtoMessage() {} + +func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[293] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. +func (*GetMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{293} +} + +func (x *GetMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { + if x != nil { + return x.Preferences + } + return nil +} + +type UpdateMyNotificationPreferencesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Sparse patch: only the (type, channel) cells present are changed. + Preferences *NotificationPreferences `protobuf:"bytes,1,opt,name=preferences,proto3" json:"preferences,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateMyNotificationPreferencesRequest) Reset() { + *x = UpdateMyNotificationPreferencesRequest{} + mi := &file_brent_proto_msgTypes[294] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateMyNotificationPreferencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateMyNotificationPreferencesRequest) ProtoMessage() {} + +func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[294] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. +func (*UpdateMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{294} +} + +func (x *UpdateMyNotificationPreferencesRequest) GetPreferences() *NotificationPreferences { + if x != nil { + return x.Preferences + } + return nil +} + +type UpdateMyNotificationPreferencesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Full effective matrix after the merge (defaults applied). + Preferences *NotificationPreferences `protobuf:"bytes,1,opt,name=preferences,proto3" json:"preferences,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateMyNotificationPreferencesResponse) Reset() { + *x = UpdateMyNotificationPreferencesResponse{} + mi := &file_brent_proto_msgTypes[295] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateMyNotificationPreferencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateMyNotificationPreferencesResponse) ProtoMessage() {} + +func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[295] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. +func (*UpdateMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{295} +} + +func (x *UpdateMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { + if x != nil { + return x.Preferences + } + return nil +} + // Binding is the wire representation of a row in the `principal_bindings` // table. The external_id is the canonical UUID reference. type Binding struct { @@ -22661,7 +22920,7 @@ type Binding struct { func (x *Binding) Reset() { *x = Binding{} - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22673,7 +22932,7 @@ func (x *Binding) String() string { func (*Binding) ProtoMessage() {} func (x *Binding) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[296] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22686,7 +22945,7 @@ func (x *Binding) ProtoReflect() protoreflect.Message { // Deprecated: Use Binding.ProtoReflect.Descriptor instead. func (*Binding) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{290} + return file_brent_proto_rawDescGZIP(), []int{296} } func (x *Binding) GetExternalId() string { @@ -22747,7 +23006,7 @@ type RedFindingKindsPatch struct { func (x *RedFindingKindsPatch) Reset() { *x = RedFindingKindsPatch{} - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22759,7 +23018,7 @@ func (x *RedFindingKindsPatch) String() string { func (*RedFindingKindsPatch) ProtoMessage() {} func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[297] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22772,7 +23031,7 @@ func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { // Deprecated: Use RedFindingKindsPatch.ProtoReflect.Descriptor instead. func (*RedFindingKindsPatch) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{291} + return file_brent_proto_rawDescGZIP(), []int{297} } func (x *RedFindingKindsPatch) GetKinds() []string { @@ -22791,7 +23050,7 @@ type GetBrentSettingsRequest struct { func (x *GetBrentSettingsRequest) Reset() { *x = GetBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22803,7 +23062,7 @@ func (x *GetBrentSettingsRequest) String() string { func (*GetBrentSettingsRequest) ProtoMessage() {} func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22816,7 +23075,7 @@ func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*GetBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{292} + return file_brent_proto_rawDescGZIP(), []int{298} } func (x *GetBrentSettingsRequest) GetAccountName() string { @@ -22837,7 +23096,7 @@ type GetBrentSettingsResponse struct { func (x *GetBrentSettingsResponse) Reset() { *x = GetBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22849,7 +23108,7 @@ func (x *GetBrentSettingsResponse) String() string { func (*GetBrentSettingsResponse) ProtoMessage() {} func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22862,7 +23121,7 @@ func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*GetBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{293} + return file_brent_proto_rawDescGZIP(), []int{299} } func (x *GetBrentSettingsResponse) GetRedFindingKinds() []string { @@ -22896,7 +23155,7 @@ type UpdateBrentSettingsRequest struct { func (x *UpdateBrentSettingsRequest) Reset() { *x = UpdateBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22908,7 +23167,7 @@ func (x *UpdateBrentSettingsRequest) String() string { func (*UpdateBrentSettingsRequest) ProtoMessage() {} func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[300] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22921,7 +23180,7 @@ func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{294} + return file_brent_proto_rawDescGZIP(), []int{300} } func (x *UpdateBrentSettingsRequest) GetAccountName() string { @@ -22949,7 +23208,7 @@ type UpdateBrentSettingsResponse struct { func (x *UpdateBrentSettingsResponse) Reset() { *x = UpdateBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22961,7 +23220,7 @@ func (x *UpdateBrentSettingsResponse) String() string { func (*UpdateBrentSettingsResponse) ProtoMessage() {} func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22974,7 +23233,7 @@ func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{295} + return file_brent_proto_rawDescGZIP(), []int{301} } func (x *UpdateBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23010,7 +23269,7 @@ type AdminGetAccountBrentSettingsRequest struct { func (x *AdminGetAccountBrentSettingsRequest) Reset() { *x = AdminGetAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23022,7 +23281,7 @@ func (x *AdminGetAccountBrentSettingsRequest) String() string { func (*AdminGetAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23035,7 +23294,7 @@ func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AdminGetAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{296} + return file_brent_proto_rawDescGZIP(), []int{302} } func (x *AdminGetAccountBrentSettingsRequest) GetAccountName() string { @@ -23058,7 +23317,7 @@ type AdminUpdateAccountBrentSettingsRequest struct { func (x *AdminUpdateAccountBrentSettingsRequest) Reset() { *x = AdminUpdateAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23070,7 +23329,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) String() string { func (*AdminUpdateAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23083,7 +23342,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AdminUpdateAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminUpdateAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{297} + return file_brent_proto_rawDescGZIP(), []int{303} } func (x *AdminUpdateAccountBrentSettingsRequest) GetAccountName() string { @@ -23115,7 +23374,7 @@ type AdminGetAccountLLMCredentialStatusRequest struct { func (x *AdminGetAccountLLMCredentialStatusRequest) Reset() { *x = AdminGetAccountLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23127,7 +23386,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) String() string { func (*AdminGetAccountLLMCredentialStatusRequest) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23140,7 +23399,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect. // Deprecated: Use AdminGetAccountLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{298} + return file_brent_proto_rawDescGZIP(), []int{304} } func (x *AdminGetAccountLLMCredentialStatusRequest) GetAccountName() string { @@ -23172,7 +23431,7 @@ type AdminGetAccountLLMCredentialStatusResponse struct { func (x *AdminGetAccountLLMCredentialStatusResponse) Reset() { *x = AdminGetAccountLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23184,7 +23443,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) String() string { func (*AdminGetAccountLLMCredentialStatusResponse) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23197,7 +23456,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect // Deprecated: Use AdminGetAccountLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{299} + return file_brent_proto_rawDescGZIP(), []int{305} } func (x *AdminGetAccountLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -23222,7 +23481,7 @@ type ListIntegrationCatalogueRequest struct { func (x *ListIntegrationCatalogueRequest) Reset() { *x = ListIntegrationCatalogueRequest{} - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23234,7 +23493,7 @@ func (x *ListIntegrationCatalogueRequest) String() string { func (*ListIntegrationCatalogueRequest) ProtoMessage() {} func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23247,7 +23506,7 @@ func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{300} + return file_brent_proto_rawDescGZIP(), []int{306} } type ListIntegrationCatalogueResponse struct { @@ -23259,7 +23518,7 @@ type ListIntegrationCatalogueResponse struct { func (x *ListIntegrationCatalogueResponse) Reset() { *x = ListIntegrationCatalogueResponse{} - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23271,7 +23530,7 @@ func (x *ListIntegrationCatalogueResponse) String() string { func (*ListIntegrationCatalogueResponse) ProtoMessage() {} func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23284,7 +23543,7 @@ func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{301} + return file_brent_proto_rawDescGZIP(), []int{307} } func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { @@ -23322,7 +23581,7 @@ type IntegrationCatalogueEntry struct { func (x *IntegrationCatalogueEntry) Reset() { *x = IntegrationCatalogueEntry{} - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23334,7 +23593,7 @@ func (x *IntegrationCatalogueEntry) String() string { func (*IntegrationCatalogueEntry) ProtoMessage() {} func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[308] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23347,7 +23606,7 @@ func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{302} + return file_brent_proto_rawDescGZIP(), []int{308} } func (x *IntegrationCatalogueEntry) GetStableId() string { @@ -25278,7 +25537,24 @@ const file_brent_proto_rawDesc = "" + "\rpreferred_ide\x18\x01 \x01(\tR\fpreferredIde\"\x17\n" + "\x15ListMyBindingsRequest\"D\n" + "\x16ListMyBindingsResponse\x12*\n" + - "\bbindings\x18\x01 \x03(\v2\x0e.brent.BindingR\bbindings\"\x98\x02\n" + + "\bbindings\x18\x01 \x03(\v2\x0e.brent.BindingR\bbindings\"\xc7\x01\n" + + "\x17NotificationPreferences\x12Q\n" + + "\vpreferences\x18\x01 \x03(\v2/.brent.NotificationPreferences.PreferencesEntryR\vpreferences\x1aY\n" + + "\x10PreferencesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12/\n" + + "\x05value\x18\x02 \x01(\v2\x19.brent.ChannelPreferencesR\x05value:\x028\x01\"\x96\x01\n" + + "\x12ChannelPreferences\x12C\n" + + "\bchannels\x18\x01 \x03(\v2'.brent.ChannelPreferences.ChannelsEntryR\bchannels\x1a;\n" + + "\rChannelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"%\n" + + "#GetMyNotificationPreferencesRequest\"h\n" + + "$GetMyNotificationPreferencesResponse\x12@\n" + + "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"j\n" + + "&UpdateMyNotificationPreferencesRequest\x12@\n" + + "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"k\n" + + "'UpdateMyNotificationPreferencesResponse\x12@\n" + + "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"\x98\x02\n" + "\aBinding\x12\x1f\n" + "\vexternal_id\x18\x01 \x01(\tR\n" + "externalId\x12\x1a\n" + @@ -25395,7 +25671,7 @@ const file_brent_proto_rawDesc = "" + "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + " INTEGRATION_CATALOGUE_SOURCE_BYO\x10\x02\x12/\n" + - "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xdd$\n" + + "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xd9&\n" + "\fBrentService\x12_\n" + "\x14ListOpenPullRequests\x12\".brent.ListOpenPullRequestsRequest\x1a#.brent.ListOpenPullRequestsResponse\x12M\n" + "\x0eGetPullRequest\x12\x1c.brent.GetPullRequestRequest\x1a\x1d.brent.GetPullRequestResponse\x12Y\n" + @@ -25407,7 +25683,9 @@ const file_brent_proto_rawDesc = "" + "\rConnectGitLab\x12\x1b.brent.ConnectGitLabRequest\x1a\x1c.brent.ConnectGitLabResponse\x12e\n" + "\x16SaveGitLabSigningToken\x12$.brent.SaveGitLabSigningTokenRequest\x1a%.brent.SaveGitLabSigningTokenResponse\x12h\n" + "\x17UpsertMyVerifiedBinding\x12%.brent.UpsertMyVerifiedBindingRequest\x1a&.brent.UpsertMyVerifiedBindingResponse\x12M\n" + - "\x0eListMyBindings\x12\x1c.brent.ListMyBindingsRequest\x1a\x1d.brent.ListMyBindingsResponse\x12\\\n" + + "\x0eListMyBindings\x12\x1c.brent.ListMyBindingsRequest\x1a\x1d.brent.ListMyBindingsResponse\x12w\n" + + "\x1cGetMyNotificationPreferences\x12*.brent.GetMyNotificationPreferencesRequest\x1a+.brent.GetMyNotificationPreferencesResponse\x12\x80\x01\n" + + "\x1fUpdateMyNotificationPreferences\x12-.brent.UpdateMyNotificationPreferencesRequest\x1a..brent.UpdateMyNotificationPreferencesResponse\x12\\\n" + "\x13UpdateMyDisplayName\x12!.brent.UpdateMyDisplayNameRequest\x1a\".brent.UpdateMyDisplayNameResponse\x12P\n" + "\x0fSetPreferredIDE\x12\x1d.brent.SetPreferredIDERequest\x1a\x1e.brent.SetPreferredIDEResponse\x12S\n" + "\x10GetBrentSettings\x12\x1e.brent.GetBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12\\\n" + @@ -25502,7 +25780,7 @@ func file_brent_proto_rawDescGZIP() []byte { } var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 11) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 315) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 323) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode @@ -25805,65 +26083,73 @@ var file_brent_proto_goTypes = []any{ (*SetPreferredIDEResponse)(nil), // 298: brent.SetPreferredIDEResponse (*ListMyBindingsRequest)(nil), // 299: brent.ListMyBindingsRequest (*ListMyBindingsResponse)(nil), // 300: brent.ListMyBindingsResponse - (*Binding)(nil), // 301: brent.Binding - (*RedFindingKindsPatch)(nil), // 302: brent.RedFindingKindsPatch - (*GetBrentSettingsRequest)(nil), // 303: brent.GetBrentSettingsRequest - (*GetBrentSettingsResponse)(nil), // 304: brent.GetBrentSettingsResponse - (*UpdateBrentSettingsRequest)(nil), // 305: brent.UpdateBrentSettingsRequest - (*UpdateBrentSettingsResponse)(nil), // 306: brent.UpdateBrentSettingsResponse - (*AdminGetAccountBrentSettingsRequest)(nil), // 307: brent.AdminGetAccountBrentSettingsRequest - (*AdminUpdateAccountBrentSettingsRequest)(nil), // 308: brent.AdminUpdateAccountBrentSettingsRequest - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 309: brent.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 310: brent.AdminGetAccountLLMCredentialStatusResponse - (*ListIntegrationCatalogueRequest)(nil), // 311: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 312: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 313: brent.IntegrationCatalogueEntry - nil, // 314: brent.PlanUpdated.PreviousEntry - nil, // 315: brent.PlanUpdated.AfterEntry - nil, // 316: brent.PrincipalUpdated.PreviousEntry - nil, // 317: brent.PrincipalUpdated.AfterEntry - nil, // 318: brent.BindingUpdated.PreviousEntry - nil, // 319: brent.BindingUpdated.AfterEntry - nil, // 320: brent.OtherEvent.FieldsEntry - nil, // 321: brent.PullRequestUpdated.PreviousEntry - nil, // 322: brent.PullRequestUpdated.AfterEntry - nil, // 323: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 324: brent.DeviationFindingUpdated.PreviousEntry - nil, // 325: brent.DeviationFindingUpdated.AfterEntry - (*timestamppb.Timestamp)(nil), // 326: google.protobuf.Timestamp - (*structpb.Value)(nil), // 327: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 328: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 329: google.protobuf.Empty + (*NotificationPreferences)(nil), // 301: brent.NotificationPreferences + (*ChannelPreferences)(nil), // 302: brent.ChannelPreferences + (*GetMyNotificationPreferencesRequest)(nil), // 303: brent.GetMyNotificationPreferencesRequest + (*GetMyNotificationPreferencesResponse)(nil), // 304: brent.GetMyNotificationPreferencesResponse + (*UpdateMyNotificationPreferencesRequest)(nil), // 305: brent.UpdateMyNotificationPreferencesRequest + (*UpdateMyNotificationPreferencesResponse)(nil), // 306: brent.UpdateMyNotificationPreferencesResponse + (*Binding)(nil), // 307: brent.Binding + (*RedFindingKindsPatch)(nil), // 308: brent.RedFindingKindsPatch + (*GetBrentSettingsRequest)(nil), // 309: brent.GetBrentSettingsRequest + (*GetBrentSettingsResponse)(nil), // 310: brent.GetBrentSettingsResponse + (*UpdateBrentSettingsRequest)(nil), // 311: brent.UpdateBrentSettingsRequest + (*UpdateBrentSettingsResponse)(nil), // 312: brent.UpdateBrentSettingsResponse + (*AdminGetAccountBrentSettingsRequest)(nil), // 313: brent.AdminGetAccountBrentSettingsRequest + (*AdminUpdateAccountBrentSettingsRequest)(nil), // 314: brent.AdminUpdateAccountBrentSettingsRequest + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 315: brent.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 316: brent.AdminGetAccountLLMCredentialStatusResponse + (*ListIntegrationCatalogueRequest)(nil), // 317: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 318: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 319: brent.IntegrationCatalogueEntry + nil, // 320: brent.PlanUpdated.PreviousEntry + nil, // 321: brent.PlanUpdated.AfterEntry + nil, // 322: brent.PrincipalUpdated.PreviousEntry + nil, // 323: brent.PrincipalUpdated.AfterEntry + nil, // 324: brent.BindingUpdated.PreviousEntry + nil, // 325: brent.BindingUpdated.AfterEntry + nil, // 326: brent.OtherEvent.FieldsEntry + nil, // 327: brent.PullRequestUpdated.PreviousEntry + nil, // 328: brent.PullRequestUpdated.AfterEntry + nil, // 329: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 330: brent.DeviationFindingUpdated.PreviousEntry + nil, // 331: brent.DeviationFindingUpdated.AfterEntry + nil, // 332: brent.NotificationPreferences.PreferencesEntry + nil, // 333: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 334: google.protobuf.Timestamp + (*structpb.Value)(nil), // 335: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 336: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 337: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ 21, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary 22, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest 23, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 326, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 334, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp 22, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest 18, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow 19, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 326, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 326, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 326, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 326, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 326, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 326, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 326, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 334, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 334, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 334, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 334, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 334, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 334, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 334, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp 24, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 326, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 334, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp 28, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 326, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 326, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 334, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 334, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp 104, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 326, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 326, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 334, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 334, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp 104, // 23: brent.ListEventsResponse.events:type_name -> brent.Event 40, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest 40, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 326, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 326, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 334, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 334, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp 42, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep 43, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep 44, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep @@ -25875,65 +26161,65 @@ var file_brent_proto_depIdxs = []int32{ 50, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep 51, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep 55, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 326, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 326, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 326, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 326, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 334, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 334, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 334, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 334, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 58, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan 83, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary 21, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 326, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 326, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 326, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 334, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 334, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 334, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 223, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal 223, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal 63, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity - 301, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 326, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 326, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 301, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding + 307, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding + 334, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 334, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 307, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding 223, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal 63, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity 78, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 326, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 334, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp 83, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 326, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 326, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 334, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 334, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp 86, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review 55, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 326, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 326, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 326, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 326, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 334, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 334, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 334, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 334, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp 87, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 326, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 326, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 334, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 334, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp 90, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary 93, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 326, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 334, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp 96, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 326, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 326, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 326, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 326, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 334, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 334, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 334, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 334, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 326, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 326, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 326, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 326, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 334, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 334, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 334, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 334, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp 101, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 326, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 326, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 326, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 326, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 334, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 334, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 334, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 334, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp 102, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 326, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 326, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 326, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 334, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 334, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 334, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp 105, // 95: brent.Event.actor:type_name -> brent.Actor 106, // 96: brent.Event.object:type_name -> brent.ObjectReference - 326, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 334, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp 107, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated 108, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated 109, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted @@ -26013,53 +26299,53 @@ var file_brent_proto_depIdxs = []int32{ 161, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared 115, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided 140, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 314, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 315, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 326, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 316, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 317, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 320, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 321, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 334, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 322, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 323, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry 6, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 318, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 319, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 320, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 321, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 322, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 326, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 323, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 326, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 324, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 325, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 326, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 327, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 328, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 334, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 329, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 334, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp 154, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 326, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 326, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 324, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 325, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 326, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 326, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 326, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 326, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 326, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 326, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 326, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 326, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 334, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 334, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 330, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 331, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 334, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 334, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 334, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 334, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 334, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 334, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 334, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 334, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp 190, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 326, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 326, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 334, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 334, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp 193, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 326, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 326, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 334, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 334, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp 196, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 326, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 326, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 326, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 326, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 334, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 334, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 334, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 334, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp 196, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary 41, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse 199, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment 202, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun 190, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 326, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 326, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 326, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 326, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 334, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 334, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 334, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 334, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp 104, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState 223, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal @@ -26067,11 +26353,11 @@ var file_brent_proto_depIdxs = []int32{ 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 326, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 326, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 334, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 334, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider 217, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 326, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 334, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp 3, // 236: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider @@ -26081,8 +26367,8 @@ var file_brent_proto_depIdxs = []int32{ 3, // 242: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 326, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 326, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 334, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 334, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp 224, // 247: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace 224, // 248: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace 5, // 249: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider @@ -26090,234 +26376,244 @@ var file_brent_proto_depIdxs = []int32{ 230, // 251: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate 224, // 252: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace 238, // 253: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 326, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 334, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp 239, // 255: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember 6, // 256: brent.JoinableWorkspace.source:type_name -> brent.JoinSource 224, // 257: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 326, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 334, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp 242, // 259: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain 242, // 260: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain 242, // 261: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 326, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 326, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 334, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 334, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp 255, // 264: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus 255, // 265: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 326, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 334, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp 262, // 267: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus 262, // 268: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus 224, // 269: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace 224, // 270: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 326, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 334, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 8, // 272: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus 276, // 273: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult 224, // 274: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace 282, // 275: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember 9, // 276: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 326, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 334, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 7, // 278: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 301, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 307, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding 223, // 280: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 301, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 326, // 282: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 326, // 283: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 326, // 284: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 302, // 285: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 326, // 286: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 302, // 287: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 255, // 288: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 313, // 289: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry - 10, // 290: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource - 3, // 291: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 327, // 292: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 327, // 293: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 327, // 294: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 327, // 295: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 327, // 296: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 327, // 297: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 327, // 298: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 327, // 299: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 327, // 300: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 327, // 301: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 328, // 302: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 36, // 303: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 38, // 304: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 203, // 305: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 205, // 306: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 207, // 307: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 209, // 308: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 211, // 309: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 213, // 310: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 215, // 311: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 293, // 312: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 299, // 313: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 295, // 314: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 297, // 315: brent.BrentService.SetPreferredIDE:input_type -> brent.SetPreferredIDERequest - 303, // 316: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 305, // 317: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 311, // 318: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 225, // 319: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 227, // 320: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 229, // 321: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 232, // 322: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 269, // 323: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 271, // 324: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 234, // 325: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 236, // 326: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 240, // 327: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 273, // 328: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 275, // 329: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 278, // 330: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 280, // 331: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 283, // 332: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 285, // 333: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 287, // 334: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 289, // 335: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 243, // 336: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 245, // 337: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 247, // 338: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 249, // 339: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 253, // 340: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 256, // 341: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 258, // 342: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 260, // 343: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 263, // 344: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 265, // 345: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 267, // 346: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 219, // 347: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 221, // 348: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 251, // 349: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 291, // 350: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 25, // 351: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 26, // 352: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 29, // 353: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 30, // 354: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 32, // 355: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 34, // 356: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 52, // 357: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 53, // 358: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 56, // 359: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 81, // 360: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 84, // 361: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 329, // 362: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 89, // 363: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 92, // 364: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 95, // 365: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 98, // 366: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 100, // 367: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 307, // 368: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 308, // 369: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 309, // 370: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 188, // 371: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 191, // 372: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 194, // 373: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 197, // 374: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 198, // 375: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 11, // 376: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 13, // 377: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 15, // 378: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 59, // 379: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 61, // 380: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 64, // 381: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 66, // 382: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 68, // 383: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 70, // 384: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 72, // 385: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 74, // 386: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 76, // 387: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 79, // 388: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 17, // 389: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 37, // 390: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 39, // 391: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 204, // 392: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 206, // 393: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 208, // 394: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 210, // 395: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 212, // 396: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 214, // 397: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 216, // 398: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 294, // 399: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 300, // 400: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 296, // 401: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 298, // 402: brent.BrentService.SetPreferredIDE:output_type -> brent.SetPreferredIDEResponse - 304, // 403: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 306, // 404: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 312, // 405: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 226, // 406: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 228, // 407: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 231, // 408: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 233, // 409: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 270, // 410: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 272, // 411: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 235, // 412: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 237, // 413: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 241, // 414: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 274, // 415: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 277, // 416: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 279, // 417: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 281, // 418: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 284, // 419: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 286, // 420: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 288, // 421: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 290, // 422: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 244, // 423: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 246, // 424: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 248, // 425: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 250, // 426: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 254, // 427: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 257, // 428: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 259, // 429: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 261, // 430: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 264, // 431: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 266, // 432: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 268, // 433: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 220, // 434: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 222, // 435: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 252, // 436: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 292, // 437: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 41, // 438: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 27, // 439: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 41, // 440: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 31, // 441: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 33, // 442: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 35, // 443: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 41, // 444: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 54, // 445: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 57, // 446: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 82, // 447: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 85, // 448: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 88, // 449: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 91, // 450: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 94, // 451: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 97, // 452: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 99, // 453: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 103, // 454: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 304, // 455: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 306, // 456: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 310, // 457: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 189, // 458: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 192, // 459: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 195, // 460: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 201, // 461: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 200, // 462: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 12, // 463: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 14, // 464: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 16, // 465: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 60, // 466: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 62, // 467: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 65, // 468: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 67, // 469: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 69, // 470: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 71, // 471: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 73, // 472: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 75, // 473: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 77, // 474: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 80, // 475: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 20, // 476: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 390, // [390:477] is the sub-list for method output_type - 303, // [303:390] is the sub-list for method input_type - 303, // [303:303] is the sub-list for extension type_name - 302, // [302:303] is the sub-list for extension extendee - 0, // [0:302] is the sub-list for field type_name + 307, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 332, // 282: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 333, // 283: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 301, // 284: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 301, // 285: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences + 301, // 286: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 334, // 287: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 334, // 288: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 334, // 289: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 308, // 290: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 334, // 291: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 308, // 292: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 255, // 293: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 319, // 294: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 10, // 295: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource + 3, // 296: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider + 335, // 297: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 335, // 298: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 335, // 299: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 335, // 300: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 335, // 301: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 335, // 302: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 335, // 303: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 335, // 304: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 335, // 305: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 335, // 306: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 302, // 307: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 336, // 308: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 36, // 309: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 38, // 310: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 203, // 311: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 205, // 312: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 207, // 313: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 209, // 314: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 211, // 315: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 213, // 316: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 215, // 317: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 293, // 318: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 299, // 319: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 303, // 320: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 305, // 321: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 295, // 322: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 297, // 323: brent.BrentService.SetPreferredIDE:input_type -> brent.SetPreferredIDERequest + 309, // 324: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 311, // 325: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 317, // 326: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 225, // 327: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 227, // 328: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 229, // 329: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 232, // 330: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 269, // 331: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 271, // 332: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 234, // 333: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 236, // 334: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 240, // 335: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 273, // 336: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 275, // 337: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 278, // 338: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 280, // 339: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 283, // 340: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 285, // 341: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 287, // 342: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 289, // 343: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 243, // 344: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 245, // 345: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 247, // 346: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 249, // 347: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 253, // 348: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 256, // 349: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 258, // 350: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 260, // 351: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 263, // 352: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 265, // 353: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 267, // 354: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 219, // 355: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 221, // 356: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 251, // 357: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 291, // 358: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 25, // 359: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 26, // 360: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 29, // 361: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 30, // 362: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 32, // 363: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 34, // 364: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 52, // 365: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 53, // 366: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 56, // 367: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 81, // 368: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 84, // 369: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 337, // 370: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 89, // 371: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 92, // 372: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 95, // 373: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 98, // 374: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 100, // 375: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 313, // 376: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 314, // 377: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 315, // 378: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 188, // 379: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 191, // 380: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 194, // 381: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 197, // 382: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 198, // 383: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 11, // 384: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 13, // 385: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 15, // 386: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 59, // 387: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 61, // 388: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 64, // 389: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 66, // 390: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 68, // 391: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 70, // 392: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 72, // 393: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 74, // 394: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 76, // 395: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 79, // 396: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 17, // 397: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 37, // 398: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 39, // 399: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 204, // 400: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 206, // 401: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 208, // 402: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 210, // 403: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 212, // 404: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 214, // 405: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 216, // 406: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 294, // 407: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 300, // 408: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 304, // 409: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 306, // 410: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 296, // 411: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 298, // 412: brent.BrentService.SetPreferredIDE:output_type -> brent.SetPreferredIDEResponse + 310, // 413: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 312, // 414: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 318, // 415: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 226, // 416: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 228, // 417: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 231, // 418: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 233, // 419: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 270, // 420: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 272, // 421: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 235, // 422: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 237, // 423: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 241, // 424: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 274, // 425: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 277, // 426: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 279, // 427: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 281, // 428: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 284, // 429: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 286, // 430: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 288, // 431: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 290, // 432: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 244, // 433: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 246, // 434: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 248, // 435: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 250, // 436: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 254, // 437: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 257, // 438: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 259, // 439: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 261, // 440: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 264, // 441: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 266, // 442: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 268, // 443: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 220, // 444: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 222, // 445: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 252, // 446: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 292, // 447: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 41, // 448: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 27, // 449: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 41, // 450: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 31, // 451: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 33, // 452: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 35, // 453: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 41, // 454: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 54, // 455: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 57, // 456: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 82, // 457: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 85, // 458: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 88, // 459: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 91, // 460: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 94, // 461: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 97, // 462: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 99, // 463: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 103, // 464: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 310, // 465: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 312, // 466: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 316, // 467: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 189, // 468: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 192, // 469: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 195, // 470: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 201, // 471: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 200, // 472: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 12, // 473: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 14, // 474: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 16, // 475: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 60, // 476: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 62, // 477: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 65, // 478: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 67, // 479: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 69, // 480: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 71, // 481: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 73, // 482: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 75, // 483: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 77, // 484: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 80, // 485: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 20, // 486: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 398, // [398:487] is the sub-list for method output_type + 309, // [309:398] is the sub-list for method input_type + 309, // [309:309] is the sub-list for extension type_name + 308, // [308:309] is the sub-list for extension extendee + 0, // [0:308] is the sub-list for field type_name } func init() { file_brent_proto_init() } @@ -26433,15 +26729,15 @@ func file_brent_proto_init() { file_brent_proto_msgTypes[227].OneofWrappers = []any{} file_brent_proto_msgTypes[228].OneofWrappers = []any{} file_brent_proto_msgTypes[281].OneofWrappers = []any{} - file_brent_proto_msgTypes[294].OneofWrappers = []any{} - file_brent_proto_msgTypes[297].OneofWrappers = []any{} + file_brent_proto_msgTypes[300].OneofWrappers = []any{} + file_brent_proto_msgTypes[303].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), NumEnums: 11, - NumMessages: 315, + NumMessages: 323, NumExtensions: 1, NumServices: 3, }, diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index 98b5b7ce..6c3601d2 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -71,6 +71,12 @@ const ( // BrentServiceListMyBindingsProcedure is the fully-qualified name of the BrentService's // ListMyBindings RPC. BrentServiceListMyBindingsProcedure = "/brent.BrentService/ListMyBindings" + // BrentServiceGetMyNotificationPreferencesProcedure is the fully-qualified name of the + // BrentService's GetMyNotificationPreferences RPC. + BrentServiceGetMyNotificationPreferencesProcedure = "/brent.BrentService/GetMyNotificationPreferences" + // BrentServiceUpdateMyNotificationPreferencesProcedure is the fully-qualified name of the + // BrentService's UpdateMyNotificationPreferences RPC. + BrentServiceUpdateMyNotificationPreferencesProcedure = "/brent.BrentService/UpdateMyNotificationPreferences" // BrentServiceUpdateMyDisplayNameProcedure is the fully-qualified name of the BrentService's // UpdateMyDisplayName RPC. BrentServiceUpdateMyDisplayNameProcedure = "/brent.BrentService/UpdateMyDisplayName" @@ -361,6 +367,12 @@ type BrentServiceClient interface { // Lists all bindings for the calling principal. Tenant-scoped and // principal-scoped. Gated on brent:read. ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) + // Returns the calling principal's notification preferences (full effective + // matrix with code defaults applied). Gated on brent:read. + GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) + // Patches the calling principal's notification preferences. Only cells present + // in the request are changed; everything else is preserved. Gated on brent:write. + UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) // Sets the calling principal's display_name and marks it user-set so // provisioning no longer re-syncs it from the identity provider. The // principal is resolved server-side from the JWT. Gated on brent:write. @@ -621,6 +633,18 @@ func NewBrentServiceClient(httpClient connect.HTTPClient, baseURL string, opts . connect.WithSchema(brentServiceMethods.ByName("ListMyBindings")), connect.WithClientOptions(opts...), ), + getMyNotificationPreferences: connect.NewClient[sdp_go.GetMyNotificationPreferencesRequest, sdp_go.GetMyNotificationPreferencesResponse]( + httpClient, + baseURL+BrentServiceGetMyNotificationPreferencesProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetMyNotificationPreferences")), + connect.WithClientOptions(opts...), + ), + updateMyNotificationPreferences: connect.NewClient[sdp_go.UpdateMyNotificationPreferencesRequest, sdp_go.UpdateMyNotificationPreferencesResponse]( + httpClient, + baseURL+BrentServiceUpdateMyNotificationPreferencesProcedure, + connect.WithSchema(brentServiceMethods.ByName("UpdateMyNotificationPreferences")), + connect.WithClientOptions(opts...), + ), updateMyDisplayName: connect.NewClient[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse]( httpClient, baseURL+BrentServiceUpdateMyDisplayNameProcedure, @@ -853,6 +877,8 @@ type brentServiceClient struct { saveGitLabSigningToken *connect.Client[sdp_go.SaveGitLabSigningTokenRequest, sdp_go.SaveGitLabSigningTokenResponse] upsertMyVerifiedBinding *connect.Client[sdp_go.UpsertMyVerifiedBindingRequest, sdp_go.UpsertMyVerifiedBindingResponse] listMyBindings *connect.Client[sdp_go.ListMyBindingsRequest, sdp_go.ListMyBindingsResponse] + getMyNotificationPreferences *connect.Client[sdp_go.GetMyNotificationPreferencesRequest, sdp_go.GetMyNotificationPreferencesResponse] + updateMyNotificationPreferences *connect.Client[sdp_go.UpdateMyNotificationPreferencesRequest, sdp_go.UpdateMyNotificationPreferencesResponse] updateMyDisplayName *connect.Client[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse] setPreferredIDE *connect.Client[sdp_go.SetPreferredIDERequest, sdp_go.SetPreferredIDEResponse] getBrentSettings *connect.Client[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] @@ -946,6 +972,16 @@ func (c *brentServiceClient) ListMyBindings(ctx context.Context, req *connect.Re return c.listMyBindings.CallUnary(ctx, req) } +// GetMyNotificationPreferences calls brent.BrentService.GetMyNotificationPreferences. +func (c *brentServiceClient) GetMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { + return c.getMyNotificationPreferences.CallUnary(ctx, req) +} + +// UpdateMyNotificationPreferences calls brent.BrentService.UpdateMyNotificationPreferences. +func (c *brentServiceClient) UpdateMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { + return c.updateMyNotificationPreferences.CallUnary(ctx, req) +} + // UpdateMyDisplayName calls brent.BrentService.UpdateMyDisplayName. func (c *brentServiceClient) UpdateMyDisplayName(ctx context.Context, req *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { return c.updateMyDisplayName.CallUnary(ctx, req) @@ -1186,6 +1222,12 @@ type BrentServiceHandler interface { // Lists all bindings for the calling principal. Tenant-scoped and // principal-scoped. Gated on brent:read. ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) + // Returns the calling principal's notification preferences (full effective + // matrix with code defaults applied). Gated on brent:read. + GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) + // Patches the calling principal's notification preferences. Only cells present + // in the request are changed; everything else is preserved. Gated on brent:write. + UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) // Sets the calling principal's display_name and marks it user-set so // provisioning no longer re-syncs it from the identity provider. The // principal is resolved server-side from the JWT. Gated on brent:write. @@ -1442,6 +1484,18 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti connect.WithSchema(brentServiceMethods.ByName("ListMyBindings")), connect.WithHandlerOptions(opts...), ) + brentServiceGetMyNotificationPreferencesHandler := connect.NewUnaryHandler( + BrentServiceGetMyNotificationPreferencesProcedure, + svc.GetMyNotificationPreferences, + connect.WithSchema(brentServiceMethods.ByName("GetMyNotificationPreferences")), + connect.WithHandlerOptions(opts...), + ) + brentServiceUpdateMyNotificationPreferencesHandler := connect.NewUnaryHandler( + BrentServiceUpdateMyNotificationPreferencesProcedure, + svc.UpdateMyNotificationPreferences, + connect.WithSchema(brentServiceMethods.ByName("UpdateMyNotificationPreferences")), + connect.WithHandlerOptions(opts...), + ) brentServiceUpdateMyDisplayNameHandler := connect.NewUnaryHandler( BrentServiceUpdateMyDisplayNameProcedure, svc.UpdateMyDisplayName, @@ -1682,6 +1736,10 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti brentServiceUpsertMyVerifiedBindingHandler.ServeHTTP(w, r) case BrentServiceListMyBindingsProcedure: brentServiceListMyBindingsHandler.ServeHTTP(w, r) + case BrentServiceGetMyNotificationPreferencesProcedure: + brentServiceGetMyNotificationPreferencesHandler.ServeHTTP(w, r) + case BrentServiceUpdateMyNotificationPreferencesProcedure: + brentServiceUpdateMyNotificationPreferencesHandler.ServeHTTP(w, r) case BrentServiceUpdateMyDisplayNameProcedure: brentServiceUpdateMyDisplayNameHandler.ServeHTTP(w, r) case BrentServiceSetPreferredIDEProcedure: @@ -1807,6 +1865,14 @@ func (UnimplementedBrentServiceHandler) ListMyBindings(context.Context, *connect return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListMyBindings is not implemented")) } +func (UnimplementedBrentServiceHandler) GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetMyNotificationPreferences is not implemented")) +} + +func (UnimplementedBrentServiceHandler) UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyNotificationPreferences is not implemented")) +} + func (UnimplementedBrentServiceHandler) UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyDisplayName is not implemented")) } From 7ecfce70afb9d7712a5327402b4d28e0759fdc53 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 11:49:44 +0300 Subject: [PATCH 03/36] Lock file maintenance (#6103) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "before 4am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: da7c4341b318afce6cf9183f10207973517f9ab0 --- .terraform.lock.hcl | 107 ++++++++++++++++++++++---------------------- 1 file changed, 54 insertions(+), 53 deletions(-) diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl index 36af39f9..a7f80ee1 100644 --- a/.terraform.lock.hcl +++ b/.terraform.lock.hcl @@ -2,69 +2,70 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/hashicorp/aws" { - version = "6.55.0" + version = "6.56.0" constraints = ">= 4.56.0, >= 6.39.0" hashes = [ - "h1:3OSTaIx7d6T+N6gwNtw0gR+IwExbHqb0y4v529Vey/4=", - "h1:6bYMRRHpKStH4H4rxnQXH1/HDliCEXS5lg+R/9p9Fb8=", - "h1:99+MYIg/y3gmsZkhAcffwOpMat+liRJ8b+eyCIax6hk=", - "h1:9ULie3iUeMHEsiRLMdMHQGKnLZx5RdGglp+BkLSt5k4=", - "h1:QIQoZv637BE40vg7/0gf/5gQbY/ZTngSuJWDl7fJr2s=", - "h1:UYYLWHqPLdQa2oyYHB+OMZ8h0zfyZnHHnLvb/awHIGQ=", - "h1:gvdCpkT64YKZPvthNuuyrtWUiqLQlrk2WF4CD/JkLFc=", - "h1:qXm4uICRKLLvyi6G3WTc49tYttD4RXqwz8BClJOcQ9w=", - "h1:soOxetCECbwyQAatWnw6MvzBqPpY9ogXCho3euH/5yU=", - "h1:t1K0MlgakTzQEGP3dUjwkjcAUvcuuSGhbCr+hT0+IKw=", - "h1:tBAaeIprhWQmlsq/CoHLXWOLZZYRdCVA1wbNv2co55g=", - "h1:vZb5RF30/6hA3mcndC2Rjzif8lZjusw00gsH7d2zS2E=", - "h1:xOIHsmrHccixVXrdHpfat+ZpCs7YJ01Tngsep+yvdO0=", - "h1:yM6149NHHl8NWU/OCIV2/x6tLrNgDTRKgR8cVrbk9BU=", - "zh:1161fb2d032ad982587b2662a5229e5d06598c5b7fc5c86b2ad64d49225047cd", - "zh:1f412b09bbece216da0ba08106f3bbb42d8c8971c02d032ab518629915086966", - "zh:2c8b789450bb67181b5f0546714bf6336ba21183c307e001fe848c22dac1f8a6", - "zh:31eec91f896743bab641c06930fe0c277143f17dd25b2510991c08e013c8da67", - "zh:4419d3e906f1ca9c99703b2c4c5082f58aaeb8b8b82e2657a187a6bdf42d8881", - "zh:58e9a7e0581e8cd5f35eb2ce308b2d572073c112facdd0a60aee032146b146b5", - "zh:72fdb02a0cb6351626df460c047d1471f26dad781160cc95abd84f8849daf950", + "h1:+gQCTlHACI1TDHT9nvKKGT4KTLrF2O4m3vrfBvqL++s=", + "h1:2MDRcAi4Gqv+3bSTgH+Yx141nZzN2o8oPUtHrjdJlxE=", + "h1:3ZVUVjID6VEEGwlikDXrPkuUhm5fnnk4xf5B8tfKq9I=", + "h1:741DoGPD40A9X3e/30UA/TBlhhJFQwC6+1aLqM/v6r8=", + "h1:B+fpqal2DK9JmGCoTla8KphcAHvszBA7cyVDyFa5JSw=", + "h1:D2mP6emuXyVi/r6eQG1KYqnGrLmTOs4OoisPyU8xCcw=", + "h1:DEUEOy961pXJOYDFIY0AoQ/1b6J1OKnTovQTf5g6EMs=", + "h1:MhideOrA+/8rovaA9BC23G4dDrFNZ0mfrRMNptZBIS0=", + "h1:QFtyHSjJtwYKIbnxk0F0l56LpiW0xQ8c8FW61vlBT5s=", + "h1:VAJZ8Z7LhSf7+LNNgYWB2V7Fd/WFxMbJ4hTdxf5Tf8I=", + "h1:WpeKsfS1hn9z9ZWTqsLbiG3cM3C617kIXnW+hGyKiME=", + "h1:gFOXtatLSEFB4HoEVBvB6+D19117VzVP81aZTMc4lkU=", + "h1:gSTd4VOv0lEjCGP5deZ4hRMBZhIOUbtS4AlCML+3gIo=", + "h1:iWz9BgFQaDPA1ChVGYvgI3MlUnx3wSQCA2ggYqDPcz8=", + "h1:vqC911lCEoiBOtv05dI5FYSc95LBTKrRBT87ju+MPhA=", + "zh:2b3fbb3bebcc663b85d5fd9bbc2d131ab89322d696ff5c6ac6b7ffb7b5fe92e7", + "zh:30e56ccc7f33a7778ab323a28fe893d8e9200dc5fb92ccb7023bee808db3c1b0", + "zh:67dca271bef16547ef8ab5a6349f9bce39d91d7c1ae3d8388ada687ca774ba44", + "zh:824c812695b14d2fddad5e22339d4520e16d9c875f5d5095f29003f49a6fd124", + "zh:8372b12e30078d1df8b52e1285fd0d9d35160a7d18c3b0211f55229e5a832fd3", + "zh:8922b45ab65e272e8951f70d890444ddb3441170d8fa6f51298f24f20d21943d", + "zh:8fc4fb94ac8547717128cbcf296ac0ba0918738c4882029cbba46bd4812eb5e4", "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", - "zh:aa527913348c33969d80527d424917876657741493f294e160f1191dbc7c1d45", - "zh:b66e5abd756064f55ff06e1ef83eb8d0b7ea6d96625cfcd24408df5472d5f899", - "zh:ba9ab4ba151ac69a854407e27d3a12a2eb260fc4205bbb5c25618e6c8ce69568", - "zh:e1bf63e8a6b9790836f74848b458cdf679a7841e66a25b4b9f6034efc9310b34", - "zh:ec4adcec426f7181faa5de976cedbd35e15d7d1ac2914bbd9cab9f4f8b018b7f", - "zh:f17b485ae74bb4272d2bd680e7d47b0cfd073d192a4f10c8bdfd9d9f25c990a1", - "zh:f6650c2d0d3e614c3ccd623bb027a52bce1f5285c4f1824a26f265eb7529a45a", - "zh:f7383732f8704099db2166a3516e0a803bf46f42c30cd20a0471b55658ae6e51", + "zh:a2efcd0174b79c1dffce48a5984f137ebc6f67d2c2ee966b47210e1faeb05cf2", + "zh:a4a50aa269a19c1d664b0dd59ee8047ed8a4a5b449f54733518309feccce1f43", + "zh:a830d80316b3c3127c9e0c77b9d4f50702c9d1a884c08973ac50b326d9ac734a", + "zh:d7e1b9bb2df3cdde8381ab101a807ae54e72c156d13a6b73dae2b922dca0c9f5", + "zh:d87c2a1cfc03b01cf13dff3700898ab990e1817326728824da8499dd0129da72", + "zh:fbb1848a597263c66dc6587ec8c3e0586e505e36f99d23752763534f62a3fef7", + "zh:fcb54d08eb3c763f01223e12b4eacbd018478e8e67c6b8611940564dfbea3d90", + "zh:ff6df70b2b2f75bd9000630f131c02e6bc2b9172cdb2547030f3fc019a3f3bc5", ] } provider "registry.terraform.io/hashicorp/google" { - version = "7.40.0" + version = "7.41.0" constraints = ">= 4.0.0" hashes = [ - "h1:5dao98iLYK2gKuX3zavy1VOmxyKDYSt8cyXlhsSAmN0=", - "h1:8ZajDajgFPtlkBQwkbnmy1oK15SbCKisKvqpDh5yYaw=", - "h1:ALcfR9PrN49rz4bO/KkLKfGlOmbKejdzmAl+frMhba8=", - "h1:AlekfK/kVz+q+zGzJnMgMu0HwyNE4ZYecspHfZ1xAr0=", - "h1:OxaclPAUS8KRiu6Lxxo46qPhPSQVGh3AXq4Vj99c8LE=", - "h1:gTE1PPIJVRRxRZsw18pq7Evvla1wdh9d/L1R3ALHiPk=", - "h1:gk7oTM9iq6kUydemxSU/EmIYs1y5NaZfovYIGYCeC8o=", - "h1:hpjTnsaokJhtjAgZ+EaqfkyojIMWsl55QtWuxDdUKrc=", - "h1:mWwZAzIiSaNP67Ac416mZkeJ1ZlQy31MMkvOHsSsM2k=", - "h1:yWOZeIQIHMn5UA5Agl0Z9kPTpjmWUiKQRz/qWsCoxOQ=", - "h1:z9s5gcJYacz/JshPzN199sDO0FM9w17csUkIRkYvu/c=", - "zh:0e905b46ee345a95797ea0ed2e76210c9a3410a253f5b87beee1f793f0be1bb7", - "zh:5733ab3bb2b8ad78afa6d0c60c31253ef90eefbf342c361be79f87857290a2f9", - "zh:57d4e829208aa1ba70719d706bfe4e43a4d429ffc30d5273335a9f0d39868b32", - "zh:5eeb315b099f5deaa9c20c93f5ed510124fedbd95d728075aec1a3be2bf48e84", - "zh:73be6c47ffed660a0964ab3a3d260aece3ab307fe580693f4440afff0cebe850", - "zh:87753d2297a4901bb58c5dbbf9a021439996afc16a331033aa23e707e5a82564", - "zh:93f95e5257375a3a13ac7214292106b9557c312e59a31b6adaa025ec3eb27506", - "zh:afb1bcd569b90ca23cfb0e916e4fa50627ba2fb33381151490b4e2be8b782289", - "zh:b4d16b7cac1b222deeffc24e8ed7a476afe45113e793f32eac7189a819fbd17f", - "zh:bfc545c4ad85d057bed651d5a63bda18666322b27b9423430adf2f6847fa62f8", + "h1:+wur8ZrXd5n6e4qXbiSRq9GntW/gmZ7rsWsvJPo3bB4=", + "h1:5GbcqIadyqkbxM5MATebNDSKHfkCXsCwQzqbt5DZpbQ=", + "h1:5KhjL1V4jxsw76SxEUYJi3+q5hIlCJwbOE0z7EClEyQ=", + "h1:DccBHIMyQokqETFL6qrvfBY05A03mcHuKDXsLPX7SL8=", + "h1:JPMc3dRHYp+RmIDH5CaYbfhd97fqKjYU91fluGea0wI=", + "h1:c5rJ0QJnn1EaEZ6Gu5rWsiV+OrgUkVSUnbdyfO1/I30=", + "h1:iNz5ITaDtQ/kq22HQkf+LAx0JrxWVq3EH0DBt5DXY+o=", + "h1:j7CeM9SQQvTWReE3vajyOaNrjsp72dbGVRnFjuk6LPA=", + "h1:ku9iIaNSzS1qnrPK6C/0EsU+2bNMDDB378bibyeQjvY=", + "h1:mFLL+5EBvdDJqvcKOc/8zF1sGI92bVaDmR2G2aFF/DQ=", + "h1:pd3lm6ZRM4rrlf9mHJnxzuVj3ImShUXYTIyfgttoHCI=", + "zh:162ba4a321308dc683f13faaf8d0ec98efda9245f0a07d5abb867da5963d00b2", + "zh:2377a2db9b5a6977fe16f75b107bc47e663630b5a7a8e7a99006cdd820e70ed7", + "zh:24cd310110d08d4e5c74c78da41c4f95573c39e4eaef2c92650ebb71cb91e9a1", + "zh:3315101a286b57ed6a742a8c7c04809f9ef79da3bfa6df5847bbaff207e80d31", + "zh:50f193d70277c5a8c6d8736ac2f4bf4f390b0a265e8d0044c7cb30fbef1f2ee8", + "zh:5a32a8565ff7084bff87ccd56e26cb31b78c98625a94fd49ec78b48f27f1ced6", + "zh:5ec0abe1056adb1f84dc4645583e1ca92b891d694929d849f82cee7221f72bfb", + "zh:99fa3a8a1d42cace4df576b1111fe2a9286c8a40e6c7fab778f13213c9fe858a", + "zh:b715f6779d201c80e8f83a21acd43f474da13dd329721cec6cd4450c42398c5e", + "zh:cc1f3acaaf68f4ff19ef5893e9cefca63e5b93c0800517dfc0a60672911c3f26", "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - "zh:fceb8f992ab00dbf8ab5e78f2033973d9c1562c55ec223f46babc2f0a7ecc3db", + "zh:fd3a26b4d131414045af53780aae841e930ec6af432794768549760c7d364765", ] } From 6b757a2643f101416e3a4ae768ab093fd4eb0f44 Mon Sep 17 00:00:00 2001 From: Elliot Waddington Date: Tue, 28 Jul 2026 13:38:07 +0200 Subject: [PATCH 04/36] [ENG-5841] Remove Profile MCP and IDE preference (#6121) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - remove the preferred-IDE RPC, runtime model, Profile controls, analytics, generated clients, and frontend MCP URL wiring - keep Integrations → Personal as the sole in-app plugin installation path, with regression coverage for Cursor and Claude Code destinations - preserve deployment compatibility by leaving the unused database column for a later migration after old pods drain - update current documentation and engineering guidance to describe the new ownership boundaries ## Brent Plan Plan ID: BRENT-708 - **Plan**: Remove Profile MCP and IDE Preference - **Approved by**: Vasile Labici ## Test plan - [x] Regenerated protobuf clients and verified the removed/reserved contract - [x] Ran focused Brent backend and frontend validation - [x] Ran the Integrations marketplace test (6 tests passed) - [x] Ran formatting, whitespace, and IDE lint checks - [ ] Let CI validate the complete repository and initialized Terraform configuration ## Rollout This is the compatibility release. A follow-up deployment will drop `principal_identities.preferred_ide` after this version is fully rolled out and older pods have drained. Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor GitOrigin-RevId: 8307ad94c31d2108aaa932ddae58caa7eae85a71 --- go/sdp-go/brent.pb.go | 924 ++++++++++++-------------- go/sdp-go/brent_descriptor_test.go | 38 ++ go/sdp-go/sdpconnect/brent.connect.go | 35 - 3 files changed, 445 insertions(+), 552 deletions(-) create mode 100644 go/sdp-go/brent_descriptor_test.go diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index 3842b98d..041bbac6 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -17631,10 +17631,7 @@ type GetPrincipalStatusResponse struct { // Populated when state = READY. Omitted when NEEDS_ONBOARDING. Principal *Principal `protobuf:"bytes,2,opt,name=principal,proto3,oneof" json:"principal,omitempty"` // Populated when state = READY. One entry per supported provider. - Integrations []*IntegrationStatus `protobuf:"bytes,3,rep,name=integrations,proto3" json:"integrations,omitempty"` - // User's preferred IDE for MCP install UI (cursor, claude-code, generic). - // Sourced from principal_identities; defaults to cursor for existing users. - PreferredIde string `protobuf:"bytes,4,opt,name=preferred_ide,json=preferredIde,proto3" json:"preferred_ide,omitempty"` + Integrations []*IntegrationStatus `protobuf:"bytes,3,rep,name=integrations,proto3" json:"integrations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -17690,13 +17687,6 @@ func (x *GetPrincipalStatusResponse) GetIntegrations() []*IntegrationStatus { return nil } -func (x *GetPrincipalStatusResponse) GetPreferredIde() string { - if x != nil { - return x.PreferredIde - } - return "" -} - type GetIntegrationConnectURLRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` @@ -22474,96 +22464,6 @@ func (x *UpdateMyDisplayNameResponse) GetPrincipal() *Principal { return nil } -type SetPreferredIDERequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // "cursor", "claude-code", or "generic" - PreferredIde string `protobuf:"bytes,1,opt,name=preferred_ide,json=preferredIde,proto3" json:"preferred_ide,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetPreferredIDERequest) Reset() { - *x = SetPreferredIDERequest{} - mi := &file_brent_proto_msgTypes[286] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetPreferredIDERequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetPreferredIDERequest) ProtoMessage() {} - -func (x *SetPreferredIDERequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[286] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetPreferredIDERequest.ProtoReflect.Descriptor instead. -func (*SetPreferredIDERequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{286} -} - -func (x *SetPreferredIDERequest) GetPreferredIde() string { - if x != nil { - return x.PreferredIde - } - return "" -} - -type SetPreferredIDEResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Echoes back the persisted preference. - PreferredIde string `protobuf:"bytes,1,opt,name=preferred_ide,json=preferredIde,proto3" json:"preferred_ide,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetPreferredIDEResponse) Reset() { - *x = SetPreferredIDEResponse{} - mi := &file_brent_proto_msgTypes[287] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetPreferredIDEResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetPreferredIDEResponse) ProtoMessage() {} - -func (x *SetPreferredIDEResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[287] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetPreferredIDEResponse.ProtoReflect.Descriptor instead. -func (*SetPreferredIDEResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{287} -} - -func (x *SetPreferredIDEResponse) GetPreferredIde() string { - if x != nil { - return x.PreferredIde - } - return "" -} - type ListMyBindingsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields @@ -22572,7 +22472,7 @@ type ListMyBindingsRequest struct { func (x *ListMyBindingsRequest) Reset() { *x = ListMyBindingsRequest{} - mi := &file_brent_proto_msgTypes[288] + mi := &file_brent_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22584,7 +22484,7 @@ func (x *ListMyBindingsRequest) String() string { func (*ListMyBindingsRequest) ProtoMessage() {} func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[288] + mi := &file_brent_proto_msgTypes[286] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22597,7 +22497,7 @@ func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyBindingsRequest.ProtoReflect.Descriptor instead. func (*ListMyBindingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{288} + return file_brent_proto_rawDescGZIP(), []int{286} } type ListMyBindingsResponse struct { @@ -22609,7 +22509,7 @@ type ListMyBindingsResponse struct { func (x *ListMyBindingsResponse) Reset() { *x = ListMyBindingsResponse{} - mi := &file_brent_proto_msgTypes[289] + mi := &file_brent_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22621,7 +22521,7 @@ func (x *ListMyBindingsResponse) String() string { func (*ListMyBindingsResponse) ProtoMessage() {} func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[289] + mi := &file_brent_proto_msgTypes[287] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22634,7 +22534,7 @@ func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyBindingsResponse.ProtoReflect.Descriptor instead. func (*ListMyBindingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{289} + return file_brent_proto_rawDescGZIP(), []int{287} } func (x *ListMyBindingsResponse) GetBindings() []*Binding { @@ -22654,7 +22554,7 @@ type NotificationPreferences struct { func (x *NotificationPreferences) Reset() { *x = NotificationPreferences{} - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22666,7 +22566,7 @@ func (x *NotificationPreferences) String() string { func (*NotificationPreferences) ProtoMessage() {} func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[288] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22679,7 +22579,7 @@ func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationPreferences.ProtoReflect.Descriptor instead. func (*NotificationPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{290} + return file_brent_proto_rawDescGZIP(), []int{288} } func (x *NotificationPreferences) GetPreferences() map[string]*ChannelPreferences { @@ -22698,7 +22598,7 @@ type ChannelPreferences struct { func (x *ChannelPreferences) Reset() { *x = ChannelPreferences{} - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22710,7 +22610,7 @@ func (x *ChannelPreferences) String() string { func (*ChannelPreferences) ProtoMessage() {} func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[289] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22723,7 +22623,7 @@ func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use ChannelPreferences.ProtoReflect.Descriptor instead. func (*ChannelPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{291} + return file_brent_proto_rawDescGZIP(), []int{289} } func (x *ChannelPreferences) GetChannels() map[string]bool { @@ -22741,7 +22641,7 @@ type GetMyNotificationPreferencesRequest struct { func (x *GetMyNotificationPreferencesRequest) Reset() { *x = GetMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22753,7 +22653,7 @@ func (x *GetMyNotificationPreferencesRequest) String() string { func (*GetMyNotificationPreferencesRequest) ProtoMessage() {} func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[290] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22766,7 +22666,7 @@ func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. func (*GetMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{292} + return file_brent_proto_rawDescGZIP(), []int{290} } type GetMyNotificationPreferencesResponse struct { @@ -22778,7 +22678,7 @@ type GetMyNotificationPreferencesResponse struct { func (x *GetMyNotificationPreferencesResponse) Reset() { *x = GetMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22790,7 +22690,7 @@ func (x *GetMyNotificationPreferencesResponse) String() string { func (*GetMyNotificationPreferencesResponse) ProtoMessage() {} func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[291] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22803,7 +22703,7 @@ func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. func (*GetMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{293} + return file_brent_proto_rawDescGZIP(), []int{291} } func (x *GetMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { @@ -22823,7 +22723,7 @@ type UpdateMyNotificationPreferencesRequest struct { func (x *UpdateMyNotificationPreferencesRequest) Reset() { *x = UpdateMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22835,7 +22735,7 @@ func (x *UpdateMyNotificationPreferencesRequest) String() string { func (*UpdateMyNotificationPreferencesRequest) ProtoMessage() {} func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[292] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22848,7 +22748,7 @@ func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use UpdateMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. func (*UpdateMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{294} + return file_brent_proto_rawDescGZIP(), []int{292} } func (x *UpdateMyNotificationPreferencesRequest) GetPreferences() *NotificationPreferences { @@ -22868,7 +22768,7 @@ type UpdateMyNotificationPreferencesResponse struct { func (x *UpdateMyNotificationPreferencesResponse) Reset() { *x = UpdateMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22880,7 +22780,7 @@ func (x *UpdateMyNotificationPreferencesResponse) String() string { func (*UpdateMyNotificationPreferencesResponse) ProtoMessage() {} func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[293] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22893,7 +22793,7 @@ func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Me // Deprecated: Use UpdateMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. func (*UpdateMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{295} + return file_brent_proto_rawDescGZIP(), []int{293} } func (x *UpdateMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { @@ -22920,7 +22820,7 @@ type Binding struct { func (x *Binding) Reset() { *x = Binding{} - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22932,7 +22832,7 @@ func (x *Binding) String() string { func (*Binding) ProtoMessage() {} func (x *Binding) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[294] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22945,7 +22845,7 @@ func (x *Binding) ProtoReflect() protoreflect.Message { // Deprecated: Use Binding.ProtoReflect.Descriptor instead. func (*Binding) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{296} + return file_brent_proto_rawDescGZIP(), []int{294} } func (x *Binding) GetExternalId() string { @@ -23006,7 +22906,7 @@ type RedFindingKindsPatch struct { func (x *RedFindingKindsPatch) Reset() { *x = RedFindingKindsPatch{} - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23018,7 +22918,7 @@ func (x *RedFindingKindsPatch) String() string { func (*RedFindingKindsPatch) ProtoMessage() {} func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[295] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23031,7 +22931,7 @@ func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { // Deprecated: Use RedFindingKindsPatch.ProtoReflect.Descriptor instead. func (*RedFindingKindsPatch) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{297} + return file_brent_proto_rawDescGZIP(), []int{295} } func (x *RedFindingKindsPatch) GetKinds() []string { @@ -23050,7 +22950,7 @@ type GetBrentSettingsRequest struct { func (x *GetBrentSettingsRequest) Reset() { *x = GetBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23062,7 +22962,7 @@ func (x *GetBrentSettingsRequest) String() string { func (*GetBrentSettingsRequest) ProtoMessage() {} func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[296] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23075,7 +22975,7 @@ func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*GetBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{298} + return file_brent_proto_rawDescGZIP(), []int{296} } func (x *GetBrentSettingsRequest) GetAccountName() string { @@ -23096,7 +22996,7 @@ type GetBrentSettingsResponse struct { func (x *GetBrentSettingsResponse) Reset() { *x = GetBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23108,7 +23008,7 @@ func (x *GetBrentSettingsResponse) String() string { func (*GetBrentSettingsResponse) ProtoMessage() {} func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[297] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23121,7 +23021,7 @@ func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*GetBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{299} + return file_brent_proto_rawDescGZIP(), []int{297} } func (x *GetBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23155,7 +23055,7 @@ type UpdateBrentSettingsRequest struct { func (x *UpdateBrentSettingsRequest) Reset() { *x = UpdateBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23167,7 +23067,7 @@ func (x *UpdateBrentSettingsRequest) String() string { func (*UpdateBrentSettingsRequest) ProtoMessage() {} func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23180,7 +23080,7 @@ func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{300} + return file_brent_proto_rawDescGZIP(), []int{298} } func (x *UpdateBrentSettingsRequest) GetAccountName() string { @@ -23208,7 +23108,7 @@ type UpdateBrentSettingsResponse struct { func (x *UpdateBrentSettingsResponse) Reset() { *x = UpdateBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23220,7 +23120,7 @@ func (x *UpdateBrentSettingsResponse) String() string { func (*UpdateBrentSettingsResponse) ProtoMessage() {} func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23233,7 +23133,7 @@ func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{301} + return file_brent_proto_rawDescGZIP(), []int{299} } func (x *UpdateBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23269,7 +23169,7 @@ type AdminGetAccountBrentSettingsRequest struct { func (x *AdminGetAccountBrentSettingsRequest) Reset() { *x = AdminGetAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23281,7 +23181,7 @@ func (x *AdminGetAccountBrentSettingsRequest) String() string { func (*AdminGetAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[300] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23294,7 +23194,7 @@ func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AdminGetAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{302} + return file_brent_proto_rawDescGZIP(), []int{300} } func (x *AdminGetAccountBrentSettingsRequest) GetAccountName() string { @@ -23317,7 +23217,7 @@ type AdminUpdateAccountBrentSettingsRequest struct { func (x *AdminUpdateAccountBrentSettingsRequest) Reset() { *x = AdminUpdateAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23329,7 +23229,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) String() string { func (*AdminUpdateAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23342,7 +23242,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AdminUpdateAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminUpdateAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{303} + return file_brent_proto_rawDescGZIP(), []int{301} } func (x *AdminUpdateAccountBrentSettingsRequest) GetAccountName() string { @@ -23374,7 +23274,7 @@ type AdminGetAccountLLMCredentialStatusRequest struct { func (x *AdminGetAccountLLMCredentialStatusRequest) Reset() { *x = AdminGetAccountLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23386,7 +23286,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) String() string { func (*AdminGetAccountLLMCredentialStatusRequest) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23399,7 +23299,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect. // Deprecated: Use AdminGetAccountLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{304} + return file_brent_proto_rawDescGZIP(), []int{302} } func (x *AdminGetAccountLLMCredentialStatusRequest) GetAccountName() string { @@ -23431,7 +23331,7 @@ type AdminGetAccountLLMCredentialStatusResponse struct { func (x *AdminGetAccountLLMCredentialStatusResponse) Reset() { *x = AdminGetAccountLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23443,7 +23343,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) String() string { func (*AdminGetAccountLLMCredentialStatusResponse) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23456,7 +23356,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect // Deprecated: Use AdminGetAccountLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{305} + return file_brent_proto_rawDescGZIP(), []int{303} } func (x *AdminGetAccountLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -23481,7 +23381,7 @@ type ListIntegrationCatalogueRequest struct { func (x *ListIntegrationCatalogueRequest) Reset() { *x = ListIntegrationCatalogueRequest{} - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23493,7 +23393,7 @@ func (x *ListIntegrationCatalogueRequest) String() string { func (*ListIntegrationCatalogueRequest) ProtoMessage() {} func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23506,7 +23406,7 @@ func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{306} + return file_brent_proto_rawDescGZIP(), []int{304} } type ListIntegrationCatalogueResponse struct { @@ -23518,7 +23418,7 @@ type ListIntegrationCatalogueResponse struct { func (x *ListIntegrationCatalogueResponse) Reset() { *x = ListIntegrationCatalogueResponse{} - mi := &file_brent_proto_msgTypes[307] + mi := &file_brent_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23530,7 +23430,7 @@ func (x *ListIntegrationCatalogueResponse) String() string { func (*ListIntegrationCatalogueResponse) ProtoMessage() {} func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[307] + mi := &file_brent_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23543,7 +23443,7 @@ func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{307} + return file_brent_proto_rawDescGZIP(), []int{305} } func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { @@ -23581,7 +23481,7 @@ type IntegrationCatalogueEntry struct { func (x *IntegrationCatalogueEntry) Reset() { *x = IntegrationCatalogueEntry{} - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23593,7 +23493,7 @@ func (x *IntegrationCatalogueEntry) String() string { func (*IntegrationCatalogueEntry) ProtoMessage() {} func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23606,7 +23506,7 @@ func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{308} + return file_brent_proto_rawDescGZIP(), []int{306} } func (x *IntegrationCatalogueEntry) GetStableId() string { @@ -25231,14 +25131,13 @@ const file_brent_proto_rawDesc = "" + "_plan_uuidB\b\n" + "\x06_pr_idJ\x04\b\x03\x10\x04J\x04\b\n" + "\x10\vJ\x04\b\x13\x10\x14R\rworkflow_kindR\x06pr_keyR\bhead_sha\"\x1b\n" + - "\x19GetPrincipalStatusRequest\"\xf5\x01\n" + + "\x19GetPrincipalStatusRequest\"\xe5\x01\n" + "\x1aGetPrincipalStatusResponse\x121\n" + "\x05state\x18\x01 \x01(\x0e2\x1b.brent.PrincipalStatusStateR\x05state\x123\n" + "\tprincipal\x18\x02 \x01(\v2\x10.brent.PrincipalH\x00R\tprincipal\x88\x01\x01\x12<\n" + - "\fintegrations\x18\x03 \x03(\v2\x18.brent.IntegrationStatusR\fintegrations\x12#\n" + - "\rpreferred_ide\x18\x04 \x01(\tR\fpreferredIdeB\f\n" + + "\fintegrations\x18\x03 \x03(\v2\x18.brent.IntegrationStatusR\fintegrationsB\f\n" + "\n" + - "_principal\"\xb0\x01\n" + + "_principalJ\x04\b\x04\x10\x05R\rpreferred_ide\"\xb0\x01\n" + "\x1fGetIntegrationConnectURLRequest\x126\n" + "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x120\n" + "\x06intent\x18\x02 \x01(\x0e2\x18.brent.IntegrationIntentR\x06intent\x12#\n" + @@ -25530,11 +25429,7 @@ const file_brent_proto_rawDesc = "" + "\x1aUpdateMyDisplayNameRequest\x12!\n" + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"M\n" + "\x1bUpdateMyDisplayNameResponse\x12.\n" + - "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\"=\n" + - "\x16SetPreferredIDERequest\x12#\n" + - "\rpreferred_ide\x18\x01 \x01(\tR\fpreferredIde\">\n" + - "\x17SetPreferredIDEResponse\x12#\n" + - "\rpreferred_ide\x18\x01 \x01(\tR\fpreferredIde\"\x17\n" + + "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\"\x17\n" + "\x15ListMyBindingsRequest\"D\n" + "\x16ListMyBindingsResponse\x12*\n" + "\bbindings\x18\x01 \x03(\v2\x0e.brent.BindingR\bbindings\"\xc7\x01\n" + @@ -25671,7 +25566,7 @@ const file_brent_proto_rawDesc = "" + "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + " INTEGRATION_CATALOGUE_SOURCE_BYO\x10\x02\x12/\n" + - "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xd9&\n" + + "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\x87&\n" + "\fBrentService\x12_\n" + "\x14ListOpenPullRequests\x12\".brent.ListOpenPullRequestsRequest\x1a#.brent.ListOpenPullRequestsResponse\x12M\n" + "\x0eGetPullRequest\x12\x1c.brent.GetPullRequestRequest\x1a\x1d.brent.GetPullRequestResponse\x12Y\n" + @@ -25686,8 +25581,7 @@ const file_brent_proto_rawDesc = "" + "\x0eListMyBindings\x12\x1c.brent.ListMyBindingsRequest\x1a\x1d.brent.ListMyBindingsResponse\x12w\n" + "\x1cGetMyNotificationPreferences\x12*.brent.GetMyNotificationPreferencesRequest\x1a+.brent.GetMyNotificationPreferencesResponse\x12\x80\x01\n" + "\x1fUpdateMyNotificationPreferences\x12-.brent.UpdateMyNotificationPreferencesRequest\x1a..brent.UpdateMyNotificationPreferencesResponse\x12\\\n" + - "\x13UpdateMyDisplayName\x12!.brent.UpdateMyDisplayNameRequest\x1a\".brent.UpdateMyDisplayNameResponse\x12P\n" + - "\x0fSetPreferredIDE\x12\x1d.brent.SetPreferredIDERequest\x1a\x1e.brent.SetPreferredIDEResponse\x12S\n" + + "\x13UpdateMyDisplayName\x12!.brent.UpdateMyDisplayNameRequest\x1a\".brent.UpdateMyDisplayNameResponse\x12S\n" + "\x10GetBrentSettings\x12\x1e.brent.GetBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12\\\n" + "\x13UpdateBrentSettings\x12!.brent.UpdateBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12k\n" + "\x18ListIntegrationCatalogue\x12&.brent.ListIntegrationCatalogueRequest\x1a'.brent.ListIntegrationCatalogueResponse\x12P\n" + @@ -25780,7 +25674,7 @@ func file_brent_proto_rawDescGZIP() []byte { } var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 11) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 323) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 321) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode @@ -26079,77 +25973,75 @@ var file_brent_proto_goTypes = []any{ (*UpsertMyVerifiedBindingResponse)(nil), // 294: brent.UpsertMyVerifiedBindingResponse (*UpdateMyDisplayNameRequest)(nil), // 295: brent.UpdateMyDisplayNameRequest (*UpdateMyDisplayNameResponse)(nil), // 296: brent.UpdateMyDisplayNameResponse - (*SetPreferredIDERequest)(nil), // 297: brent.SetPreferredIDERequest - (*SetPreferredIDEResponse)(nil), // 298: brent.SetPreferredIDEResponse - (*ListMyBindingsRequest)(nil), // 299: brent.ListMyBindingsRequest - (*ListMyBindingsResponse)(nil), // 300: brent.ListMyBindingsResponse - (*NotificationPreferences)(nil), // 301: brent.NotificationPreferences - (*ChannelPreferences)(nil), // 302: brent.ChannelPreferences - (*GetMyNotificationPreferencesRequest)(nil), // 303: brent.GetMyNotificationPreferencesRequest - (*GetMyNotificationPreferencesResponse)(nil), // 304: brent.GetMyNotificationPreferencesResponse - (*UpdateMyNotificationPreferencesRequest)(nil), // 305: brent.UpdateMyNotificationPreferencesRequest - (*UpdateMyNotificationPreferencesResponse)(nil), // 306: brent.UpdateMyNotificationPreferencesResponse - (*Binding)(nil), // 307: brent.Binding - (*RedFindingKindsPatch)(nil), // 308: brent.RedFindingKindsPatch - (*GetBrentSettingsRequest)(nil), // 309: brent.GetBrentSettingsRequest - (*GetBrentSettingsResponse)(nil), // 310: brent.GetBrentSettingsResponse - (*UpdateBrentSettingsRequest)(nil), // 311: brent.UpdateBrentSettingsRequest - (*UpdateBrentSettingsResponse)(nil), // 312: brent.UpdateBrentSettingsResponse - (*AdminGetAccountBrentSettingsRequest)(nil), // 313: brent.AdminGetAccountBrentSettingsRequest - (*AdminUpdateAccountBrentSettingsRequest)(nil), // 314: brent.AdminUpdateAccountBrentSettingsRequest - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 315: brent.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 316: brent.AdminGetAccountLLMCredentialStatusResponse - (*ListIntegrationCatalogueRequest)(nil), // 317: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 318: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 319: brent.IntegrationCatalogueEntry - nil, // 320: brent.PlanUpdated.PreviousEntry - nil, // 321: brent.PlanUpdated.AfterEntry - nil, // 322: brent.PrincipalUpdated.PreviousEntry - nil, // 323: brent.PrincipalUpdated.AfterEntry - nil, // 324: brent.BindingUpdated.PreviousEntry - nil, // 325: brent.BindingUpdated.AfterEntry - nil, // 326: brent.OtherEvent.FieldsEntry - nil, // 327: brent.PullRequestUpdated.PreviousEntry - nil, // 328: brent.PullRequestUpdated.AfterEntry - nil, // 329: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 330: brent.DeviationFindingUpdated.PreviousEntry - nil, // 331: brent.DeviationFindingUpdated.AfterEntry - nil, // 332: brent.NotificationPreferences.PreferencesEntry - nil, // 333: brent.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 334: google.protobuf.Timestamp - (*structpb.Value)(nil), // 335: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 336: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 337: google.protobuf.Empty + (*ListMyBindingsRequest)(nil), // 297: brent.ListMyBindingsRequest + (*ListMyBindingsResponse)(nil), // 298: brent.ListMyBindingsResponse + (*NotificationPreferences)(nil), // 299: brent.NotificationPreferences + (*ChannelPreferences)(nil), // 300: brent.ChannelPreferences + (*GetMyNotificationPreferencesRequest)(nil), // 301: brent.GetMyNotificationPreferencesRequest + (*GetMyNotificationPreferencesResponse)(nil), // 302: brent.GetMyNotificationPreferencesResponse + (*UpdateMyNotificationPreferencesRequest)(nil), // 303: brent.UpdateMyNotificationPreferencesRequest + (*UpdateMyNotificationPreferencesResponse)(nil), // 304: brent.UpdateMyNotificationPreferencesResponse + (*Binding)(nil), // 305: brent.Binding + (*RedFindingKindsPatch)(nil), // 306: brent.RedFindingKindsPatch + (*GetBrentSettingsRequest)(nil), // 307: brent.GetBrentSettingsRequest + (*GetBrentSettingsResponse)(nil), // 308: brent.GetBrentSettingsResponse + (*UpdateBrentSettingsRequest)(nil), // 309: brent.UpdateBrentSettingsRequest + (*UpdateBrentSettingsResponse)(nil), // 310: brent.UpdateBrentSettingsResponse + (*AdminGetAccountBrentSettingsRequest)(nil), // 311: brent.AdminGetAccountBrentSettingsRequest + (*AdminUpdateAccountBrentSettingsRequest)(nil), // 312: brent.AdminUpdateAccountBrentSettingsRequest + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 313: brent.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 314: brent.AdminGetAccountLLMCredentialStatusResponse + (*ListIntegrationCatalogueRequest)(nil), // 315: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 316: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 317: brent.IntegrationCatalogueEntry + nil, // 318: brent.PlanUpdated.PreviousEntry + nil, // 319: brent.PlanUpdated.AfterEntry + nil, // 320: brent.PrincipalUpdated.PreviousEntry + nil, // 321: brent.PrincipalUpdated.AfterEntry + nil, // 322: brent.BindingUpdated.PreviousEntry + nil, // 323: brent.BindingUpdated.AfterEntry + nil, // 324: brent.OtherEvent.FieldsEntry + nil, // 325: brent.PullRequestUpdated.PreviousEntry + nil, // 326: brent.PullRequestUpdated.AfterEntry + nil, // 327: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 328: brent.DeviationFindingUpdated.PreviousEntry + nil, // 329: brent.DeviationFindingUpdated.AfterEntry + nil, // 330: brent.NotificationPreferences.PreferencesEntry + nil, // 331: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 332: google.protobuf.Timestamp + (*structpb.Value)(nil), // 333: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 334: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 335: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ 21, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary 22, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest 23, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 334, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 332, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp 22, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest 18, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow 19, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 334, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 334, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 334, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 334, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 334, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 334, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 334, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 332, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 332, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 332, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 332, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 332, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 332, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 332, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp 24, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 334, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 332, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp 28, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 334, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 334, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 332, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 332, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp 104, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 334, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 334, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 332, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 332, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp 104, // 23: brent.ListEventsResponse.events:type_name -> brent.Event 40, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest 40, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 334, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 334, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 332, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 332, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp 42, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep 43, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep 44, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep @@ -26161,65 +26053,65 @@ var file_brent_proto_depIdxs = []int32{ 50, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep 51, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep 55, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 334, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 334, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 334, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 334, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 332, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 332, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 332, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 332, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 58, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan 83, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary 21, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 334, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 334, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 334, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 332, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 332, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 332, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 223, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal 223, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal 63, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity - 307, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 334, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 334, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 307, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding + 305, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding + 332, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 332, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 305, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding 223, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal 63, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity 78, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 334, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 332, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp 83, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 334, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 334, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 332, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 332, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp 86, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review 55, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 334, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 334, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 334, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 334, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 332, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 332, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 332, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 332, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp 87, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 334, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 334, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 332, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 332, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp 90, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary 93, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 334, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 332, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp 96, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 334, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 334, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 334, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 334, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 332, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 332, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 332, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 332, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 334, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 334, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 334, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 334, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 332, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 332, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 332, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 332, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp 101, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 334, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 334, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 334, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 334, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 332, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 332, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 332, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 332, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp 102, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 334, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 334, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 334, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 332, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 332, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 332, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp 105, // 95: brent.Event.actor:type_name -> brent.Actor 106, // 96: brent.Event.object:type_name -> brent.ObjectReference - 334, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 332, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp 107, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated 108, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated 109, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted @@ -26299,53 +26191,53 @@ var file_brent_proto_depIdxs = []int32{ 161, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared 115, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided 140, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 320, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 321, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 334, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 322, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 323, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 318, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 319, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 332, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 320, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 321, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry 6, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 324, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 325, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 326, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 327, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 328, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 334, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 329, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 334, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 322, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 323, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 324, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 325, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 326, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 332, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 327, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 332, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp 154, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 334, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 334, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 330, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 331, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 334, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 334, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 334, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 334, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 334, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 334, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 334, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 334, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 332, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 332, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 328, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 329, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 332, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 332, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 332, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 332, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 332, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 332, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 332, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 332, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp 190, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 334, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 334, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 332, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 332, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp 193, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 334, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 334, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 332, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 332, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp 196, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 334, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 334, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 334, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 334, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 332, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 332, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 332, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 332, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp 196, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary 41, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse 199, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment 202, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun 190, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 334, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 334, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 334, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 334, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 332, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 332, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 332, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 332, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp 104, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState 223, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal @@ -26353,11 +26245,11 @@ var file_brent_proto_depIdxs = []int32{ 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 334, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 334, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 332, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 332, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider 217, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 334, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 332, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp 3, // 236: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider @@ -26367,8 +26259,8 @@ var file_brent_proto_depIdxs = []int32{ 3, // 242: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 334, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 334, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 332, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 332, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp 224, // 247: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace 224, // 248: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace 5, // 249: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider @@ -26376,61 +26268,61 @@ var file_brent_proto_depIdxs = []int32{ 230, // 251: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate 224, // 252: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace 238, // 253: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 334, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 332, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp 239, // 255: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember 6, // 256: brent.JoinableWorkspace.source:type_name -> brent.JoinSource 224, // 257: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 334, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 332, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp 242, // 259: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain 242, // 260: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain 242, // 261: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 334, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 334, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 332, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 332, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp 255, // 264: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus 255, // 265: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 334, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 332, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp 262, // 267: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus 262, // 268: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus 224, // 269: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace 224, // 270: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 334, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 332, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 8, // 272: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus 276, // 273: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult 224, // 274: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace 282, // 275: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember 9, // 276: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 334, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 332, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 7, // 278: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 307, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 305, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding 223, // 280: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 307, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 332, // 282: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 333, // 283: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry - 301, // 284: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 301, // 285: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences - 301, // 286: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 334, // 287: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 334, // 288: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 334, // 289: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 308, // 290: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 334, // 291: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 308, // 292: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 305, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 330, // 282: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 331, // 283: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 299, // 284: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 299, // 285: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences + 299, // 286: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 332, // 287: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 332, // 288: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 332, // 289: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 306, // 290: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 332, // 291: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 306, // 292: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch 255, // 293: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 319, // 294: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 317, // 294: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry 10, // 295: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource 3, // 296: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 335, // 297: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 335, // 298: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 335, // 299: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 335, // 300: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 335, // 301: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 335, // 302: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 335, // 303: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 335, // 304: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 335, // 305: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 335, // 306: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 302, // 307: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 336, // 308: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 333, // 297: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 298: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 299: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 300: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 301: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 302: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 303: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 304: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 305: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 306: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 300, // 307: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 334, // 308: brent.embedded_json:extendee -> google.protobuf.FieldOptions 36, // 309: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest 38, // 310: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest 203, // 311: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest @@ -26441,176 +26333,174 @@ var file_brent_proto_depIdxs = []int32{ 213, // 316: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest 215, // 317: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest 293, // 318: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 299, // 319: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 303, // 320: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 305, // 321: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 297, // 319: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 301, // 320: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 303, // 321: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest 295, // 322: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 297, // 323: brent.BrentService.SetPreferredIDE:input_type -> brent.SetPreferredIDERequest - 309, // 324: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 311, // 325: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 317, // 326: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 225, // 327: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 227, // 328: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 229, // 329: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 232, // 330: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 269, // 331: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 271, // 332: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 234, // 333: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 236, // 334: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 240, // 335: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 273, // 336: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 275, // 337: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 278, // 338: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 280, // 339: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 283, // 340: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 285, // 341: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 287, // 342: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 289, // 343: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 243, // 344: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 245, // 345: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 247, // 346: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 249, // 347: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 253, // 348: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 256, // 349: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 258, // 350: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 260, // 351: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 263, // 352: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 265, // 353: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 267, // 354: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 219, // 355: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 221, // 356: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 251, // 357: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 291, // 358: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 25, // 359: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 26, // 360: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 29, // 361: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 30, // 362: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 32, // 363: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 34, // 364: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 52, // 365: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 53, // 366: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 56, // 367: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 81, // 368: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 84, // 369: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 337, // 370: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 89, // 371: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 92, // 372: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 95, // 373: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 98, // 374: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 100, // 375: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 313, // 376: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 314, // 377: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 315, // 378: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 188, // 379: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 191, // 380: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 194, // 381: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 197, // 382: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 198, // 383: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 11, // 384: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 13, // 385: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 15, // 386: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 59, // 387: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 61, // 388: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 64, // 389: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 66, // 390: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 68, // 391: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 70, // 392: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 72, // 393: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 74, // 394: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 76, // 395: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 79, // 396: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 17, // 397: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 37, // 398: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 39, // 399: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 204, // 400: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 206, // 401: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 208, // 402: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 210, // 403: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 212, // 404: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 214, // 405: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 216, // 406: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 294, // 407: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 300, // 408: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 304, // 409: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 306, // 410: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 296, // 411: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 298, // 412: brent.BrentService.SetPreferredIDE:output_type -> brent.SetPreferredIDEResponse - 310, // 413: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 312, // 414: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 318, // 415: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 226, // 416: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 228, // 417: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 231, // 418: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 233, // 419: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 270, // 420: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 272, // 421: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 235, // 422: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 237, // 423: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 241, // 424: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 274, // 425: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 277, // 426: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 279, // 427: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 281, // 428: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 284, // 429: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 286, // 430: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 288, // 431: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 290, // 432: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 244, // 433: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 246, // 434: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 248, // 435: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 250, // 436: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 254, // 437: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 257, // 438: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 259, // 439: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 261, // 440: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 264, // 441: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 266, // 442: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 268, // 443: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 220, // 444: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 222, // 445: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 252, // 446: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 292, // 447: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 41, // 448: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 27, // 449: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 41, // 450: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 31, // 451: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 33, // 452: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 35, // 453: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 41, // 454: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 54, // 455: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 57, // 456: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 82, // 457: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 85, // 458: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 88, // 459: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 91, // 460: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 94, // 461: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 97, // 462: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 99, // 463: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 103, // 464: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 310, // 465: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 312, // 466: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 316, // 467: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 189, // 468: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 192, // 469: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 195, // 470: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 201, // 471: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 200, // 472: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 12, // 473: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 14, // 474: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 16, // 475: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 60, // 476: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 62, // 477: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 65, // 478: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 67, // 479: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 69, // 480: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 71, // 481: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 73, // 482: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 75, // 483: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 77, // 484: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 80, // 485: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 20, // 486: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 398, // [398:487] is the sub-list for method output_type - 309, // [309:398] is the sub-list for method input_type + 307, // 323: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 309, // 324: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 315, // 325: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 225, // 326: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 227, // 327: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 229, // 328: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 232, // 329: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 269, // 330: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 271, // 331: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 234, // 332: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 236, // 333: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 240, // 334: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 273, // 335: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 275, // 336: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 278, // 337: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 280, // 338: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 283, // 339: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 285, // 340: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 287, // 341: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 289, // 342: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 243, // 343: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 245, // 344: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 247, // 345: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 249, // 346: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 253, // 347: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 256, // 348: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 258, // 349: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 260, // 350: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 263, // 351: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 265, // 352: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 267, // 353: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 219, // 354: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 221, // 355: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 251, // 356: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 291, // 357: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 25, // 358: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 26, // 359: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 29, // 360: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 30, // 361: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 32, // 362: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 34, // 363: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 52, // 364: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 53, // 365: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 56, // 366: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 81, // 367: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 84, // 368: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 335, // 369: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 89, // 370: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 92, // 371: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 95, // 372: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 98, // 373: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 100, // 374: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 311, // 375: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 312, // 376: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 313, // 377: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 188, // 378: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 191, // 379: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 194, // 380: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 197, // 381: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 198, // 382: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 11, // 383: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 13, // 384: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 15, // 385: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 59, // 386: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 61, // 387: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 64, // 388: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 66, // 389: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 68, // 390: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 70, // 391: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 72, // 392: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 74, // 393: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 76, // 394: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 79, // 395: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 17, // 396: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 37, // 397: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 39, // 398: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 204, // 399: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 206, // 400: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 208, // 401: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 210, // 402: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 212, // 403: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 214, // 404: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 216, // 405: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 294, // 406: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 298, // 407: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 302, // 408: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 304, // 409: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 296, // 410: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 308, // 411: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 310, // 412: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 316, // 413: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 226, // 414: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 228, // 415: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 231, // 416: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 233, // 417: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 270, // 418: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 272, // 419: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 235, // 420: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 237, // 421: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 241, // 422: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 274, // 423: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 277, // 424: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 279, // 425: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 281, // 426: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 284, // 427: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 286, // 428: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 288, // 429: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 290, // 430: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 244, // 431: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 246, // 432: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 248, // 433: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 250, // 434: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 254, // 435: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 257, // 436: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 259, // 437: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 261, // 438: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 264, // 439: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 266, // 440: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 268, // 441: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 220, // 442: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 222, // 443: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 252, // 444: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 292, // 445: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 41, // 446: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 27, // 447: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 41, // 448: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 31, // 449: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 33, // 450: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 35, // 451: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 41, // 452: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 54, // 453: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 57, // 454: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 82, // 455: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 85, // 456: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 88, // 457: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 91, // 458: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 94, // 459: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 97, // 460: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 99, // 461: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 103, // 462: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 308, // 463: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 310, // 464: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 314, // 465: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 189, // 466: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 192, // 467: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 195, // 468: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 201, // 469: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 200, // 470: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 12, // 471: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 14, // 472: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 16, // 473: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 60, // 474: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 62, // 475: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 65, // 476: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 67, // 477: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 69, // 478: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 71, // 479: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 73, // 480: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 75, // 481: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 77, // 482: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 80, // 483: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 20, // 484: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 397, // [397:485] is the sub-list for method output_type + 309, // [309:397] is the sub-list for method input_type 309, // [309:309] is the sub-list for extension type_name 308, // [308:309] is the sub-list for extension extendee 0, // [0:308] is the sub-list for field type_name @@ -26729,15 +26619,15 @@ func file_brent_proto_init() { file_brent_proto_msgTypes[227].OneofWrappers = []any{} file_brent_proto_msgTypes[228].OneofWrappers = []any{} file_brent_proto_msgTypes[281].OneofWrappers = []any{} - file_brent_proto_msgTypes[300].OneofWrappers = []any{} - file_brent_proto_msgTypes[303].OneofWrappers = []any{} + file_brent_proto_msgTypes[298].OneofWrappers = []any{} + file_brent_proto_msgTypes[301].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), NumEnums: 11, - NumMessages: 323, + NumMessages: 321, NumExtensions: 1, NumServices: 3, }, diff --git a/go/sdp-go/brent_descriptor_test.go b/go/sdp-go/brent_descriptor_test.go new file mode 100644 index 00000000..f0f3352f --- /dev/null +++ b/go/sdp-go/brent_descriptor_test.go @@ -0,0 +1,38 @@ +package sdp + +import ( + "testing" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +func TestPreferredIDEContractIsRemovedAndReserved(t *testing.T) { + t.Parallel() + + service := File_brent_proto.Services().ByName("BrentService") + if service.Methods().ByName("SetPreferredIDE") != nil { + t.Fatal("BrentService must not expose SetPreferredIDE") + } + + messages := File_brent_proto.Messages() + if messages.ByName("SetPreferredIDERequest") != nil { + t.Fatal("SetPreferredIDERequest must not exist") + } + if messages.ByName("SetPreferredIDEResponse") != nil { + t.Fatal("SetPreferredIDEResponse must not exist") + } + + principalStatus := messages.ByName("GetPrincipalStatusResponse") + if principalStatus.Fields().ByNumber(4) != nil { + t.Fatal("GetPrincipalStatusResponse field 4 must not exist") + } + if principalStatus.Fields().ByName("preferred_ide") != nil { + t.Fatal("GetPrincipalStatusResponse preferred_ide must not exist") + } + if !principalStatus.ReservedRanges().Has(protoreflect.FieldNumber(4)) { + t.Fatal("GetPrincipalStatusResponse field 4 must be reserved") + } + if !principalStatus.ReservedNames().Has("preferred_ide") { + t.Fatal("GetPrincipalStatusResponse preferred_ide name must be reserved") + } +} diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index 6c3601d2..d8153ac7 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -80,9 +80,6 @@ const ( // BrentServiceUpdateMyDisplayNameProcedure is the fully-qualified name of the BrentService's // UpdateMyDisplayName RPC. BrentServiceUpdateMyDisplayNameProcedure = "/brent.BrentService/UpdateMyDisplayName" - // BrentServiceSetPreferredIDEProcedure is the fully-qualified name of the BrentService's - // SetPreferredIDE RPC. - BrentServiceSetPreferredIDEProcedure = "/brent.BrentService/SetPreferredIDE" // BrentServiceGetBrentSettingsProcedure is the fully-qualified name of the BrentService's // GetBrentSettings RPC. BrentServiceGetBrentSettingsProcedure = "/brent.BrentService/GetBrentSettings" @@ -377,10 +374,6 @@ type BrentServiceClient interface { // provisioning no longer re-syncs it from the identity provider. The // principal is resolved server-side from the JWT. Gated on brent:write. UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) - // Sets the calling user's preferred IDE for MCP install UI. Stored on the - // global principal_identities row so the preference applies across all - // workspaces. Gated on brent:write. - SetPreferredIDE(context.Context, *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) // Returns Brent tenant settings for the given account. Customer callers // use their JWT account; brent-area51 operators may pass any account_name // when holding admin:write. @@ -651,12 +644,6 @@ func NewBrentServiceClient(httpClient connect.HTTPClient, baseURL string, opts . connect.WithSchema(brentServiceMethods.ByName("UpdateMyDisplayName")), connect.WithClientOptions(opts...), ), - setPreferredIDE: connect.NewClient[sdp_go.SetPreferredIDERequest, sdp_go.SetPreferredIDEResponse]( - httpClient, - baseURL+BrentServiceSetPreferredIDEProcedure, - connect.WithSchema(brentServiceMethods.ByName("SetPreferredIDE")), - connect.WithClientOptions(opts...), - ), getBrentSettings: connect.NewClient[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse]( httpClient, baseURL+BrentServiceGetBrentSettingsProcedure, @@ -880,7 +867,6 @@ type brentServiceClient struct { getMyNotificationPreferences *connect.Client[sdp_go.GetMyNotificationPreferencesRequest, sdp_go.GetMyNotificationPreferencesResponse] updateMyNotificationPreferences *connect.Client[sdp_go.UpdateMyNotificationPreferencesRequest, sdp_go.UpdateMyNotificationPreferencesResponse] updateMyDisplayName *connect.Client[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse] - setPreferredIDE *connect.Client[sdp_go.SetPreferredIDERequest, sdp_go.SetPreferredIDEResponse] getBrentSettings *connect.Client[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] updateBrentSettings *connect.Client[sdp_go.UpdateBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] listIntegrationCatalogue *connect.Client[sdp_go.ListIntegrationCatalogueRequest, sdp_go.ListIntegrationCatalogueResponse] @@ -987,11 +973,6 @@ func (c *brentServiceClient) UpdateMyDisplayName(ctx context.Context, req *conne return c.updateMyDisplayName.CallUnary(ctx, req) } -// SetPreferredIDE calls brent.BrentService.SetPreferredIDE. -func (c *brentServiceClient) SetPreferredIDE(ctx context.Context, req *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) { - return c.setPreferredIDE.CallUnary(ctx, req) -} - // GetBrentSettings calls brent.BrentService.GetBrentSettings. func (c *brentServiceClient) GetBrentSettings(ctx context.Context, req *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { return c.getBrentSettings.CallUnary(ctx, req) @@ -1232,10 +1213,6 @@ type BrentServiceHandler interface { // provisioning no longer re-syncs it from the identity provider. The // principal is resolved server-side from the JWT. Gated on brent:write. UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) - // Sets the calling user's preferred IDE for MCP install UI. Stored on the - // global principal_identities row so the preference applies across all - // workspaces. Gated on brent:write. - SetPreferredIDE(context.Context, *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) // Returns Brent tenant settings for the given account. Customer callers // use their JWT account; brent-area51 operators may pass any account_name // when holding admin:write. @@ -1502,12 +1479,6 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti connect.WithSchema(brentServiceMethods.ByName("UpdateMyDisplayName")), connect.WithHandlerOptions(opts...), ) - brentServiceSetPreferredIDEHandler := connect.NewUnaryHandler( - BrentServiceSetPreferredIDEProcedure, - svc.SetPreferredIDE, - connect.WithSchema(brentServiceMethods.ByName("SetPreferredIDE")), - connect.WithHandlerOptions(opts...), - ) brentServiceGetBrentSettingsHandler := connect.NewUnaryHandler( BrentServiceGetBrentSettingsProcedure, svc.GetBrentSettings, @@ -1742,8 +1713,6 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti brentServiceUpdateMyNotificationPreferencesHandler.ServeHTTP(w, r) case BrentServiceUpdateMyDisplayNameProcedure: brentServiceUpdateMyDisplayNameHandler.ServeHTTP(w, r) - case BrentServiceSetPreferredIDEProcedure: - brentServiceSetPreferredIDEHandler.ServeHTTP(w, r) case BrentServiceGetBrentSettingsProcedure: brentServiceGetBrentSettingsHandler.ServeHTTP(w, r) case BrentServiceUpdateBrentSettingsProcedure: @@ -1877,10 +1846,6 @@ func (UnimplementedBrentServiceHandler) UpdateMyDisplayName(context.Context, *co return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyDisplayName is not implemented")) } -func (UnimplementedBrentServiceHandler) SetPreferredIDE(context.Context, *connect.Request[sdp_go.SetPreferredIDERequest]) (*connect.Response[sdp_go.SetPreferredIDEResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetPreferredIDE is not implemented")) -} - func (UnimplementedBrentServiceHandler) GetBrentSettings(context.Context, *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetBrentSettings is not implemented")) } From 76c485842998fcff385562eb27b209d607da1c3e Mon Sep 17 00:00:00 2001 From: Vasile Labici <69412076+Vlasin98@users.noreply.github.com> Date: Tue, 28 Jul 2026 15:40:04 +0300 Subject: [PATCH 05/36] Add Build your own custom MCP on Workspace integrations (#6122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Always-visible **Other integrations** header action **Custom MCP server** opens `/w/$slug/integrations/custom-mcp-server` (`IntegrationDetailShell` + `CustomMcpServerForm`). - Connected BYO endpoints render as `CustomMcpWorkspaceCard` first in that section; catalogue stops emitting the builtin BYO add tile and exposes `created_at` for install time. - Direct and OAuth success land on Workspace integrations with toast **MCP server connected** / **Connection to \ established.** (OAuth via `endpoint` query → success hop → `mcpConnected` search). - Connect failures stay on the add form via danger toast. Brent plan: BRENT-719 Linear: ENG-5828 ## Deviation acknowledgements - `changed-custom-route-reimplements-byo-connect`: Figma page-owned form instead of `ByoMcpConnect`. - `beyond-custom-mcp-failure-toast`: toast failures instead of connections error page. - `changed-build-your-own-action-label`: header label is Custom MCP server. - `beyond-custom-mcp-documentation-refresh`: docs/skills aligned with that copy. ## Test plan - [x] Workspace tab always shows Other integrations + Custom MCP server - [ ] Add server (bearer) → toast + CustomMcpWorkspaceCard first with created date + URL - [ ] Remove custom MCP disconnects one card without affecting siblings - [ ] OAuth MCP (if available) returns to marketplace with same toast - [ ] Cancel during in-flight connect does not toast success or redirect - [ ] `pnpm exec vitest` integrations/BYO suites; Go catalogue/oauthredirect/brent unit tests --------- Co-authored-by: Cursor GitOrigin-RevId: fcbc308890e89ba4f4bc970e9d2fa49bd5333adc --- go/sdp-go/brent.pb.go | 407 ++++++++++++++++++++++-------------------- 1 file changed, 210 insertions(+), 197 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index 041bbac6..f67e17a0 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -23473,8 +23473,11 @@ type IntegrationCatalogueEntry struct { Source IntegrationCatalogueSource `protobuf:"varint,9,opt,name=source,proto3,enum=brent.IntegrationCatalogueSource" json:"source,omitempty"` // Set for first-party entries so the picker can render "Already configured" // and a Manage deep-link; INTEGRATION_PROVIDER_UNSPECIFIED otherwise. - Provider IntegrationProvider `protobuf:"varint,10,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` - AutoRank int32 `protobuf:"varint,11,opt,name=auto_rank,json=autoRank,proto3" json:"auto_rank,omitempty"` + Provider IntegrationProvider `protobuf:"varint,10,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + AutoRank int32 `protobuf:"varint,11,opt,name=auto_rank,json=autoRank,proto3" json:"auto_rank,omitempty"` + // When the install was created. Set for connected BYO HTTP MCP endpoint + // cards; unset for catalogue/builtin rows that are not installed instances. + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -23586,6 +23589,13 @@ func (x *IntegrationCatalogueEntry) GetAutoRank() int32 { return 0 } +func (x *IntegrationCatalogueEntry) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + var file_brent_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.FieldOptions)(nil), @@ -25491,7 +25501,7 @@ const file_brent_proto_rawDesc = "" + "\x11key_source_in_use\x18\x02 \x01(\tR\x0ekeySourceInUse\"!\n" + "\x1fListIntegrationCatalogueRequest\"^\n" + " ListIntegrationCatalogueResponse\x12:\n" + - "\aentries\x18\x01 \x03(\v2 .brent.IntegrationCatalogueEntryR\aentries\"\xb8\x03\n" + + "\aentries\x18\x01 \x03(\v2 .brent.IntegrationCatalogueEntryR\aentries\"\xf3\x03\n" + "\x19IntegrationCatalogueEntry\x12\x1b\n" + "\tstable_id\x18\x01 \x01(\tR\bstableId\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" + @@ -25505,7 +25515,9 @@ const file_brent_proto_rawDesc = "" + "\x06source\x18\t \x01(\x0e2!.brent.IntegrationCatalogueSourceR\x06source\x126\n" + "\bprovider\x18\n" + " \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12\x1b\n" + - "\tauto_rank\x18\v \x01(\x05R\bautoRank*\x89\x01\n" + + "\tauto_rank\x18\v \x01(\x05R\bautoRank\x129\n" + + "\n" + + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt*\x89\x01\n" + "\tRunStatus\x12\x1a\n" + "\x16RUN_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + "\x12RUN_STATUS_RUNNING\x10\x01\x12\x18\n" + @@ -26311,199 +26323,200 @@ var file_brent_proto_depIdxs = []int32{ 317, // 294: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry 10, // 295: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource 3, // 296: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 333, // 297: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 298: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 299: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 300: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 301: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 302: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 303: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 304: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 305: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 306: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 300, // 307: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 334, // 308: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 36, // 309: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 38, // 310: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 203, // 311: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 205, // 312: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 207, // 313: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 209, // 314: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 211, // 315: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 213, // 316: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 215, // 317: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 293, // 318: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 297, // 319: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 301, // 320: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 303, // 321: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 295, // 322: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 307, // 323: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 309, // 324: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 315, // 325: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 225, // 326: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 227, // 327: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 229, // 328: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 232, // 329: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 269, // 330: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 271, // 331: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 234, // 332: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 236, // 333: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 240, // 334: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 273, // 335: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 275, // 336: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 278, // 337: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 280, // 338: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 283, // 339: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 285, // 340: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 287, // 341: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 289, // 342: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 243, // 343: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 245, // 344: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 247, // 345: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 249, // 346: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 253, // 347: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 256, // 348: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 258, // 349: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 260, // 350: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 263, // 351: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 265, // 352: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 267, // 353: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 219, // 354: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 221, // 355: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 251, // 356: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 291, // 357: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 25, // 358: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 26, // 359: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 29, // 360: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 30, // 361: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 32, // 362: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 34, // 363: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 52, // 364: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 53, // 365: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 56, // 366: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 81, // 367: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 84, // 368: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 335, // 369: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 89, // 370: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 92, // 371: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 95, // 372: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 98, // 373: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 100, // 374: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 311, // 375: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 312, // 376: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 313, // 377: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 188, // 378: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 191, // 379: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 194, // 380: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 197, // 381: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 198, // 382: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 11, // 383: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 13, // 384: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 15, // 385: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 59, // 386: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 61, // 387: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 64, // 388: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 66, // 389: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 68, // 390: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 70, // 391: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 72, // 392: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 74, // 393: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 76, // 394: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 79, // 395: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 17, // 396: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 37, // 397: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 39, // 398: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 204, // 399: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 206, // 400: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 208, // 401: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 210, // 402: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 212, // 403: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 214, // 404: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 216, // 405: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 294, // 406: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 298, // 407: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 302, // 408: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 304, // 409: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 296, // 410: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 308, // 411: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 310, // 412: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 316, // 413: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 226, // 414: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 228, // 415: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 231, // 416: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 233, // 417: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 270, // 418: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 272, // 419: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 235, // 420: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 237, // 421: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 241, // 422: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 274, // 423: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 277, // 424: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 279, // 425: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 281, // 426: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 284, // 427: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 286, // 428: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 288, // 429: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 290, // 430: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 244, // 431: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 246, // 432: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 248, // 433: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 250, // 434: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 254, // 435: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 257, // 436: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 259, // 437: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 261, // 438: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 264, // 439: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 266, // 440: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 268, // 441: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 220, // 442: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 222, // 443: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 252, // 444: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 292, // 445: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 41, // 446: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 27, // 447: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 41, // 448: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 31, // 449: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 33, // 450: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 35, // 451: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 41, // 452: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 54, // 453: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 57, // 454: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 82, // 455: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 85, // 456: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 88, // 457: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 91, // 458: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 94, // 459: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 97, // 460: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 99, // 461: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 103, // 462: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 308, // 463: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 310, // 464: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 314, // 465: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 189, // 466: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 192, // 467: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 195, // 468: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 201, // 469: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 200, // 470: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 12, // 471: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 14, // 472: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 16, // 473: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 60, // 474: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 62, // 475: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 65, // 476: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 67, // 477: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 69, // 478: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 71, // 479: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 73, // 480: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 75, // 481: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 77, // 482: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 80, // 483: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 20, // 484: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 397, // [397:485] is the sub-list for method output_type - 309, // [309:397] is the sub-list for method input_type - 309, // [309:309] is the sub-list for extension type_name - 308, // [308:309] is the sub-list for extension extendee - 0, // [0:308] is the sub-list for field type_name + 332, // 297: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 333, // 298: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 299: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 300: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 301: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 302: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 303: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 304: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 305: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 333, // 306: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 333, // 307: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 300, // 308: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 334, // 309: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 36, // 310: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 38, // 311: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 203, // 312: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 205, // 313: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 207, // 314: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 209, // 315: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 211, // 316: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 213, // 317: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 215, // 318: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 293, // 319: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 297, // 320: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 301, // 321: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 303, // 322: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 295, // 323: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 307, // 324: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 309, // 325: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 315, // 326: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 225, // 327: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 227, // 328: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 229, // 329: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 232, // 330: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 269, // 331: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 271, // 332: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 234, // 333: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 236, // 334: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 240, // 335: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 273, // 336: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 275, // 337: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 278, // 338: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 280, // 339: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 283, // 340: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 285, // 341: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 287, // 342: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 289, // 343: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 243, // 344: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 245, // 345: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 247, // 346: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 249, // 347: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 253, // 348: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 256, // 349: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 258, // 350: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 260, // 351: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 263, // 352: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 265, // 353: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 267, // 354: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 219, // 355: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 221, // 356: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 251, // 357: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 291, // 358: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 25, // 359: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 26, // 360: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 29, // 361: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 30, // 362: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 32, // 363: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 34, // 364: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 52, // 365: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 53, // 366: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 56, // 367: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 81, // 368: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 84, // 369: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 335, // 370: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 89, // 371: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 92, // 372: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 95, // 373: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 98, // 374: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 100, // 375: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 311, // 376: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 312, // 377: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 313, // 378: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 188, // 379: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 191, // 380: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 194, // 381: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 197, // 382: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 198, // 383: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 11, // 384: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 13, // 385: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 15, // 386: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 59, // 387: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 61, // 388: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 64, // 389: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 66, // 390: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 68, // 391: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 70, // 392: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 72, // 393: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 74, // 394: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 76, // 395: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 79, // 396: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 17, // 397: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 37, // 398: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 39, // 399: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 204, // 400: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 206, // 401: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 208, // 402: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 210, // 403: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 212, // 404: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 214, // 405: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 216, // 406: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 294, // 407: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 298, // 408: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 302, // 409: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 304, // 410: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 296, // 411: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 308, // 412: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 310, // 413: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 316, // 414: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 226, // 415: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 228, // 416: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 231, // 417: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 233, // 418: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 270, // 419: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 272, // 420: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 235, // 421: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 237, // 422: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 241, // 423: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 274, // 424: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 277, // 425: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 279, // 426: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 281, // 427: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 284, // 428: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 286, // 429: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 288, // 430: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 290, // 431: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 244, // 432: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 246, // 433: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 248, // 434: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 250, // 435: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 254, // 436: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 257, // 437: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 259, // 438: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 261, // 439: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 264, // 440: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 266, // 441: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 268, // 442: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 220, // 443: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 222, // 444: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 252, // 445: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 292, // 446: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 41, // 447: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 27, // 448: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 41, // 449: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 31, // 450: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 33, // 451: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 35, // 452: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 41, // 453: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 54, // 454: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 57, // 455: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 82, // 456: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 85, // 457: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 88, // 458: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 91, // 459: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 94, // 460: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 97, // 461: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 99, // 462: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 103, // 463: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 308, // 464: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 310, // 465: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 314, // 466: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 189, // 467: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 192, // 468: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 195, // 469: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 201, // 470: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 200, // 471: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 12, // 472: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 14, // 473: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 16, // 474: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 60, // 475: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 62, // 476: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 65, // 477: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 67, // 478: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 69, // 479: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 71, // 480: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 73, // 481: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 75, // 482: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 77, // 483: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 80, // 484: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 20, // 485: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 398, // [398:486] is the sub-list for method output_type + 310, // [310:398] is the sub-list for method input_type + 310, // [310:310] is the sub-list for extension type_name + 309, // [309:310] is the sub-list for extension extendee + 0, // [0:309] is the sub-list for field type_name } func init() { file_brent_proto_init() } From 54a933bdc2ee23707192ecc4d14525f9a8c55452 Mon Sep 17 00:00:00 2001 From: Lionel Wilson <80872669+Lionel-Wilson@users.noreply.github.com> Date: Tue, 28 Jul 2026 17:01:49 +0100 Subject: [PATCH 06/36] Web-push adapter: VAPID + service worker + subscription upload (ENG-5217) (#6126) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary This PR delivers the **web-push channel adapter** — the steel thread of the Brent Notification Surface project's phase 1. After this change, enabling notifications in the onboarding "Stay in the Loop" step registers a real `PushSubscription` and Brent delivers a web push that pops a banner — proven end-to-end by a **"Hey, it's Brent!"** confirmation push auto-sent on enable. ## Changes ### Part 1: VAPID Configuration - Added `BRENT_BACKEND_VAPID_PUBLIC_KEY`, `BRENT_BACKEND_VAPID_PRIVATE_KEY`, `BRENT_BACKEND_VAPID_SUBJECT` config flags - Added `BRENT_BACKEND_WEBPUSH_ALLOWED_ENDPOINT_HOSTS` for SSRF allowlist - Boot validation ensures VAPID credentials are present (unconditional gate) - ESO/1Password wiring for secret provisioning ### Part 2: Web-Push Adapter (`notifications/webpush`) - **Sender** with VAPID authentication and hardened HTTP client: - Pinned-IP dial (DNS resolved once, validated, dialed directly) - Redirect refusal - Response body always closed - **WebPushAdapter** implementing `ChannelAdapter`: - Fetches subscriptions per principal - Sends to each subscription - Deletes subscriptions on 404/410 responses - **ValidateSubscription** single chokepoint for SSRF hardening: - HTTPS only, no credentials, default port - Host matches allowlist on DNS-label boundaries - Private/loopback/link-local IP rejection - Key format validation (p256dh: 65 bytes, auth: 16 bytes) - New dependency: `github.com/SherClockHolmes/webpush-go` ### Part 3: Subscription RPCs - `RegisterMyPushSubscription` (workspace-scoped, `brent:write`): - Validates subscription before persistence - Sends confirmation push via injected `ConfirmationSender` - Bounded timeout for push send (doesn't fail registration) - `GetWebPushPublicKey` (identity-scoped, `brent:read`): - Returns VAPID public key for browser subscription - Handler wiring in `server_construct.go` and `workspace_interceptor.go` ### Part 4: Frontend (flag-gated behind `BRENT_WEB_PUSH`) - Minimal service worker (`public/sw.js`) handling: - `push` event: parse `{title, body}` payload, show notification - `notificationclick` event: focus/open app - `use-web-push-subscription` hook: - SW registration - Permission request - `pushManager.subscribe()` with VAPID key - Backend upload via `registerMyPushSubscription` - `use-stay-in-the-loop-step` upgraded: - Full subscription flow when flag enabled and PushManager supported - Falls back to permission-only when flag off or unsupported - `urlBase64ToUint8Array` helper for Push API ### Part 5: Documentation - ADR 0052: `adr-notification-channel-adapters` - Updated notifications README with adapter section - Updated brent-app README with SW/subscription docs - Ops runbook for VAPID keypair generation/rotation ## Testing - Unit tests for sender, validation, policy, dial hardening - Integration tests for adapter (incl. 410-delete) - Handler unit and integration tests - Frontend hook tests with mocked navigator/PushManager - SW payload contract test ## Done Criteria - [x] User enabling notifications in a supported browser gets subscription persisted - [x] Dispatched `web_push` reaches every live subscription for recipient - [x] Subscription returning 404/410 is deleted (integration test) - [ ] End-to-end "Hey, it's Brent!" banner verified manually (dogfood validation) Brent-Plan: BRENT-713
Open in Web Open in Cursor 
--------- Co-authored-by: Cursor Agent Co-authored-by: Lionel Wilson GitOrigin-RevId: 20085b737f7c4bd9ea3a1c8968f5ccc151415817 --- go.mod | 2 + go.sum | 35 + go/sdp-go/brent.pb.go | 933 ++++++++++++++++---------- go/sdp-go/sdpconnect/brent.connect.go | 72 ++ 4 files changed, 676 insertions(+), 366 deletions(-) diff --git a/go.mod b/go.mod index ca7591e2..0c1ad049 100644 --- a/go.mod +++ b/go.mod @@ -476,3 +476,5 @@ require ( ) require golang.org/x/image v0.44.0 + +require github.com/SherClockHolmes/webpush-go v1.4.0 // indirect diff --git a/go.sum b/go.sum index 8d7e87ab..8a744891 100644 --- a/go.sum +++ b/go.sum @@ -166,6 +166,8 @@ github.com/ProtonMail/go-crypto v1.4.1 h1:9RfcZHqEQUvP8RzecWEUafnZVtEvrBVL9BiF67 github.com/ProtonMail/go-crypto v1.4.1/go.mod h1:e1OaTyu5SYVrO9gKOEhTc+5UcXtTUa+P3uLudwcgPqo= github.com/PuerkitoBio/rehttp v1.4.0 h1:rIN7A2s+O9fmHUM1vUcInvlHj9Ysql4hE+Y0wcl/xk8= github.com/PuerkitoBio/rehttp v1.4.0/go.mod h1:LUwKPoDbDIA2RL5wYZCNsQ90cx4OJ4AWBmq6KzWZL1s= +github.com/SherClockHolmes/webpush-go v1.4.0 h1:ocnzNKWN23T9nvHi6IfyrQjkIc0oJWv1B1pULsf9i3s= +github.com/SherClockHolmes/webpush-go v1.4.0/go.mod h1:XSq8pKX11vNV8MJEMwjrlTkxhAj1zKfxmyhdV7Pd6UA= github.com/a-h/templ v0.3.1020 h1:ypAT/L5ySWEnZ6Zft/5yfoWXYYkhFNvEFOeeqecg4tw= github.com/a-h/templ v0.3.1020/go.mod h1:A2DlK61v+K+NRoGnhmYbNYVmtYHcFO5/AisMvBdDxTM= github.com/adrg/strutil v0.3.1 h1:OLvSS7CSJO8lBii4YmBt8jiK9QOtB9CzCzwl4Ic/Fz4= @@ -459,6 +461,7 @@ github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= @@ -1002,6 +1005,10 @@ go.yaml.in/yaml/v4 v4.0.0-rc.2 h1:/FrI8D64VSr4HtGIlUtlFMGsm7H7pWTbj6vOLVZcA6s= go.yaml.in/yaml/v4 v4.0.0-rc.2/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= @@ -1010,6 +1017,9 @@ golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I= golang.org/x/image v0.44.0/go.mod h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -1018,6 +1028,10 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= @@ -1026,6 +1040,10 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1043,14 +1061,25 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 h1:nwGZBCt+FnXUrGsj5vjzAsEmkcaFvd82BbOjECiFYZc= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57/go.mod h1:3AWMyWHS+caVoiEXpiq6+tzKA40J4vQT3MYr80ZtQpc= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1060,6 +1089,10 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= @@ -1068,6 +1101,8 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index f67e17a0..e8ac59cb 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -22803,6 +22803,188 @@ func (x *UpdateMyNotificationPreferencesResponse) GetPreferences() *Notification return nil } +type RegisterMyPushSubscriptionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // PushSubscription.endpoint from the browser Push API + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // keys.p256dh from the subscription (base64url-encoded P-256 public key) + P256Dh string `protobuf:"bytes,2,opt,name=p256dh,proto3" json:"p256dh,omitempty"` + // keys.auth from the subscription (base64url-encoded 16-byte auth secret) + Auth string `protobuf:"bytes,3,opt,name=auth,proto3" json:"auth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterMyPushSubscriptionRequest) Reset() { + *x = RegisterMyPushSubscriptionRequest{} + mi := &file_brent_proto_msgTypes[294] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterMyPushSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterMyPushSubscriptionRequest) ProtoMessage() {} + +func (x *RegisterMyPushSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[294] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterMyPushSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*RegisterMyPushSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{294} +} + +func (x *RegisterMyPushSubscriptionRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *RegisterMyPushSubscriptionRequest) GetP256Dh() string { + if x != nil { + return x.P256Dh + } + return "" +} + +func (x *RegisterMyPushSubscriptionRequest) GetAuth() string { + if x != nil { + return x.Auth + } + return "" +} + +// Empty response; registration is fire-and-confirm via the confirmation push. +type RegisterMyPushSubscriptionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterMyPushSubscriptionResponse) Reset() { + *x = RegisterMyPushSubscriptionResponse{} + mi := &file_brent_proto_msgTypes[295] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterMyPushSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterMyPushSubscriptionResponse) ProtoMessage() {} + +func (x *RegisterMyPushSubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[295] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterMyPushSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*RegisterMyPushSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{295} +} + +type GetWebPushPublicKeyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWebPushPublicKeyRequest) Reset() { + *x = GetWebPushPublicKeyRequest{} + mi := &file_brent_proto_msgTypes[296] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWebPushPublicKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWebPushPublicKeyRequest) ProtoMessage() {} + +func (x *GetWebPushPublicKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[296] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWebPushPublicKeyRequest.ProtoReflect.Descriptor instead. +func (*GetWebPushPublicKeyRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{296} +} + +type GetWebPushPublicKeyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The VAPID application server public key (base64url-encoded P-256 point). + // Pass this to pushManager.subscribe() as applicationServerKey. + PublicKey string `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWebPushPublicKeyResponse) Reset() { + *x = GetWebPushPublicKeyResponse{} + mi := &file_brent_proto_msgTypes[297] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWebPushPublicKeyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWebPushPublicKeyResponse) ProtoMessage() {} + +func (x *GetWebPushPublicKeyResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[297] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWebPushPublicKeyResponse.ProtoReflect.Descriptor instead. +func (*GetWebPushPublicKeyResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{297} +} + +func (x *GetWebPushPublicKeyResponse) GetPublicKey() string { + if x != nil { + return x.PublicKey + } + return "" +} + // Binding is the wire representation of a row in the `principal_bindings` // table. The external_id is the canonical UUID reference. type Binding struct { @@ -22820,7 +23002,7 @@ type Binding struct { func (x *Binding) Reset() { *x = Binding{} - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22832,7 +23014,7 @@ func (x *Binding) String() string { func (*Binding) ProtoMessage() {} func (x *Binding) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22845,7 +23027,7 @@ func (x *Binding) ProtoReflect() protoreflect.Message { // Deprecated: Use Binding.ProtoReflect.Descriptor instead. func (*Binding) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{294} + return file_brent_proto_rawDescGZIP(), []int{298} } func (x *Binding) GetExternalId() string { @@ -22906,7 +23088,7 @@ type RedFindingKindsPatch struct { func (x *RedFindingKindsPatch) Reset() { *x = RedFindingKindsPatch{} - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22918,7 +23100,7 @@ func (x *RedFindingKindsPatch) String() string { func (*RedFindingKindsPatch) ProtoMessage() {} func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22931,7 +23113,7 @@ func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { // Deprecated: Use RedFindingKindsPatch.ProtoReflect.Descriptor instead. func (*RedFindingKindsPatch) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{295} + return file_brent_proto_rawDescGZIP(), []int{299} } func (x *RedFindingKindsPatch) GetKinds() []string { @@ -22950,7 +23132,7 @@ type GetBrentSettingsRequest struct { func (x *GetBrentSettingsRequest) Reset() { *x = GetBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22962,7 +23144,7 @@ func (x *GetBrentSettingsRequest) String() string { func (*GetBrentSettingsRequest) ProtoMessage() {} func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[300] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22975,7 +23157,7 @@ func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*GetBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{296} + return file_brent_proto_rawDescGZIP(), []int{300} } func (x *GetBrentSettingsRequest) GetAccountName() string { @@ -22996,7 +23178,7 @@ type GetBrentSettingsResponse struct { func (x *GetBrentSettingsResponse) Reset() { *x = GetBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23008,7 +23190,7 @@ func (x *GetBrentSettingsResponse) String() string { func (*GetBrentSettingsResponse) ProtoMessage() {} func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23021,7 +23203,7 @@ func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*GetBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{297} + return file_brent_proto_rawDescGZIP(), []int{301} } func (x *GetBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23055,7 +23237,7 @@ type UpdateBrentSettingsRequest struct { func (x *UpdateBrentSettingsRequest) Reset() { *x = UpdateBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23067,7 +23249,7 @@ func (x *UpdateBrentSettingsRequest) String() string { func (*UpdateBrentSettingsRequest) ProtoMessage() {} func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23080,7 +23262,7 @@ func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{298} + return file_brent_proto_rawDescGZIP(), []int{302} } func (x *UpdateBrentSettingsRequest) GetAccountName() string { @@ -23108,7 +23290,7 @@ type UpdateBrentSettingsResponse struct { func (x *UpdateBrentSettingsResponse) Reset() { *x = UpdateBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23120,7 +23302,7 @@ func (x *UpdateBrentSettingsResponse) String() string { func (*UpdateBrentSettingsResponse) ProtoMessage() {} func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23133,7 +23315,7 @@ func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{299} + return file_brent_proto_rawDescGZIP(), []int{303} } func (x *UpdateBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23169,7 +23351,7 @@ type AdminGetAccountBrentSettingsRequest struct { func (x *AdminGetAccountBrentSettingsRequest) Reset() { *x = AdminGetAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23181,7 +23363,7 @@ func (x *AdminGetAccountBrentSettingsRequest) String() string { func (*AdminGetAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23194,7 +23376,7 @@ func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AdminGetAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{300} + return file_brent_proto_rawDescGZIP(), []int{304} } func (x *AdminGetAccountBrentSettingsRequest) GetAccountName() string { @@ -23217,7 +23399,7 @@ type AdminUpdateAccountBrentSettingsRequest struct { func (x *AdminUpdateAccountBrentSettingsRequest) Reset() { *x = AdminUpdateAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23229,7 +23411,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) String() string { func (*AdminUpdateAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23242,7 +23424,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AdminUpdateAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminUpdateAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{301} + return file_brent_proto_rawDescGZIP(), []int{305} } func (x *AdminUpdateAccountBrentSettingsRequest) GetAccountName() string { @@ -23274,7 +23456,7 @@ type AdminGetAccountLLMCredentialStatusRequest struct { func (x *AdminGetAccountLLMCredentialStatusRequest) Reset() { *x = AdminGetAccountLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23286,7 +23468,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) String() string { func (*AdminGetAccountLLMCredentialStatusRequest) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23299,7 +23481,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect. // Deprecated: Use AdminGetAccountLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{302} + return file_brent_proto_rawDescGZIP(), []int{306} } func (x *AdminGetAccountLLMCredentialStatusRequest) GetAccountName() string { @@ -23331,7 +23513,7 @@ type AdminGetAccountLLMCredentialStatusResponse struct { func (x *AdminGetAccountLLMCredentialStatusResponse) Reset() { *x = AdminGetAccountLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23343,7 +23525,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) String() string { func (*AdminGetAccountLLMCredentialStatusResponse) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23356,7 +23538,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect // Deprecated: Use AdminGetAccountLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{303} + return file_brent_proto_rawDescGZIP(), []int{307} } func (x *AdminGetAccountLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -23381,7 +23563,7 @@ type ListIntegrationCatalogueRequest struct { func (x *ListIntegrationCatalogueRequest) Reset() { *x = ListIntegrationCatalogueRequest{} - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23393,7 +23575,7 @@ func (x *ListIntegrationCatalogueRequest) String() string { func (*ListIntegrationCatalogueRequest) ProtoMessage() {} func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[308] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23406,7 +23588,7 @@ func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{304} + return file_brent_proto_rawDescGZIP(), []int{308} } type ListIntegrationCatalogueResponse struct { @@ -23418,7 +23600,7 @@ type ListIntegrationCatalogueResponse struct { func (x *ListIntegrationCatalogueResponse) Reset() { *x = ListIntegrationCatalogueResponse{} - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23430,7 +23612,7 @@ func (x *ListIntegrationCatalogueResponse) String() string { func (*ListIntegrationCatalogueResponse) ProtoMessage() {} func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[309] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23443,7 +23625,7 @@ func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{305} + return file_brent_proto_rawDescGZIP(), []int{309} } func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { @@ -23484,7 +23666,7 @@ type IntegrationCatalogueEntry struct { func (x *IntegrationCatalogueEntry) Reset() { *x = IntegrationCatalogueEntry{} - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23496,7 +23678,7 @@ func (x *IntegrationCatalogueEntry) String() string { func (*IntegrationCatalogueEntry) ProtoMessage() {} func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[310] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23509,7 +23691,7 @@ func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{306} + return file_brent_proto_rawDescGZIP(), []int{310} } func (x *IntegrationCatalogueEntry) GetStableId() string { @@ -25459,7 +25641,16 @@ const file_brent_proto_rawDesc = "" + "&UpdateMyNotificationPreferencesRequest\x12@\n" + "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"k\n" + "'UpdateMyNotificationPreferencesResponse\x12@\n" + - "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"\x98\x02\n" + + "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"k\n" + + "!RegisterMyPushSubscriptionRequest\x12\x1a\n" + + "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\x16\n" + + "\x06p256dh\x18\x02 \x01(\tR\x06p256dh\x12\x12\n" + + "\x04auth\x18\x03 \x01(\tR\x04auth\"$\n" + + "\"RegisterMyPushSubscriptionResponse\"\x1c\n" + + "\x1aGetWebPushPublicKeyRequest\"<\n" + + "\x1bGetWebPushPublicKeyResponse\x12\x1d\n" + + "\n" + + "public_key\x18\x01 \x01(\tR\tpublicKey\"\x98\x02\n" + "\aBinding\x12\x1f\n" + "\vexternal_id\x18\x01 \x01(\tR\n" + "externalId\x12\x1a\n" + @@ -25578,7 +25769,7 @@ const file_brent_proto_rawDesc = "" + "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + " INTEGRATION_CATALOGUE_SOURCE_BYO\x10\x02\x12/\n" + - "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\x87&\n" + + "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xd8'\n" + "\fBrentService\x12_\n" + "\x14ListOpenPullRequests\x12\".brent.ListOpenPullRequestsRequest\x1a#.brent.ListOpenPullRequestsResponse\x12M\n" + "\x0eGetPullRequest\x12\x1c.brent.GetPullRequestRequest\x1a\x1d.brent.GetPullRequestResponse\x12Y\n" + @@ -25592,7 +25783,9 @@ const file_brent_proto_rawDesc = "" + "\x17UpsertMyVerifiedBinding\x12%.brent.UpsertMyVerifiedBindingRequest\x1a&.brent.UpsertMyVerifiedBindingResponse\x12M\n" + "\x0eListMyBindings\x12\x1c.brent.ListMyBindingsRequest\x1a\x1d.brent.ListMyBindingsResponse\x12w\n" + "\x1cGetMyNotificationPreferences\x12*.brent.GetMyNotificationPreferencesRequest\x1a+.brent.GetMyNotificationPreferencesResponse\x12\x80\x01\n" + - "\x1fUpdateMyNotificationPreferences\x12-.brent.UpdateMyNotificationPreferencesRequest\x1a..brent.UpdateMyNotificationPreferencesResponse\x12\\\n" + + "\x1fUpdateMyNotificationPreferences\x12-.brent.UpdateMyNotificationPreferencesRequest\x1a..brent.UpdateMyNotificationPreferencesResponse\x12q\n" + + "\x1aRegisterMyPushSubscription\x12(.brent.RegisterMyPushSubscriptionRequest\x1a).brent.RegisterMyPushSubscriptionResponse\x12\\\n" + + "\x13GetWebPushPublicKey\x12!.brent.GetWebPushPublicKeyRequest\x1a\".brent.GetWebPushPublicKeyResponse\x12\\\n" + "\x13UpdateMyDisplayName\x12!.brent.UpdateMyDisplayNameRequest\x1a\".brent.UpdateMyDisplayNameResponse\x12S\n" + "\x10GetBrentSettings\x12\x1e.brent.GetBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12\\\n" + "\x13UpdateBrentSettings\x12!.brent.UpdateBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12k\n" + @@ -25686,7 +25879,7 @@ func file_brent_proto_rawDescGZIP() []byte { } var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 11) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 321) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 325) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode @@ -25993,67 +26186,71 @@ var file_brent_proto_goTypes = []any{ (*GetMyNotificationPreferencesResponse)(nil), // 302: brent.GetMyNotificationPreferencesResponse (*UpdateMyNotificationPreferencesRequest)(nil), // 303: brent.UpdateMyNotificationPreferencesRequest (*UpdateMyNotificationPreferencesResponse)(nil), // 304: brent.UpdateMyNotificationPreferencesResponse - (*Binding)(nil), // 305: brent.Binding - (*RedFindingKindsPatch)(nil), // 306: brent.RedFindingKindsPatch - (*GetBrentSettingsRequest)(nil), // 307: brent.GetBrentSettingsRequest - (*GetBrentSettingsResponse)(nil), // 308: brent.GetBrentSettingsResponse - (*UpdateBrentSettingsRequest)(nil), // 309: brent.UpdateBrentSettingsRequest - (*UpdateBrentSettingsResponse)(nil), // 310: brent.UpdateBrentSettingsResponse - (*AdminGetAccountBrentSettingsRequest)(nil), // 311: brent.AdminGetAccountBrentSettingsRequest - (*AdminUpdateAccountBrentSettingsRequest)(nil), // 312: brent.AdminUpdateAccountBrentSettingsRequest - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 313: brent.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 314: brent.AdminGetAccountLLMCredentialStatusResponse - (*ListIntegrationCatalogueRequest)(nil), // 315: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 316: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 317: brent.IntegrationCatalogueEntry - nil, // 318: brent.PlanUpdated.PreviousEntry - nil, // 319: brent.PlanUpdated.AfterEntry - nil, // 320: brent.PrincipalUpdated.PreviousEntry - nil, // 321: brent.PrincipalUpdated.AfterEntry - nil, // 322: brent.BindingUpdated.PreviousEntry - nil, // 323: brent.BindingUpdated.AfterEntry - nil, // 324: brent.OtherEvent.FieldsEntry - nil, // 325: brent.PullRequestUpdated.PreviousEntry - nil, // 326: brent.PullRequestUpdated.AfterEntry - nil, // 327: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 328: brent.DeviationFindingUpdated.PreviousEntry - nil, // 329: brent.DeviationFindingUpdated.AfterEntry - nil, // 330: brent.NotificationPreferences.PreferencesEntry - nil, // 331: brent.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 332: google.protobuf.Timestamp - (*structpb.Value)(nil), // 333: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 334: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 335: google.protobuf.Empty + (*RegisterMyPushSubscriptionRequest)(nil), // 305: brent.RegisterMyPushSubscriptionRequest + (*RegisterMyPushSubscriptionResponse)(nil), // 306: brent.RegisterMyPushSubscriptionResponse + (*GetWebPushPublicKeyRequest)(nil), // 307: brent.GetWebPushPublicKeyRequest + (*GetWebPushPublicKeyResponse)(nil), // 308: brent.GetWebPushPublicKeyResponse + (*Binding)(nil), // 309: brent.Binding + (*RedFindingKindsPatch)(nil), // 310: brent.RedFindingKindsPatch + (*GetBrentSettingsRequest)(nil), // 311: brent.GetBrentSettingsRequest + (*GetBrentSettingsResponse)(nil), // 312: brent.GetBrentSettingsResponse + (*UpdateBrentSettingsRequest)(nil), // 313: brent.UpdateBrentSettingsRequest + (*UpdateBrentSettingsResponse)(nil), // 314: brent.UpdateBrentSettingsResponse + (*AdminGetAccountBrentSettingsRequest)(nil), // 315: brent.AdminGetAccountBrentSettingsRequest + (*AdminUpdateAccountBrentSettingsRequest)(nil), // 316: brent.AdminUpdateAccountBrentSettingsRequest + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 317: brent.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 318: brent.AdminGetAccountLLMCredentialStatusResponse + (*ListIntegrationCatalogueRequest)(nil), // 319: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 320: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 321: brent.IntegrationCatalogueEntry + nil, // 322: brent.PlanUpdated.PreviousEntry + nil, // 323: brent.PlanUpdated.AfterEntry + nil, // 324: brent.PrincipalUpdated.PreviousEntry + nil, // 325: brent.PrincipalUpdated.AfterEntry + nil, // 326: brent.BindingUpdated.PreviousEntry + nil, // 327: brent.BindingUpdated.AfterEntry + nil, // 328: brent.OtherEvent.FieldsEntry + nil, // 329: brent.PullRequestUpdated.PreviousEntry + nil, // 330: brent.PullRequestUpdated.AfterEntry + nil, // 331: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 332: brent.DeviationFindingUpdated.PreviousEntry + nil, // 333: brent.DeviationFindingUpdated.AfterEntry + nil, // 334: brent.NotificationPreferences.PreferencesEntry + nil, // 335: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 336: google.protobuf.Timestamp + (*structpb.Value)(nil), // 337: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 338: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 339: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ 21, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary 22, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest 23, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 332, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 336, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp 22, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest 18, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow 19, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 332, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 332, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 332, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 332, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 332, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 332, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 332, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 336, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 336, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 336, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 336, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 336, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 336, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 336, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp 24, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 332, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 336, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp 28, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 332, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 332, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 336, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 336, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp 104, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 332, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 332, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 336, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 336, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp 104, // 23: brent.ListEventsResponse.events:type_name -> brent.Event 40, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest 40, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 332, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 332, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 336, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 336, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp 42, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep 43, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep 44, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep @@ -26065,65 +26262,65 @@ var file_brent_proto_depIdxs = []int32{ 50, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep 51, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep 55, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 332, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 332, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 332, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 332, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 336, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 336, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 336, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 336, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 58, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan 83, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary 21, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 332, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 332, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 332, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 336, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 336, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 336, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 223, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal 223, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal 63, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity - 305, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 332, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 332, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 305, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding + 309, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding + 336, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 336, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 309, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding 223, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal 63, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity 78, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 332, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 336, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp 83, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 332, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 332, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 336, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 336, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp 86, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review 55, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 332, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 332, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 332, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 332, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 336, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 336, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 336, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 336, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp 87, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 332, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 332, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 336, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 336, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp 90, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary 93, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 332, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 336, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp 96, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 332, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 332, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 332, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 332, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 336, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 336, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 336, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 336, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 332, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 332, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 332, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 332, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 336, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 336, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 336, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 336, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp 101, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 332, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 332, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 332, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 332, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 336, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 336, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 336, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 336, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp 102, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 332, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 332, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 332, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 336, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 336, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 336, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp 105, // 95: brent.Event.actor:type_name -> brent.Actor 106, // 96: brent.Event.object:type_name -> brent.ObjectReference - 332, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 336, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp 107, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated 108, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated 109, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted @@ -26203,53 +26400,53 @@ var file_brent_proto_depIdxs = []int32{ 161, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared 115, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided 140, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 318, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 319, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 332, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 320, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 321, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 322, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 323, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 336, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 324, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 325, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry 6, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 322, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 323, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 324, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 325, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 326, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 332, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 327, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 332, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 326, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 327, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 328, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 329, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 330, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 336, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 331, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 336, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp 154, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 332, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 332, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 328, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 329, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 332, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 332, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 332, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 332, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 332, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 332, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 332, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 332, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 336, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 336, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 332, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 333, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 336, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 336, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 336, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 336, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 336, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 336, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 336, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 336, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp 190, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 332, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 332, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 336, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 336, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp 193, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 332, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 332, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 336, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 336, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp 196, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 332, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 332, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 332, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 332, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 336, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 336, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 336, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 336, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp 196, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary 41, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse 199, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment 202, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun 190, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 332, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 332, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 332, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 332, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 336, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 336, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 336, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 336, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp 104, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState 223, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal @@ -26257,11 +26454,11 @@ var file_brent_proto_depIdxs = []int32{ 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 332, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 332, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 336, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 336, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider 217, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 332, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 336, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp 3, // 236: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider @@ -26271,8 +26468,8 @@ var file_brent_proto_depIdxs = []int32{ 3, // 242: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 332, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 332, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 336, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 336, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp 224, // 247: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace 224, // 248: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace 5, // 249: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider @@ -26280,62 +26477,62 @@ var file_brent_proto_depIdxs = []int32{ 230, // 251: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate 224, // 252: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace 238, // 253: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 332, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 336, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp 239, // 255: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember 6, // 256: brent.JoinableWorkspace.source:type_name -> brent.JoinSource 224, // 257: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 332, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 336, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp 242, // 259: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain 242, // 260: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain 242, // 261: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 332, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 332, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 336, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 336, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp 255, // 264: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus 255, // 265: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 332, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 336, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp 262, // 267: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus 262, // 268: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus 224, // 269: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace 224, // 270: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 332, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 336, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 8, // 272: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus 276, // 273: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult 224, // 274: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace 282, // 275: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember 9, // 276: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 332, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 336, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 7, // 278: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 305, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 309, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding 223, // 280: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 305, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 330, // 282: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 331, // 283: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 309, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 334, // 282: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 335, // 283: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry 299, // 284: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences 299, // 285: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences 299, // 286: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 332, // 287: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 332, // 288: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 332, // 289: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 306, // 290: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 332, // 291: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 306, // 292: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 336, // 287: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 336, // 288: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 336, // 289: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 310, // 290: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 336, // 291: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 310, // 292: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch 255, // 293: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 317, // 294: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 321, // 294: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry 10, // 295: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource 3, // 296: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 332, // 297: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 333, // 298: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 299: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 300: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 301: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 302: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 303: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 304: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 305: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 333, // 306: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 333, // 307: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 336, // 297: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 337, // 298: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 337, // 299: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 337, // 300: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 337, // 301: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 337, // 302: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 337, // 303: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 337, // 304: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 337, // 305: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 337, // 306: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 337, // 307: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value 300, // 308: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 334, // 309: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 338, // 309: brent.embedded_json:extendee -> google.protobuf.FieldOptions 36, // 310: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest 38, // 311: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest 203, // 312: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest @@ -26349,171 +26546,175 @@ var file_brent_proto_depIdxs = []int32{ 297, // 320: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest 301, // 321: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest 303, // 322: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 295, // 323: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 307, // 324: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 309, // 325: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 315, // 326: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 225, // 327: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 227, // 328: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 229, // 329: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 232, // 330: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 269, // 331: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 271, // 332: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 234, // 333: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 236, // 334: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 240, // 335: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 273, // 336: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 275, // 337: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 278, // 338: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 280, // 339: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 283, // 340: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 285, // 341: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 287, // 342: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 289, // 343: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 243, // 344: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 245, // 345: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 247, // 346: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 249, // 347: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 253, // 348: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 256, // 349: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 258, // 350: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 260, // 351: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 263, // 352: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 265, // 353: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 267, // 354: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 219, // 355: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 221, // 356: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 251, // 357: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 291, // 358: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 25, // 359: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 26, // 360: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 29, // 361: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 30, // 362: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 32, // 363: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 34, // 364: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 52, // 365: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 53, // 366: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 56, // 367: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 81, // 368: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 84, // 369: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 335, // 370: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 89, // 371: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 92, // 372: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 95, // 373: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 98, // 374: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 100, // 375: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 311, // 376: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 312, // 377: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 313, // 378: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 188, // 379: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 191, // 380: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 194, // 381: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 197, // 382: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 198, // 383: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 11, // 384: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 13, // 385: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 15, // 386: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 59, // 387: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 61, // 388: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 64, // 389: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 66, // 390: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 68, // 391: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 70, // 392: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 72, // 393: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 74, // 394: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 76, // 395: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 79, // 396: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 17, // 397: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 37, // 398: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 39, // 399: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 204, // 400: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 206, // 401: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 208, // 402: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 210, // 403: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 212, // 404: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 214, // 405: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 216, // 406: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 294, // 407: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 298, // 408: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 302, // 409: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 304, // 410: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 296, // 411: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 308, // 412: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 310, // 413: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 316, // 414: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 226, // 415: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 228, // 416: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 231, // 417: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 233, // 418: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 270, // 419: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 272, // 420: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 235, // 421: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 237, // 422: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 241, // 423: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 274, // 424: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 277, // 425: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 279, // 426: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 281, // 427: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 284, // 428: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 286, // 429: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 288, // 430: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 290, // 431: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 244, // 432: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 246, // 433: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 248, // 434: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 250, // 435: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 254, // 436: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 257, // 437: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 259, // 438: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 261, // 439: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 264, // 440: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 266, // 441: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 268, // 442: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 220, // 443: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 222, // 444: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 252, // 445: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 292, // 446: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 41, // 447: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 27, // 448: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 41, // 449: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 31, // 450: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 33, // 451: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 35, // 452: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 41, // 453: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 54, // 454: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 57, // 455: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 82, // 456: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 85, // 457: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 88, // 458: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 91, // 459: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 94, // 460: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 97, // 461: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 99, // 462: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 103, // 463: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 308, // 464: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 310, // 465: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 314, // 466: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 189, // 467: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 192, // 468: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 195, // 469: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 201, // 470: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 200, // 471: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 12, // 472: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 14, // 473: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 16, // 474: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 60, // 475: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 62, // 476: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 65, // 477: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 67, // 478: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 69, // 479: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 71, // 480: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 73, // 481: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 75, // 482: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 77, // 483: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 80, // 484: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 20, // 485: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 398, // [398:486] is the sub-list for method output_type - 310, // [310:398] is the sub-list for method input_type + 305, // 323: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest + 307, // 324: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest + 295, // 325: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 311, // 326: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 313, // 327: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 319, // 328: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 225, // 329: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 227, // 330: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 229, // 331: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 232, // 332: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 269, // 333: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 271, // 334: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 234, // 335: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 236, // 336: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 240, // 337: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 273, // 338: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 275, // 339: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 278, // 340: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 280, // 341: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 283, // 342: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 285, // 343: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 287, // 344: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 289, // 345: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 243, // 346: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 245, // 347: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 247, // 348: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 249, // 349: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 253, // 350: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 256, // 351: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 258, // 352: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 260, // 353: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 263, // 354: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 265, // 355: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 267, // 356: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 219, // 357: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 221, // 358: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 251, // 359: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 291, // 360: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 25, // 361: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 26, // 362: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 29, // 363: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 30, // 364: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 32, // 365: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 34, // 366: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 52, // 367: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 53, // 368: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 56, // 369: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 81, // 370: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 84, // 371: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 339, // 372: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 89, // 373: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 92, // 374: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 95, // 375: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 98, // 376: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 100, // 377: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 315, // 378: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 316, // 379: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 317, // 380: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 188, // 381: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 191, // 382: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 194, // 383: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 197, // 384: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 198, // 385: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 11, // 386: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 13, // 387: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 15, // 388: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 59, // 389: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 61, // 390: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 64, // 391: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 66, // 392: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 68, // 393: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 70, // 394: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 72, // 395: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 74, // 396: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 76, // 397: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 79, // 398: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 17, // 399: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 37, // 400: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 39, // 401: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 204, // 402: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 206, // 403: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 208, // 404: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 210, // 405: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 212, // 406: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 214, // 407: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 216, // 408: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 294, // 409: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 298, // 410: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 302, // 411: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 304, // 412: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 306, // 413: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse + 308, // 414: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse + 296, // 415: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 312, // 416: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 314, // 417: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 320, // 418: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 226, // 419: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 228, // 420: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 231, // 421: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 233, // 422: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 270, // 423: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 272, // 424: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 235, // 425: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 237, // 426: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 241, // 427: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 274, // 428: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 277, // 429: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 279, // 430: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 281, // 431: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 284, // 432: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 286, // 433: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 288, // 434: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 290, // 435: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 244, // 436: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 246, // 437: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 248, // 438: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 250, // 439: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 254, // 440: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 257, // 441: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 259, // 442: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 261, // 443: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 264, // 444: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 266, // 445: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 268, // 446: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 220, // 447: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 222, // 448: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 252, // 449: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 292, // 450: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 41, // 451: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 27, // 452: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 41, // 453: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 31, // 454: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 33, // 455: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 35, // 456: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 41, // 457: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 54, // 458: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 57, // 459: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 82, // 460: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 85, // 461: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 88, // 462: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 91, // 463: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 94, // 464: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 97, // 465: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 99, // 466: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 103, // 467: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 312, // 468: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 314, // 469: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 318, // 470: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 189, // 471: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 192, // 472: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 195, // 473: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 201, // 474: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 200, // 475: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 12, // 476: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 14, // 477: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 16, // 478: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 60, // 479: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 62, // 480: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 65, // 481: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 67, // 482: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 69, // 483: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 71, // 484: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 73, // 485: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 75, // 486: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 77, // 487: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 80, // 488: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 20, // 489: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 400, // [400:490] is the sub-list for method output_type + 310, // [310:400] is the sub-list for method input_type 310, // [310:310] is the sub-list for extension type_name 309, // [309:310] is the sub-list for extension extendee 0, // [0:309] is the sub-list for field type_name @@ -26632,15 +26833,15 @@ func file_brent_proto_init() { file_brent_proto_msgTypes[227].OneofWrappers = []any{} file_brent_proto_msgTypes[228].OneofWrappers = []any{} file_brent_proto_msgTypes[281].OneofWrappers = []any{} - file_brent_proto_msgTypes[298].OneofWrappers = []any{} - file_brent_proto_msgTypes[301].OneofWrappers = []any{} + file_brent_proto_msgTypes[302].OneofWrappers = []any{} + file_brent_proto_msgTypes[305].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), NumEnums: 11, - NumMessages: 321, + NumMessages: 325, NumExtensions: 1, NumServices: 3, }, diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index d8153ac7..d498d825 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -77,6 +77,12 @@ const ( // BrentServiceUpdateMyNotificationPreferencesProcedure is the fully-qualified name of the // BrentService's UpdateMyNotificationPreferences RPC. BrentServiceUpdateMyNotificationPreferencesProcedure = "/brent.BrentService/UpdateMyNotificationPreferences" + // BrentServiceRegisterMyPushSubscriptionProcedure is the fully-qualified name of the BrentService's + // RegisterMyPushSubscription RPC. + BrentServiceRegisterMyPushSubscriptionProcedure = "/brent.BrentService/RegisterMyPushSubscription" + // BrentServiceGetWebPushPublicKeyProcedure is the fully-qualified name of the BrentService's + // GetWebPushPublicKey RPC. + BrentServiceGetWebPushPublicKeyProcedure = "/brent.BrentService/GetWebPushPublicKey" // BrentServiceUpdateMyDisplayNameProcedure is the fully-qualified name of the BrentService's // UpdateMyDisplayName RPC. BrentServiceUpdateMyDisplayNameProcedure = "/brent.BrentService/UpdateMyDisplayName" @@ -370,6 +376,15 @@ type BrentServiceClient interface { // Patches the calling principal's notification preferences. Only cells present // in the request are changed; everything else is preserved. Gated on brent:write. UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) + // Registers a push subscription for the calling principal's browser. The + // subscription is keyed by (workspace_id, principal_id, endpoint) so the same + // device can re-subscribe and update keys without duplicating rows. Sends a + // confirmation push on success. Gated on brent:write, workspace-scoped. + RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) + // Returns the VAPID application server public key needed to subscribe a + // browser to push notifications. The key is a deploy-time constant, not + // per-user. Gated on brent:read, identity-scoped. + GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) // Sets the calling principal's display_name and marks it user-set so // provisioning no longer re-syncs it from the identity provider. The // principal is resolved server-side from the JWT. Gated on brent:write. @@ -638,6 +653,18 @@ func NewBrentServiceClient(httpClient connect.HTTPClient, baseURL string, opts . connect.WithSchema(brentServiceMethods.ByName("UpdateMyNotificationPreferences")), connect.WithClientOptions(opts...), ), + registerMyPushSubscription: connect.NewClient[sdp_go.RegisterMyPushSubscriptionRequest, sdp_go.RegisterMyPushSubscriptionResponse]( + httpClient, + baseURL+BrentServiceRegisterMyPushSubscriptionProcedure, + connect.WithSchema(brentServiceMethods.ByName("RegisterMyPushSubscription")), + connect.WithClientOptions(opts...), + ), + getWebPushPublicKey: connect.NewClient[sdp_go.GetWebPushPublicKeyRequest, sdp_go.GetWebPushPublicKeyResponse]( + httpClient, + baseURL+BrentServiceGetWebPushPublicKeyProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetWebPushPublicKey")), + connect.WithClientOptions(opts...), + ), updateMyDisplayName: connect.NewClient[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse]( httpClient, baseURL+BrentServiceUpdateMyDisplayNameProcedure, @@ -866,6 +893,8 @@ type brentServiceClient struct { listMyBindings *connect.Client[sdp_go.ListMyBindingsRequest, sdp_go.ListMyBindingsResponse] getMyNotificationPreferences *connect.Client[sdp_go.GetMyNotificationPreferencesRequest, sdp_go.GetMyNotificationPreferencesResponse] updateMyNotificationPreferences *connect.Client[sdp_go.UpdateMyNotificationPreferencesRequest, sdp_go.UpdateMyNotificationPreferencesResponse] + registerMyPushSubscription *connect.Client[sdp_go.RegisterMyPushSubscriptionRequest, sdp_go.RegisterMyPushSubscriptionResponse] + getWebPushPublicKey *connect.Client[sdp_go.GetWebPushPublicKeyRequest, sdp_go.GetWebPushPublicKeyResponse] updateMyDisplayName *connect.Client[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse] getBrentSettings *connect.Client[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] updateBrentSettings *connect.Client[sdp_go.UpdateBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] @@ -968,6 +997,16 @@ func (c *brentServiceClient) UpdateMyNotificationPreferences(ctx context.Context return c.updateMyNotificationPreferences.CallUnary(ctx, req) } +// RegisterMyPushSubscription calls brent.BrentService.RegisterMyPushSubscription. +func (c *brentServiceClient) RegisterMyPushSubscription(ctx context.Context, req *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { + return c.registerMyPushSubscription.CallUnary(ctx, req) +} + +// GetWebPushPublicKey calls brent.BrentService.GetWebPushPublicKey. +func (c *brentServiceClient) GetWebPushPublicKey(ctx context.Context, req *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { + return c.getWebPushPublicKey.CallUnary(ctx, req) +} + // UpdateMyDisplayName calls brent.BrentService.UpdateMyDisplayName. func (c *brentServiceClient) UpdateMyDisplayName(ctx context.Context, req *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { return c.updateMyDisplayName.CallUnary(ctx, req) @@ -1209,6 +1248,15 @@ type BrentServiceHandler interface { // Patches the calling principal's notification preferences. Only cells present // in the request are changed; everything else is preserved. Gated on brent:write. UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) + // Registers a push subscription for the calling principal's browser. The + // subscription is keyed by (workspace_id, principal_id, endpoint) so the same + // device can re-subscribe and update keys without duplicating rows. Sends a + // confirmation push on success. Gated on brent:write, workspace-scoped. + RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) + // Returns the VAPID application server public key needed to subscribe a + // browser to push notifications. The key is a deploy-time constant, not + // per-user. Gated on brent:read, identity-scoped. + GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) // Sets the calling principal's display_name and marks it user-set so // provisioning no longer re-syncs it from the identity provider. The // principal is resolved server-side from the JWT. Gated on brent:write. @@ -1473,6 +1521,18 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti connect.WithSchema(brentServiceMethods.ByName("UpdateMyNotificationPreferences")), connect.WithHandlerOptions(opts...), ) + brentServiceRegisterMyPushSubscriptionHandler := connect.NewUnaryHandler( + BrentServiceRegisterMyPushSubscriptionProcedure, + svc.RegisterMyPushSubscription, + connect.WithSchema(brentServiceMethods.ByName("RegisterMyPushSubscription")), + connect.WithHandlerOptions(opts...), + ) + brentServiceGetWebPushPublicKeyHandler := connect.NewUnaryHandler( + BrentServiceGetWebPushPublicKeyProcedure, + svc.GetWebPushPublicKey, + connect.WithSchema(brentServiceMethods.ByName("GetWebPushPublicKey")), + connect.WithHandlerOptions(opts...), + ) brentServiceUpdateMyDisplayNameHandler := connect.NewUnaryHandler( BrentServiceUpdateMyDisplayNameProcedure, svc.UpdateMyDisplayName, @@ -1711,6 +1771,10 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti brentServiceGetMyNotificationPreferencesHandler.ServeHTTP(w, r) case BrentServiceUpdateMyNotificationPreferencesProcedure: brentServiceUpdateMyNotificationPreferencesHandler.ServeHTTP(w, r) + case BrentServiceRegisterMyPushSubscriptionProcedure: + brentServiceRegisterMyPushSubscriptionHandler.ServeHTTP(w, r) + case BrentServiceGetWebPushPublicKeyProcedure: + brentServiceGetWebPushPublicKeyHandler.ServeHTTP(w, r) case BrentServiceUpdateMyDisplayNameProcedure: brentServiceUpdateMyDisplayNameHandler.ServeHTTP(w, r) case BrentServiceGetBrentSettingsProcedure: @@ -1842,6 +1906,14 @@ func (UnimplementedBrentServiceHandler) UpdateMyNotificationPreferences(context. return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyNotificationPreferences is not implemented")) } +func (UnimplementedBrentServiceHandler) RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RegisterMyPushSubscription is not implemented")) +} + +func (UnimplementedBrentServiceHandler) GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetWebPushPublicKey is not implemented")) +} + func (UnimplementedBrentServiceHandler) UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyDisplayName is not implemented")) } From ce680f71567dcd248b6c2d5b7905f2df5ebc5dab Mon Sep 17 00:00:00 2001 From: Dylan Date: Tue, 28 Jul 2026 16:24:49 -0700 Subject: [PATCH 07/36] feat(brent): IntegrationStatus shared readiness fields (BRENT-730 / ENG-5869) (#6137) ## Summary - Extends `IntegrationStatus` with buf.validate-constrained `status` / `summary` / `detail` and `IntegrationConnectionStatus` enum (BRENT-730 / ENG-5869). - Applies org_installed-driven Connected / Not connected defaults in `buildIntegrationStatuses` for every provider row. - Adds protovalidate bounds tests, mapper unit coverage, principal-status integration assertions, and a catalog note in `implemented-integrations.md`. Plan: BRENT-730 ## Test plan - [x] `go test -run TestValidateIntegrationStatus ./go/sdp-go/` - [x] `go test -run TestApplyDefaultIntegrationConnectionStatuses ./services/brent-backend/brent/` - [x] `go test -run TestGetPrincipalStatusEndpoint_GitHubOrgInstalledWithoutPersonalBinding ./services/brent-backend/service/` - [ ] CI green on this PR - [ ] Brent deviation analysis clear Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor GitOrigin-RevId: 7120d54ea77ac64b47e9d33adcbb0371b896572b --- go/sdp-go/brent.pb.go | 1802 +++++++++++++++------------- go/sdp-go/brent_validation_test.go | 95 ++ 2 files changed, 1050 insertions(+), 847 deletions(-) create mode 100644 go/sdp-go/brent_validation_test.go diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index e8ac59cb..f1860a8e 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -7,6 +7,7 @@ package sdp import ( + _ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" descriptorpb "google.golang.org/protobuf/types/descriptorpb" @@ -293,6 +294,66 @@ func (IntegrationIntent) EnumDescriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{4} } +// Coarse readiness for Integrations UI (button state / spinner / healthy / fix-me). +// Always set (never UNSPECIFIED) for every IntegrationStatus from GetPrincipalStatus. +// Ephemeral client-only UI (form/busy/popup) stays out of this API; +// in_progress / needs_attention exist for later provider tickets; +// org_installed-driven defaults only emit not_connected and connected. +type IntegrationConnectionStatus int32 + +const ( + IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED IntegrationConnectionStatus = 0 + IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED IntegrationConnectionStatus = 1 + IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_IN_PROGRESS IntegrationConnectionStatus = 2 + IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION IntegrationConnectionStatus = 3 + IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_CONNECTED IntegrationConnectionStatus = 4 +) + +// Enum value maps for IntegrationConnectionStatus. +var ( + IntegrationConnectionStatus_name = map[int32]string{ + 0: "INTEGRATION_CONNECTION_STATUS_UNSPECIFIED", + 1: "INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED", + 2: "INTEGRATION_CONNECTION_STATUS_IN_PROGRESS", + 3: "INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION", + 4: "INTEGRATION_CONNECTION_STATUS_CONNECTED", + } + IntegrationConnectionStatus_value = map[string]int32{ + "INTEGRATION_CONNECTION_STATUS_UNSPECIFIED": 0, + "INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED": 1, + "INTEGRATION_CONNECTION_STATUS_IN_PROGRESS": 2, + "INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION": 3, + "INTEGRATION_CONNECTION_STATUS_CONNECTED": 4, + } +) + +func (x IntegrationConnectionStatus) Enum() *IntegrationConnectionStatus { + p := new(IntegrationConnectionStatus) + *p = x + return p +} + +func (x IntegrationConnectionStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IntegrationConnectionStatus) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[5].Descriptor() +} + +func (IntegrationConnectionStatus) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[5] +} + +func (x IntegrationConnectionStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IntegrationConnectionStatus.Descriptor instead. +func (IntegrationConnectionStatus) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{5} +} + // LoginProvider is the closed set of social providers supported by browser // login recovery. Mapped from Auth0 connection names in the backend recovery // policy; the SPA trusts this enum for presentation and does not re-derive @@ -339,11 +400,11 @@ func (x LoginProvider) String() string { } func (LoginProvider) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[5].Descriptor() + return file_brent_proto_enumTypes[6].Descriptor() } func (LoginProvider) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[5] + return &file_brent_proto_enumTypes[6] } func (x LoginProvider) Number() protoreflect.EnumNumber { @@ -352,7 +413,7 @@ func (x LoginProvider) Number() protoreflect.EnumNumber { // Deprecated: Use LoginProvider.Descriptor instead. func (LoginProvider) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{5} + return file_brent_proto_rawDescGZIP(), []int{6} } // JoinSource records why a workspace is joinable / how membership was created. @@ -389,11 +450,11 @@ func (x JoinSource) String() string { } func (JoinSource) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[6].Descriptor() + return file_brent_proto_enumTypes[7].Descriptor() } func (JoinSource) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[6] + return &file_brent_proto_enumTypes[7] } func (x JoinSource) Number() protoreflect.EnumNumber { @@ -402,7 +463,7 @@ func (x JoinSource) Number() protoreflect.EnumNumber { // Deprecated: Use JoinSource.Descriptor instead. func (JoinSource) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{6} + return file_brent_proto_rawDescGZIP(), []int{7} } type InvitationStatus int32 @@ -447,11 +508,11 @@ func (x InvitationStatus) String() string { } func (InvitationStatus) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[7].Descriptor() + return file_brent_proto_enumTypes[8].Descriptor() } func (InvitationStatus) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[7] + return &file_brent_proto_enumTypes[8] } func (x InvitationStatus) Number() protoreflect.EnumNumber { @@ -460,7 +521,7 @@ func (x InvitationStatus) Number() protoreflect.EnumNumber { // Deprecated: Use InvitationStatus.Descriptor instead. func (InvitationStatus) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{7} + return file_brent_proto_rawDescGZIP(), []int{8} } // Per-email outcome of a batch CreateInvitations call. @@ -503,11 +564,11 @@ func (x InvitationResultStatus) String() string { } func (InvitationResultStatus) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[8].Descriptor() + return file_brent_proto_enumTypes[9].Descriptor() } func (InvitationResultStatus) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[8] + return &file_brent_proto_enumTypes[9] } func (x InvitationResultStatus) Number() protoreflect.EnumNumber { @@ -516,7 +577,7 @@ func (x InvitationResultStatus) Number() protoreflect.EnumNumber { // Deprecated: Use InvitationResultStatus.Descriptor instead. func (InvitationResultStatus) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{8} + return file_brent_proto_rawDescGZIP(), []int{9} } // Explicit member presentation state for ListWorkspaceMembers. A pending @@ -554,11 +615,11 @@ func (x WorkspaceMemberState) String() string { } func (WorkspaceMemberState) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[9].Descriptor() + return file_brent_proto_enumTypes[10].Descriptor() } func (WorkspaceMemberState) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[9] + return &file_brent_proto_enumTypes[10] } func (x WorkspaceMemberState) Number() protoreflect.EnumNumber { @@ -567,7 +628,7 @@ func (x WorkspaceMemberState) Number() protoreflect.EnumNumber { // Deprecated: Use WorkspaceMemberState.Descriptor instead. func (WorkspaceMemberState) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{9} + return file_brent_proto_rawDescGZIP(), []int{10} } type IntegrationCatalogueSource int32 @@ -606,11 +667,11 @@ func (x IntegrationCatalogueSource) String() string { } func (IntegrationCatalogueSource) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[10].Descriptor() + return file_brent_proto_enumTypes[11].Descriptor() } func (IntegrationCatalogueSource) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[10] + return &file_brent_proto_enumTypes[11] } func (x IntegrationCatalogueSource) Number() protoreflect.EnumNumber { @@ -619,7 +680,7 @@ func (x IntegrationCatalogueSource) Number() protoreflect.EnumNumber { // Deprecated: Use IntegrationCatalogueSource.Descriptor instead. func (IntegrationCatalogueSource) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{10} + return file_brent_proto_rawDescGZIP(), []int{11} } type ListPullRequestsRequest struct { @@ -18388,7 +18449,20 @@ type IntegrationStatus struct { // Time at which the current workspace connection was first established. ConnectedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=connected_at,json=connectedAt,proto3" json:"connected_at,omitempty"` // Provider-owned page where an administrator can manage this connection. - ManageUrl string `protobuf:"bytes,6,opt,name=manage_url,json=manageUrl,proto3" json:"manage_url,omitempty"` + ManageUrl string `protobuf:"bytes,6,opt,name=manage_url,json=manageUrl,proto3" json:"manage_url,omitempty"` + // Coarse readiness for Integrations UI (button state / spinner / healthy / fix-me). + // Always set (never UNSPECIFIED) for every IntegrationStatus from GetPrincipalStatus. + Status IntegrationConnectionStatus `protobuf:"varint,7,opt,name=status,proto3,enum=brent.IntegrationConnectionStatus" json:"status,omitempty"` + // Short label (a few words, max 32 chars) for the current status. + // Examples: "Not connected", "Connected", "Awaiting approval", "Needs reconnect". + Summary string `protobuf:"bytes,8,opt,name=summary,proto3" json:"summary,omitempty"` + // Longer explanation / next step shown under the label (max 160 chars). + // Examples: + // + // "This integration is not connected for this workspace." + // "An org admin must approve the GitHub App install before repositories are available." + // "Linked, but no usable Forge token is stored. Reconnect Bitbucket to open pull requests." + Detail string `protobuf:"bytes,9,opt,name=detail,proto3" json:"detail,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -18465,6 +18539,27 @@ func (x *IntegrationStatus) GetManageUrl() string { return "" } +func (x *IntegrationStatus) GetStatus() IntegrationConnectionStatus { + if x != nil { + return x.Status + } + return IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED +} + +func (x *IntegrationStatus) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *IntegrationStatus) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + type GetWorkspaceIntegrationRolesRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields @@ -23799,7 +23894,7 @@ var File_brent_proto protoreflect.FileDescriptor const file_brent_proto_rawDesc = "" + "\n" + - "\vbrent.proto\x12\x05brent\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x80\x01\n" + + "\vbrent.proto\x12\x05brent\x1a\x1bbuf/validate/validate.proto\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x80\x01\n" + "\x17ListPullRequestsRequest\x12\x14\n" + "\x05state\x18\x01 \x01(\tR\x05state\x12\x14\n" + "\x05limit\x18\x02 \x01(\rR\x05limit\x12\x16\n" + @@ -25368,7 +25463,7 @@ const file_brent_proto_rawDesc = "" + "\borg_name\x18\x01 \x01(\tR\aorgName\x12\x15\n" + "\x06org_id\x18\x02 \x01(\x03R\x05orgId\x12=\n" + "\frequested_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12!\n" + - "\frequested_by\x18\x04 \x01(\tR\vrequestedBy\"\xb1\x02\n" + + "\frequested_by\x18\x04 \x01(\tR\vrequestedBy\"\xc2\x03\n" + "\x11IntegrationStatus\x126\n" + "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12#\n" + "\rorg_installed\x18\x02 \x01(\bR\forgInstalled\x12\x1d\n" + @@ -25377,7 +25472,12 @@ const file_brent_proto_rawDesc = "" + "\x0egithub_pending\x18\x04 \x03(\v2\x1b.brent.GitHubPendingInstallR\rgithubPending\x12=\n" + "\fconnected_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\vconnectedAt\x12\x1d\n" + "\n" + - "manage_url\x18\x06 \x01(\tR\tmanageUrl\"%\n" + + "manage_url\x18\x06 \x01(\tR\tmanageUrl\x12F\n" + + "\x06status\x18\a \x01(\x0e2\".brent.IntegrationConnectionStatusB\n" + + "\xbaH\a\x82\x01\x04\x10\x01 \x00R\x06status\x12#\n" + + "\asummary\x18\b \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\asummary\x12\"\n" + + "\x06detail\x18\t \x01(\tB\n" + + "\xbaH\ar\x05\x10\x01\x18\xa0\x01R\x06detail\"%\n" + "#GetWorkspaceIntegrationRolesRequest\"\xa1\x02\n" + "$GetWorkspaceIntegrationRolesResponse\x12=\n" + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + @@ -25735,7 +25835,13 @@ const file_brent_proto_rawDesc = "" + "\x11IntegrationIntent\x12\"\n" + "\x1eINTEGRATION_INTENT_UNSPECIFIED\x10\x00\x12\x1e\n" + "\x1aINTEGRATION_INTENT_INSTALL\x10\x01\x12\x1b\n" + - "\x17INTEGRATION_INTENT_LINK\x10\x02*\xb8\x01\n" + + "\x17INTEGRATION_INTENT_LINK\x10\x02*\x8c\x02\n" + + "\x1bIntegrationConnectionStatus\x12-\n" + + ")INTEGRATION_CONNECTION_STATUS_UNSPECIFIED\x10\x00\x12/\n" + + "+INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED\x10\x01\x12-\n" + + ")INTEGRATION_CONNECTION_STATUS_IN_PROGRESS\x10\x02\x121\n" + + "-INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION\x10\x03\x12+\n" + + "'INTEGRATION_CONNECTION_STATUS_CONNECTED\x10\x04*\xb8\x01\n" + "\rLoginProvider\x12\x1e\n" + "\x1aLOGIN_PROVIDER_UNSPECIFIED\x10\x00\x12\x19\n" + "\x15LOGIN_PROVIDER_GOOGLE\x10\x01\x12\x19\n" + @@ -25878,7 +25984,7 @@ func file_brent_proto_rawDescGZIP() []byte { return file_brent_proto_rawDescData } -var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 11) +var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 12) var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 325) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus @@ -25886,838 +25992,840 @@ var file_brent_proto_goTypes = []any{ (PrincipalStatusState)(0), // 2: brent.PrincipalStatusState (IntegrationProvider)(0), // 3: brent.IntegrationProvider (IntegrationIntent)(0), // 4: brent.IntegrationIntent - (LoginProvider)(0), // 5: brent.LoginProvider - (JoinSource)(0), // 6: brent.JoinSource - (InvitationStatus)(0), // 7: brent.InvitationStatus - (InvitationResultStatus)(0), // 8: brent.InvitationResultStatus - (WorkspaceMemberState)(0), // 9: brent.WorkspaceMemberState - (IntegrationCatalogueSource)(0), // 10: brent.IntegrationCatalogueSource - (*ListPullRequestsRequest)(nil), // 11: brent.ListPullRequestsRequest - (*ListPullRequestsResponse)(nil), // 12: brent.ListPullRequestsResponse - (*GetPullRequestByIDRequest)(nil), // 13: brent.GetPullRequestByIDRequest - (*GetPullRequestByIDResponse)(nil), // 14: brent.GetPullRequestByIDResponse - (*ListDeviationAnalysesForPRRequest)(nil), // 15: brent.ListDeviationAnalysesForPRRequest - (*ListDeviationAnalysesForPRResponse)(nil), // 16: brent.ListDeviationAnalysesForPRResponse - (*GetPullRequestTimelineRequest)(nil), // 17: brent.GetPullRequestTimelineRequest - (*PullRequestTimelineEventRow)(nil), // 18: brent.PullRequestTimelineEventRow - (*PullRequestTimelineWarning)(nil), // 19: brent.PullRequestTimelineWarning - (*GetPullRequestTimelineResponse)(nil), // 20: brent.GetPullRequestTimelineResponse - (*PullRequestSummary)(nil), // 21: brent.PullRequestSummary - (*PullRequest)(nil), // 22: brent.PullRequest - (*DeviationAnalysisSummary)(nil), // 23: brent.DeviationAnalysisSummary - (*DeviationFinding)(nil), // 24: brent.DeviationFinding - (*ExecuteWorkflowRequest)(nil), // 25: brent.ExecuteWorkflowRequest - (*ListRunsRequest)(nil), // 26: brent.ListRunsRequest - (*ListRunsResponse)(nil), // 27: brent.ListRunsResponse - (*RunSummary)(nil), // 28: brent.RunSummary - (*WatchRunRequest)(nil), // 29: brent.WatchRunRequest - (*StreamEventsRequest)(nil), // 30: brent.StreamEventsRequest - (*StreamEventsResponse)(nil), // 31: brent.StreamEventsResponse - (*ListEventsRequest)(nil), // 32: brent.ListEventsRequest - (*ListEventsResponse)(nil), // 33: brent.ListEventsResponse - (*CancelRunRequest)(nil), // 34: brent.CancelRunRequest - (*CancelRunResponse)(nil), // 35: brent.CancelRunResponse - (*ListOpenPullRequestsRequest)(nil), // 36: brent.ListOpenPullRequestsRequest - (*ListOpenPullRequestsResponse)(nil), // 37: brent.ListOpenPullRequestsResponse - (*GetPullRequestRequest)(nil), // 38: brent.GetPullRequestRequest - (*GetPullRequestResponse)(nil), // 39: brent.GetPullRequestResponse - (*OpenPullRequest)(nil), // 40: brent.OpenPullRequest - (*ExecuteWorkflowResponse)(nil), // 41: brent.ExecuteWorkflowResponse - (*ReasoningStep)(nil), // 42: brent.ReasoningStep - (*ToolCallStep)(nil), // 43: brent.ToolCallStep - (*ToolResultStep)(nil), // 44: brent.ToolResultStep - (*CompletionStep)(nil), // 45: brent.CompletionStep - (*ErrorStep)(nil), // 46: brent.ErrorStep - (*StatusStep)(nil), // 47: brent.StatusStep - (*RunStartedStep)(nil), // 48: brent.RunStartedStep - (*QAReadyStep)(nil), // 49: brent.QAReadyStep - (*UserQuestionStep)(nil), // 50: brent.UserQuestionStep - (*UserMessageStep)(nil), // 51: brent.UserMessageStep - (*SendQuestionRequest)(nil), // 52: brent.SendQuestionRequest - (*AdminListPlansRequest)(nil), // 53: brent.AdminListPlansRequest - (*AdminListPlansResponse)(nil), // 54: brent.AdminListPlansResponse - (*PlanSummary)(nil), // 55: brent.PlanSummary - (*AdminGetPlanRequest)(nil), // 56: brent.AdminGetPlanRequest - (*AdminGetPlanResponse)(nil), // 57: brent.AdminGetPlanResponse - (*Plan)(nil), // 58: brent.Plan - (*AdminListPrincipalsRequest)(nil), // 59: brent.AdminListPrincipalsRequest - (*AdminListPrincipalsResponse)(nil), // 60: brent.AdminListPrincipalsResponse - (*AdminGetPrincipalRequest)(nil), // 61: brent.AdminGetPrincipalRequest - (*AdminGetPrincipalResponse)(nil), // 62: brent.AdminGetPrincipalResponse - (*PrincipalIdentity)(nil), // 63: brent.PrincipalIdentity - (*AdminUpsertPrincipalBindingRequest)(nil), // 64: brent.AdminUpsertPrincipalBindingRequest - (*AdminUpsertPrincipalBindingResponse)(nil), // 65: brent.AdminUpsertPrincipalBindingResponse - (*AdminDeletePrincipalBindingRequest)(nil), // 66: brent.AdminDeletePrincipalBindingRequest - (*AdminDeletePrincipalBindingResponse)(nil), // 67: brent.AdminDeletePrincipalBindingResponse - (*AdminUpdatePrincipalRequest)(nil), // 68: brent.AdminUpdatePrincipalRequest - (*AdminUpdatePrincipalResponse)(nil), // 69: brent.AdminUpdatePrincipalResponse - (*AdminCreatePrincipalIdentityRequest)(nil), // 70: brent.AdminCreatePrincipalIdentityRequest - (*AdminCreatePrincipalIdentityResponse)(nil), // 71: brent.AdminCreatePrincipalIdentityResponse - (*AdminDeletePrincipalIdentityRequest)(nil), // 72: brent.AdminDeletePrincipalIdentityRequest - (*AdminDeletePrincipalIdentityResponse)(nil), // 73: brent.AdminDeletePrincipalIdentityResponse - (*AdminSetPrincipalCredentialRequest)(nil), // 74: brent.AdminSetPrincipalCredentialRequest - (*AdminSetPrincipalCredentialResponse)(nil), // 75: brent.AdminSetPrincipalCredentialResponse - (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 76: brent.AdminListPrincipalCredentialConnectionsRequest - (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 77: brent.AdminListPrincipalCredentialConnectionsResponse - (*PrincipalCredentialConnection)(nil), // 78: brent.PrincipalCredentialConnection - (*AdminDeletePrincipalCredentialRequest)(nil), // 79: brent.AdminDeletePrincipalCredentialRequest - (*AdminDeletePrincipalCredentialResponse)(nil), // 80: brent.AdminDeletePrincipalCredentialResponse - (*AdminListReviewsRequest)(nil), // 81: brent.AdminListReviewsRequest - (*AdminListReviewsResponse)(nil), // 82: brent.AdminListReviewsResponse - (*ReviewSummary)(nil), // 83: brent.ReviewSummary - (*AdminGetReviewRequest)(nil), // 84: brent.AdminGetReviewRequest - (*AdminGetReviewResponse)(nil), // 85: brent.AdminGetReviewResponse - (*Review)(nil), // 86: brent.Review - (*AccountSummary)(nil), // 87: brent.AccountSummary - (*AdminListAccountsResponse)(nil), // 88: brent.AdminListAccountsResponse - (*AdminGetAccountSummaryRequest)(nil), // 89: brent.AdminGetAccountSummaryRequest - (*AccountRunSummary)(nil), // 90: brent.AccountRunSummary - (*AdminGetAccountSummaryResponse)(nil), // 91: brent.AdminGetAccountSummaryResponse - (*AdminGetAccountHealthAnalysisRequest)(nil), // 92: brent.AdminGetAccountHealthAnalysisRequest - (*AccountHealthFinding)(nil), // 93: brent.AccountHealthFinding - (*AdminGetAccountHealthAnalysisResponse)(nil), // 94: brent.AdminGetAccountHealthAnalysisResponse - (*AdminListAccountMetricReposRequest)(nil), // 95: brent.AdminListAccountMetricReposRequest - (*AccountMetricRepo)(nil), // 96: brent.AccountMetricRepo - (*AdminListAccountMetricReposResponse)(nil), // 97: brent.AdminListAccountMetricReposResponse - (*AdminStartAccountMetricsComparisonRequest)(nil), // 98: brent.AdminStartAccountMetricsComparisonRequest - (*AdminStartAccountMetricsComparisonResponse)(nil), // 99: brent.AdminStartAccountMetricsComparisonResponse - (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 100: brent.AdminGetAccountMetricsComparisonRunRequest - (*MetricsComparisonHeadline)(nil), // 101: brent.MetricsComparisonHeadline - (*MetricsComparisonArtifact)(nil), // 102: brent.MetricsComparisonArtifact - (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 103: brent.AdminGetAccountMetricsComparisonRunResponse - (*Event)(nil), // 104: brent.Event - (*Actor)(nil), // 105: brent.Actor - (*ObjectReference)(nil), // 106: brent.ObjectReference - (*PlanCreated)(nil), // 107: brent.PlanCreated - (*PlanUpdated)(nil), // 108: brent.PlanUpdated - (*PlanDeleted)(nil), // 109: brent.PlanDeleted - (*ReviewDeleted)(nil), // 110: brent.ReviewDeleted - (*PlanRestored)(nil), // 111: brent.PlanRestored - (*ReviewRequested)(nil), // 112: brent.ReviewRequested - (*ReviewSubmitted)(nil), // 113: brent.ReviewSubmitted - (*ReviewNoEligibleReviewer)(nil), // 114: brent.ReviewNoEligibleReviewer - (*PlanReviewPolicyDecided)(nil), // 115: brent.PlanReviewPolicyDecided - (*PrincipalCreated)(nil), // 116: brent.PrincipalCreated - (*PrincipalUpdated)(nil), // 117: brent.PrincipalUpdated - (*PrincipalTombstoned)(nil), // 118: brent.PrincipalTombstoned - (*WorkspaceCreated)(nil), // 119: brent.WorkspaceCreated - (*WorkspaceOnboardingCompleted)(nil), // 120: brent.WorkspaceOnboardingCompleted - (*WorkspaceRenamed)(nil), // 121: brent.WorkspaceRenamed - (*WorkspaceDeleted)(nil), // 122: brent.WorkspaceDeleted - (*WorkspaceMemberJoined)(nil), // 123: brent.WorkspaceMemberJoined - (*WorkspaceMemberLeft)(nil), // 124: brent.WorkspaceMemberLeft - (*ApprovedEmailDomainAdded)(nil), // 125: brent.ApprovedEmailDomainAdded - (*ApprovedEmailDomainVerified)(nil), // 126: brent.ApprovedEmailDomainVerified - (*ApprovedEmailDomainDeleted)(nil), // 127: brent.ApprovedEmailDomainDeleted - (*MCPGrantWorkspaceBindingChanged)(nil), // 128: brent.MCPGrantWorkspaceBindingChanged - (*IdentityCreated)(nil), // 129: brent.IdentityCreated - (*IdentityDeleted)(nil), // 130: brent.IdentityDeleted - (*BindingCreated)(nil), // 131: brent.BindingCreated - (*BindingUpdated)(nil), // 132: brent.BindingUpdated - (*BindingDeleted)(nil), // 133: brent.BindingDeleted - (*CredentialConnected)(nil), // 134: brent.CredentialConnected - (*CredentialRevoked)(nil), // 135: brent.CredentialRevoked - (*WorkspaceLLMCredentialConnected)(nil), // 136: brent.WorkspaceLLMCredentialConnected - (*WorkspaceLLMCredentialRevoked)(nil), // 137: brent.WorkspaceLLMCredentialRevoked - (*ReviewDriveByStarted)(nil), // 138: brent.ReviewDriveByStarted - (*OtherEvent)(nil), // 139: brent.OtherEvent - (*UnknownStoredPayload)(nil), // 140: brent.UnknownStoredPayload - (*PullRequestOpened)(nil), // 141: brent.PullRequestOpened - (*PullRequestSynchronized)(nil), // 142: brent.PullRequestSynchronized - (*PullRequestUpdated)(nil), // 143: brent.PullRequestUpdated - (*PullRequestClosed)(nil), // 144: brent.PullRequestClosed - (*PullRequestLinkedToPlan)(nil), // 145: brent.PullRequestLinkedToPlan - (*PullRequestUnlinkedFromPlan)(nil), // 146: brent.PullRequestUnlinkedFromPlan - (*PullRequestLinkedToAgentRun)(nil), // 147: brent.PullRequestLinkedToAgentRun - (*PullRequestReviewRequested)(nil), // 148: brent.PullRequestReviewRequested - (*PullRequestApproved)(nil), // 149: brent.PullRequestApproved - (*PullRequestChangesRequested)(nil), // 150: brent.PullRequestChangesRequested - (*PullRequestReviewDismissed)(nil), // 151: brent.PullRequestReviewDismissed - (*PullRequestCommentCreated)(nil), // 152: brent.PullRequestCommentCreated - (*DeviationAnalysisStarted)(nil), // 153: brent.DeviationAnalysisStarted - (*FindingSummary)(nil), // 154: brent.FindingSummary - (*DeviationAnalysisCompleted)(nil), // 155: brent.DeviationAnalysisCompleted - (*DeviationAnalysisFailed)(nil), // 156: brent.DeviationAnalysisFailed - (*DeviationFindingRecorded)(nil), // 157: brent.DeviationFindingRecorded - (*DeviationFindingUpdated)(nil), // 158: brent.DeviationFindingUpdated - (*DeviationFindingResolved)(nil), // 159: brent.DeviationFindingResolved - (*DeviationFindingAcknowledged)(nil), // 160: brent.DeviationFindingAcknowledged - (*DeviationFindingAcknowledgementCleared)(nil), // 161: brent.DeviationFindingAcknowledgementCleared - (*AgentRunDispatched)(nil), // 162: brent.AgentRunDispatched - (*AgentRunStarted)(nil), // 163: brent.AgentRunStarted - (*AgentRunPullRequestMatched)(nil), // 164: brent.AgentRunPullRequestMatched - (*AgentRunFlaggedNeedsYou)(nil), // 165: brent.AgentRunFlaggedNeedsYou - (*AgentRunGatePassed)(nil), // 166: brent.AgentRunGatePassed - (*AgentRunMerged)(nil), // 167: brent.AgentRunMerged - (*AgentRunCancelled)(nil), // 168: brent.AgentRunCancelled - (*AgentRunDeclined)(nil), // 169: brent.AgentRunDeclined - (*AgentRunAnnotated)(nil), // 170: brent.AgentRunAnnotated - (*WorkflowIngested)(nil), // 171: brent.WorkflowIngested - (*WorkflowRunQueued)(nil), // 172: brent.WorkflowRunQueued - (*WorkflowRunStarted)(nil), // 173: brent.WorkflowRunStarted - (*WorkflowRunCompleted)(nil), // 174: brent.WorkflowRunCompleted - (*WorkflowRunFailed)(nil), // 175: brent.WorkflowRunFailed - (*WorkflowRunCancelled)(nil), // 176: brent.WorkflowRunCancelled - (*SlackWebhook)(nil), // 177: brent.SlackWebhook - (*LinearWebhook)(nil), // 178: brent.LinearWebhook - (*ComposioTriggerMessage)(nil), // 179: brent.ComposioTriggerMessage - (*GitHubWebhook)(nil), // 180: brent.GitHubWebhook - (*GitLabWebhook)(nil), // 181: brent.GitLabWebhook - (*BitbucketWebhook)(nil), // 182: brent.BitbucketWebhook - (*EmbeddedJsonCELFixture)(nil), // 183: brent.EmbeddedJsonCELFixture - (*SlackMentionReceived)(nil), // 184: brent.SlackMentionReceived - (*OrganisationAppInstallationUpserted)(nil), // 185: brent.OrganisationAppInstallationUpserted - (*OrganisationAppInstallationDeleted)(nil), // 186: brent.OrganisationAppInstallationDeleted - (*SlackReactionAdded)(nil), // 187: brent.SlackReactionAdded - (*ListWorkflowsRequest)(nil), // 188: brent.ListWorkflowsRequest - (*ListWorkflowsResponse)(nil), // 189: brent.ListWorkflowsResponse - (*WorkflowSummary)(nil), // 190: brent.WorkflowSummary - (*GetWorkflowRequest)(nil), // 191: brent.GetWorkflowRequest - (*GetWorkflowResponse)(nil), // 192: brent.GetWorkflowResponse - (*Workflow)(nil), // 193: brent.Workflow - (*ListWorkflowRunsRequest)(nil), // 194: brent.ListWorkflowRunsRequest - (*ListWorkflowRunsResponse)(nil), // 195: brent.ListWorkflowRunsResponse - (*WorkflowRunSummary)(nil), // 196: brent.WorkflowRunSummary - (*GetWorkflowRunRequest)(nil), // 197: brent.GetWorkflowRunRequest - (*GetWorkflowRunThreadHistoryRequest)(nil), // 198: brent.GetWorkflowRunThreadHistoryRequest - (*WorkflowRunThreadSegment)(nil), // 199: brent.WorkflowRunThreadSegment - (*GetWorkflowRunThreadHistoryResponse)(nil), // 200: brent.GetWorkflowRunThreadHistoryResponse - (*GetWorkflowRunResponse)(nil), // 201: brent.GetWorkflowRunResponse - (*WorkflowRun)(nil), // 202: brent.WorkflowRun - (*GetPrincipalStatusRequest)(nil), // 203: brent.GetPrincipalStatusRequest - (*GetPrincipalStatusResponse)(nil), // 204: brent.GetPrincipalStatusResponse - (*GetIntegrationConnectURLRequest)(nil), // 205: brent.GetIntegrationConnectURLRequest - (*GetIntegrationConnectURLResponse)(nil), // 206: brent.GetIntegrationConnectURLResponse - (*DisconnectIntegrationRequest)(nil), // 207: brent.DisconnectIntegrationRequest - (*DisconnectIntegrationResponse)(nil), // 208: brent.DisconnectIntegrationResponse - (*ConnectByoHttpMcpRequest)(nil), // 209: brent.ConnectByoHttpMcpRequest - (*ConnectByoHttpMcpResponse)(nil), // 210: brent.ConnectByoHttpMcpResponse - (*GetGitLabConnectionRequest)(nil), // 211: brent.GetGitLabConnectionRequest - (*GetGitLabConnectionResponse)(nil), // 212: brent.GetGitLabConnectionResponse - (*ConnectGitLabRequest)(nil), // 213: brent.ConnectGitLabRequest - (*ConnectGitLabResponse)(nil), // 214: brent.ConnectGitLabResponse - (*SaveGitLabSigningTokenRequest)(nil), // 215: brent.SaveGitLabSigningTokenRequest - (*SaveGitLabSigningTokenResponse)(nil), // 216: brent.SaveGitLabSigningTokenResponse - (*GitHubPendingInstall)(nil), // 217: brent.GitHubPendingInstall - (*IntegrationStatus)(nil), // 218: brent.IntegrationStatus - (*GetWorkspaceIntegrationRolesRequest)(nil), // 219: brent.GetWorkspaceIntegrationRolesRequest - (*GetWorkspaceIntegrationRolesResponse)(nil), // 220: brent.GetWorkspaceIntegrationRolesResponse - (*SetWorkspaceIntegrationRolesRequest)(nil), // 221: brent.SetWorkspaceIntegrationRolesRequest - (*SetWorkspaceIntegrationRolesResponse)(nil), // 222: brent.SetWorkspaceIntegrationRolesResponse - (*Principal)(nil), // 223: brent.Principal - (*Workspace)(nil), // 224: brent.Workspace - (*CreateWorkspaceRequest)(nil), // 225: brent.CreateWorkspaceRequest - (*CreateWorkspaceResponse)(nil), // 226: brent.CreateWorkspaceResponse - (*ListMyWorkspacesRequest)(nil), // 227: brent.ListMyWorkspacesRequest - (*ListMyWorkspacesResponse)(nil), // 228: brent.ListMyWorkspacesResponse - (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 229: brent.DiscoverLoginRecoveryCandidatesRequest - (*LoginRecoveryCandidate)(nil), // 230: brent.LoginRecoveryCandidate - (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 231: brent.DiscoverLoginRecoveryCandidatesResponse - (*RenameWorkspaceRequest)(nil), // 232: brent.RenameWorkspaceRequest - (*RenameWorkspaceResponse)(nil), // 233: brent.RenameWorkspaceResponse - (*DeleteWorkspaceRequest)(nil), // 234: brent.DeleteWorkspaceRequest - (*DeleteWorkspaceResponse)(nil), // 235: brent.DeleteWorkspaceResponse - (*ListJoinableWorkspacesRequest)(nil), // 236: brent.ListJoinableWorkspacesRequest - (*ListJoinableWorkspacesResponse)(nil), // 237: brent.ListJoinableWorkspacesResponse - (*JoinableWorkspace)(nil), // 238: brent.JoinableWorkspace - (*JoinableWorkspaceMember)(nil), // 239: brent.JoinableWorkspaceMember - (*JoinWorkspaceRequest)(nil), // 240: brent.JoinWorkspaceRequest - (*JoinWorkspaceResponse)(nil), // 241: brent.JoinWorkspaceResponse - (*ApprovedEmailDomain)(nil), // 242: brent.ApprovedEmailDomain - (*ListApprovedEmailDomainsRequest)(nil), // 243: brent.ListApprovedEmailDomainsRequest - (*ListApprovedEmailDomainsResponse)(nil), // 244: brent.ListApprovedEmailDomainsResponse - (*AddApprovedEmailDomainRequest)(nil), // 245: brent.AddApprovedEmailDomainRequest - (*AddApprovedEmailDomainResponse)(nil), // 246: brent.AddApprovedEmailDomainResponse - (*VerifyApprovedEmailDomainRequest)(nil), // 247: brent.VerifyApprovedEmailDomainRequest - (*VerifyApprovedEmailDomainResponse)(nil), // 248: brent.VerifyApprovedEmailDomainResponse - (*ResendApprovedEmailDomainCodeRequest)(nil), // 249: brent.ResendApprovedEmailDomainCodeRequest - (*ResendApprovedEmailDomainCodeResponse)(nil), // 250: brent.ResendApprovedEmailDomainCodeResponse - (*ResendVerificationEmailRequest)(nil), // 251: brent.ResendVerificationEmailRequest - (*ResendVerificationEmailResponse)(nil), // 252: brent.ResendVerificationEmailResponse - (*DeleteApprovedEmailDomainRequest)(nil), // 253: brent.DeleteApprovedEmailDomainRequest - (*DeleteApprovedEmailDomainResponse)(nil), // 254: brent.DeleteApprovedEmailDomainResponse - (*WorkspaceLLMCredentialStatus)(nil), // 255: brent.WorkspaceLLMCredentialStatus - (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 256: brent.GetWorkspaceLLMCredentialStatusRequest - (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 257: brent.GetWorkspaceLLMCredentialStatusResponse - (*SetWorkspaceLLMCredentialRequest)(nil), // 258: brent.SetWorkspaceLLMCredentialRequest - (*SetWorkspaceLLMCredentialResponse)(nil), // 259: brent.SetWorkspaceLLMCredentialResponse - (*DeleteWorkspaceLLMCredentialRequest)(nil), // 260: brent.DeleteWorkspaceLLMCredentialRequest - (*DeleteWorkspaceLLMCredentialResponse)(nil), // 261: brent.DeleteWorkspaceLLMCredentialResponse - (*MyCursorCredentialStatus)(nil), // 262: brent.MyCursorCredentialStatus - (*GetMyCursorCredentialStatusRequest)(nil), // 263: brent.GetMyCursorCredentialStatusRequest - (*GetMyCursorCredentialStatusResponse)(nil), // 264: brent.GetMyCursorCredentialStatusResponse - (*SetMyCursorCredentialRequest)(nil), // 265: brent.SetMyCursorCredentialRequest - (*SetMyCursorCredentialResponse)(nil), // 266: brent.SetMyCursorCredentialResponse - (*DeleteMyCursorCredentialRequest)(nil), // 267: brent.DeleteMyCursorCredentialRequest - (*DeleteMyCursorCredentialResponse)(nil), // 268: brent.DeleteMyCursorCredentialResponse - (*UpdateWorkspaceBrandingRequest)(nil), // 269: brent.UpdateWorkspaceBrandingRequest - (*UpdateWorkspaceBrandingResponse)(nil), // 270: brent.UpdateWorkspaceBrandingResponse - (*CompleteWorkspaceOnboardingRequest)(nil), // 271: brent.CompleteWorkspaceOnboardingRequest - (*CompleteWorkspaceOnboardingResponse)(nil), // 272: brent.CompleteWorkspaceOnboardingResponse - (*CreateInvitationRequest)(nil), // 273: brent.CreateInvitationRequest - (*CreateInvitationResponse)(nil), // 274: brent.CreateInvitationResponse - (*CreateInvitationsRequest)(nil), // 275: brent.CreateInvitationsRequest - (*InvitationResult)(nil), // 276: brent.InvitationResult - (*CreateInvitationsResponse)(nil), // 277: brent.CreateInvitationsResponse - (*AcceptInvitationRequest)(nil), // 278: brent.AcceptInvitationRequest - (*AcceptInvitationResponse)(nil), // 279: brent.AcceptInvitationResponse - (*ListWorkspaceMembersRequest)(nil), // 280: brent.ListWorkspaceMembersRequest - (*ListWorkspaceMembersResponse)(nil), // 281: brent.ListWorkspaceMembersResponse - (*WorkspaceMember)(nil), // 282: brent.WorkspaceMember - (*ResendInvitationRequest)(nil), // 283: brent.ResendInvitationRequest - (*ResendInvitationResponse)(nil), // 284: brent.ResendInvitationResponse - (*RevokeInvitationRequest)(nil), // 285: brent.RevokeInvitationRequest - (*RevokeInvitationResponse)(nil), // 286: brent.RevokeInvitationResponse - (*RemoveWorkspaceMemberRequest)(nil), // 287: brent.RemoveWorkspaceMemberRequest - (*RemoveWorkspaceMemberResponse)(nil), // 288: brent.RemoveWorkspaceMemberResponse - (*UpdateWorkspaceMemberRoleRequest)(nil), // 289: brent.UpdateWorkspaceMemberRoleRequest - (*UpdateWorkspaceMemberRoleResponse)(nil), // 290: brent.UpdateWorkspaceMemberRoleResponse - (*GetInvitationRequest)(nil), // 291: brent.GetInvitationRequest - (*GetInvitationResponse)(nil), // 292: brent.GetInvitationResponse - (*UpsertMyVerifiedBindingRequest)(nil), // 293: brent.UpsertMyVerifiedBindingRequest - (*UpsertMyVerifiedBindingResponse)(nil), // 294: brent.UpsertMyVerifiedBindingResponse - (*UpdateMyDisplayNameRequest)(nil), // 295: brent.UpdateMyDisplayNameRequest - (*UpdateMyDisplayNameResponse)(nil), // 296: brent.UpdateMyDisplayNameResponse - (*ListMyBindingsRequest)(nil), // 297: brent.ListMyBindingsRequest - (*ListMyBindingsResponse)(nil), // 298: brent.ListMyBindingsResponse - (*NotificationPreferences)(nil), // 299: brent.NotificationPreferences - (*ChannelPreferences)(nil), // 300: brent.ChannelPreferences - (*GetMyNotificationPreferencesRequest)(nil), // 301: brent.GetMyNotificationPreferencesRequest - (*GetMyNotificationPreferencesResponse)(nil), // 302: brent.GetMyNotificationPreferencesResponse - (*UpdateMyNotificationPreferencesRequest)(nil), // 303: brent.UpdateMyNotificationPreferencesRequest - (*UpdateMyNotificationPreferencesResponse)(nil), // 304: brent.UpdateMyNotificationPreferencesResponse - (*RegisterMyPushSubscriptionRequest)(nil), // 305: brent.RegisterMyPushSubscriptionRequest - (*RegisterMyPushSubscriptionResponse)(nil), // 306: brent.RegisterMyPushSubscriptionResponse - (*GetWebPushPublicKeyRequest)(nil), // 307: brent.GetWebPushPublicKeyRequest - (*GetWebPushPublicKeyResponse)(nil), // 308: brent.GetWebPushPublicKeyResponse - (*Binding)(nil), // 309: brent.Binding - (*RedFindingKindsPatch)(nil), // 310: brent.RedFindingKindsPatch - (*GetBrentSettingsRequest)(nil), // 311: brent.GetBrentSettingsRequest - (*GetBrentSettingsResponse)(nil), // 312: brent.GetBrentSettingsResponse - (*UpdateBrentSettingsRequest)(nil), // 313: brent.UpdateBrentSettingsRequest - (*UpdateBrentSettingsResponse)(nil), // 314: brent.UpdateBrentSettingsResponse - (*AdminGetAccountBrentSettingsRequest)(nil), // 315: brent.AdminGetAccountBrentSettingsRequest - (*AdminUpdateAccountBrentSettingsRequest)(nil), // 316: brent.AdminUpdateAccountBrentSettingsRequest - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 317: brent.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 318: brent.AdminGetAccountLLMCredentialStatusResponse - (*ListIntegrationCatalogueRequest)(nil), // 319: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 320: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 321: brent.IntegrationCatalogueEntry - nil, // 322: brent.PlanUpdated.PreviousEntry - nil, // 323: brent.PlanUpdated.AfterEntry - nil, // 324: brent.PrincipalUpdated.PreviousEntry - nil, // 325: brent.PrincipalUpdated.AfterEntry - nil, // 326: brent.BindingUpdated.PreviousEntry - nil, // 327: brent.BindingUpdated.AfterEntry - nil, // 328: brent.OtherEvent.FieldsEntry - nil, // 329: brent.PullRequestUpdated.PreviousEntry - nil, // 330: brent.PullRequestUpdated.AfterEntry - nil, // 331: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 332: brent.DeviationFindingUpdated.PreviousEntry - nil, // 333: brent.DeviationFindingUpdated.AfterEntry - nil, // 334: brent.NotificationPreferences.PreferencesEntry - nil, // 335: brent.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 336: google.protobuf.Timestamp - (*structpb.Value)(nil), // 337: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 338: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 339: google.protobuf.Empty + (IntegrationConnectionStatus)(0), // 5: brent.IntegrationConnectionStatus + (LoginProvider)(0), // 6: brent.LoginProvider + (JoinSource)(0), // 7: brent.JoinSource + (InvitationStatus)(0), // 8: brent.InvitationStatus + (InvitationResultStatus)(0), // 9: brent.InvitationResultStatus + (WorkspaceMemberState)(0), // 10: brent.WorkspaceMemberState + (IntegrationCatalogueSource)(0), // 11: brent.IntegrationCatalogueSource + (*ListPullRequestsRequest)(nil), // 12: brent.ListPullRequestsRequest + (*ListPullRequestsResponse)(nil), // 13: brent.ListPullRequestsResponse + (*GetPullRequestByIDRequest)(nil), // 14: brent.GetPullRequestByIDRequest + (*GetPullRequestByIDResponse)(nil), // 15: brent.GetPullRequestByIDResponse + (*ListDeviationAnalysesForPRRequest)(nil), // 16: brent.ListDeviationAnalysesForPRRequest + (*ListDeviationAnalysesForPRResponse)(nil), // 17: brent.ListDeviationAnalysesForPRResponse + (*GetPullRequestTimelineRequest)(nil), // 18: brent.GetPullRequestTimelineRequest + (*PullRequestTimelineEventRow)(nil), // 19: brent.PullRequestTimelineEventRow + (*PullRequestTimelineWarning)(nil), // 20: brent.PullRequestTimelineWarning + (*GetPullRequestTimelineResponse)(nil), // 21: brent.GetPullRequestTimelineResponse + (*PullRequestSummary)(nil), // 22: brent.PullRequestSummary + (*PullRequest)(nil), // 23: brent.PullRequest + (*DeviationAnalysisSummary)(nil), // 24: brent.DeviationAnalysisSummary + (*DeviationFinding)(nil), // 25: brent.DeviationFinding + (*ExecuteWorkflowRequest)(nil), // 26: brent.ExecuteWorkflowRequest + (*ListRunsRequest)(nil), // 27: brent.ListRunsRequest + (*ListRunsResponse)(nil), // 28: brent.ListRunsResponse + (*RunSummary)(nil), // 29: brent.RunSummary + (*WatchRunRequest)(nil), // 30: brent.WatchRunRequest + (*StreamEventsRequest)(nil), // 31: brent.StreamEventsRequest + (*StreamEventsResponse)(nil), // 32: brent.StreamEventsResponse + (*ListEventsRequest)(nil), // 33: brent.ListEventsRequest + (*ListEventsResponse)(nil), // 34: brent.ListEventsResponse + (*CancelRunRequest)(nil), // 35: brent.CancelRunRequest + (*CancelRunResponse)(nil), // 36: brent.CancelRunResponse + (*ListOpenPullRequestsRequest)(nil), // 37: brent.ListOpenPullRequestsRequest + (*ListOpenPullRequestsResponse)(nil), // 38: brent.ListOpenPullRequestsResponse + (*GetPullRequestRequest)(nil), // 39: brent.GetPullRequestRequest + (*GetPullRequestResponse)(nil), // 40: brent.GetPullRequestResponse + (*OpenPullRequest)(nil), // 41: brent.OpenPullRequest + (*ExecuteWorkflowResponse)(nil), // 42: brent.ExecuteWorkflowResponse + (*ReasoningStep)(nil), // 43: brent.ReasoningStep + (*ToolCallStep)(nil), // 44: brent.ToolCallStep + (*ToolResultStep)(nil), // 45: brent.ToolResultStep + (*CompletionStep)(nil), // 46: brent.CompletionStep + (*ErrorStep)(nil), // 47: brent.ErrorStep + (*StatusStep)(nil), // 48: brent.StatusStep + (*RunStartedStep)(nil), // 49: brent.RunStartedStep + (*QAReadyStep)(nil), // 50: brent.QAReadyStep + (*UserQuestionStep)(nil), // 51: brent.UserQuestionStep + (*UserMessageStep)(nil), // 52: brent.UserMessageStep + (*SendQuestionRequest)(nil), // 53: brent.SendQuestionRequest + (*AdminListPlansRequest)(nil), // 54: brent.AdminListPlansRequest + (*AdminListPlansResponse)(nil), // 55: brent.AdminListPlansResponse + (*PlanSummary)(nil), // 56: brent.PlanSummary + (*AdminGetPlanRequest)(nil), // 57: brent.AdminGetPlanRequest + (*AdminGetPlanResponse)(nil), // 58: brent.AdminGetPlanResponse + (*Plan)(nil), // 59: brent.Plan + (*AdminListPrincipalsRequest)(nil), // 60: brent.AdminListPrincipalsRequest + (*AdminListPrincipalsResponse)(nil), // 61: brent.AdminListPrincipalsResponse + (*AdminGetPrincipalRequest)(nil), // 62: brent.AdminGetPrincipalRequest + (*AdminGetPrincipalResponse)(nil), // 63: brent.AdminGetPrincipalResponse + (*PrincipalIdentity)(nil), // 64: brent.PrincipalIdentity + (*AdminUpsertPrincipalBindingRequest)(nil), // 65: brent.AdminUpsertPrincipalBindingRequest + (*AdminUpsertPrincipalBindingResponse)(nil), // 66: brent.AdminUpsertPrincipalBindingResponse + (*AdminDeletePrincipalBindingRequest)(nil), // 67: brent.AdminDeletePrincipalBindingRequest + (*AdminDeletePrincipalBindingResponse)(nil), // 68: brent.AdminDeletePrincipalBindingResponse + (*AdminUpdatePrincipalRequest)(nil), // 69: brent.AdminUpdatePrincipalRequest + (*AdminUpdatePrincipalResponse)(nil), // 70: brent.AdminUpdatePrincipalResponse + (*AdminCreatePrincipalIdentityRequest)(nil), // 71: brent.AdminCreatePrincipalIdentityRequest + (*AdminCreatePrincipalIdentityResponse)(nil), // 72: brent.AdminCreatePrincipalIdentityResponse + (*AdminDeletePrincipalIdentityRequest)(nil), // 73: brent.AdminDeletePrincipalIdentityRequest + (*AdminDeletePrincipalIdentityResponse)(nil), // 74: brent.AdminDeletePrincipalIdentityResponse + (*AdminSetPrincipalCredentialRequest)(nil), // 75: brent.AdminSetPrincipalCredentialRequest + (*AdminSetPrincipalCredentialResponse)(nil), // 76: brent.AdminSetPrincipalCredentialResponse + (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 77: brent.AdminListPrincipalCredentialConnectionsRequest + (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 78: brent.AdminListPrincipalCredentialConnectionsResponse + (*PrincipalCredentialConnection)(nil), // 79: brent.PrincipalCredentialConnection + (*AdminDeletePrincipalCredentialRequest)(nil), // 80: brent.AdminDeletePrincipalCredentialRequest + (*AdminDeletePrincipalCredentialResponse)(nil), // 81: brent.AdminDeletePrincipalCredentialResponse + (*AdminListReviewsRequest)(nil), // 82: brent.AdminListReviewsRequest + (*AdminListReviewsResponse)(nil), // 83: brent.AdminListReviewsResponse + (*ReviewSummary)(nil), // 84: brent.ReviewSummary + (*AdminGetReviewRequest)(nil), // 85: brent.AdminGetReviewRequest + (*AdminGetReviewResponse)(nil), // 86: brent.AdminGetReviewResponse + (*Review)(nil), // 87: brent.Review + (*AccountSummary)(nil), // 88: brent.AccountSummary + (*AdminListAccountsResponse)(nil), // 89: brent.AdminListAccountsResponse + (*AdminGetAccountSummaryRequest)(nil), // 90: brent.AdminGetAccountSummaryRequest + (*AccountRunSummary)(nil), // 91: brent.AccountRunSummary + (*AdminGetAccountSummaryResponse)(nil), // 92: brent.AdminGetAccountSummaryResponse + (*AdminGetAccountHealthAnalysisRequest)(nil), // 93: brent.AdminGetAccountHealthAnalysisRequest + (*AccountHealthFinding)(nil), // 94: brent.AccountHealthFinding + (*AdminGetAccountHealthAnalysisResponse)(nil), // 95: brent.AdminGetAccountHealthAnalysisResponse + (*AdminListAccountMetricReposRequest)(nil), // 96: brent.AdminListAccountMetricReposRequest + (*AccountMetricRepo)(nil), // 97: brent.AccountMetricRepo + (*AdminListAccountMetricReposResponse)(nil), // 98: brent.AdminListAccountMetricReposResponse + (*AdminStartAccountMetricsComparisonRequest)(nil), // 99: brent.AdminStartAccountMetricsComparisonRequest + (*AdminStartAccountMetricsComparisonResponse)(nil), // 100: brent.AdminStartAccountMetricsComparisonResponse + (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 101: brent.AdminGetAccountMetricsComparisonRunRequest + (*MetricsComparisonHeadline)(nil), // 102: brent.MetricsComparisonHeadline + (*MetricsComparisonArtifact)(nil), // 103: brent.MetricsComparisonArtifact + (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 104: brent.AdminGetAccountMetricsComparisonRunResponse + (*Event)(nil), // 105: brent.Event + (*Actor)(nil), // 106: brent.Actor + (*ObjectReference)(nil), // 107: brent.ObjectReference + (*PlanCreated)(nil), // 108: brent.PlanCreated + (*PlanUpdated)(nil), // 109: brent.PlanUpdated + (*PlanDeleted)(nil), // 110: brent.PlanDeleted + (*ReviewDeleted)(nil), // 111: brent.ReviewDeleted + (*PlanRestored)(nil), // 112: brent.PlanRestored + (*ReviewRequested)(nil), // 113: brent.ReviewRequested + (*ReviewSubmitted)(nil), // 114: brent.ReviewSubmitted + (*ReviewNoEligibleReviewer)(nil), // 115: brent.ReviewNoEligibleReviewer + (*PlanReviewPolicyDecided)(nil), // 116: brent.PlanReviewPolicyDecided + (*PrincipalCreated)(nil), // 117: brent.PrincipalCreated + (*PrincipalUpdated)(nil), // 118: brent.PrincipalUpdated + (*PrincipalTombstoned)(nil), // 119: brent.PrincipalTombstoned + (*WorkspaceCreated)(nil), // 120: brent.WorkspaceCreated + (*WorkspaceOnboardingCompleted)(nil), // 121: brent.WorkspaceOnboardingCompleted + (*WorkspaceRenamed)(nil), // 122: brent.WorkspaceRenamed + (*WorkspaceDeleted)(nil), // 123: brent.WorkspaceDeleted + (*WorkspaceMemberJoined)(nil), // 124: brent.WorkspaceMemberJoined + (*WorkspaceMemberLeft)(nil), // 125: brent.WorkspaceMemberLeft + (*ApprovedEmailDomainAdded)(nil), // 126: brent.ApprovedEmailDomainAdded + (*ApprovedEmailDomainVerified)(nil), // 127: brent.ApprovedEmailDomainVerified + (*ApprovedEmailDomainDeleted)(nil), // 128: brent.ApprovedEmailDomainDeleted + (*MCPGrantWorkspaceBindingChanged)(nil), // 129: brent.MCPGrantWorkspaceBindingChanged + (*IdentityCreated)(nil), // 130: brent.IdentityCreated + (*IdentityDeleted)(nil), // 131: brent.IdentityDeleted + (*BindingCreated)(nil), // 132: brent.BindingCreated + (*BindingUpdated)(nil), // 133: brent.BindingUpdated + (*BindingDeleted)(nil), // 134: brent.BindingDeleted + (*CredentialConnected)(nil), // 135: brent.CredentialConnected + (*CredentialRevoked)(nil), // 136: brent.CredentialRevoked + (*WorkspaceLLMCredentialConnected)(nil), // 137: brent.WorkspaceLLMCredentialConnected + (*WorkspaceLLMCredentialRevoked)(nil), // 138: brent.WorkspaceLLMCredentialRevoked + (*ReviewDriveByStarted)(nil), // 139: brent.ReviewDriveByStarted + (*OtherEvent)(nil), // 140: brent.OtherEvent + (*UnknownStoredPayload)(nil), // 141: brent.UnknownStoredPayload + (*PullRequestOpened)(nil), // 142: brent.PullRequestOpened + (*PullRequestSynchronized)(nil), // 143: brent.PullRequestSynchronized + (*PullRequestUpdated)(nil), // 144: brent.PullRequestUpdated + (*PullRequestClosed)(nil), // 145: brent.PullRequestClosed + (*PullRequestLinkedToPlan)(nil), // 146: brent.PullRequestLinkedToPlan + (*PullRequestUnlinkedFromPlan)(nil), // 147: brent.PullRequestUnlinkedFromPlan + (*PullRequestLinkedToAgentRun)(nil), // 148: brent.PullRequestLinkedToAgentRun + (*PullRequestReviewRequested)(nil), // 149: brent.PullRequestReviewRequested + (*PullRequestApproved)(nil), // 150: brent.PullRequestApproved + (*PullRequestChangesRequested)(nil), // 151: brent.PullRequestChangesRequested + (*PullRequestReviewDismissed)(nil), // 152: brent.PullRequestReviewDismissed + (*PullRequestCommentCreated)(nil), // 153: brent.PullRequestCommentCreated + (*DeviationAnalysisStarted)(nil), // 154: brent.DeviationAnalysisStarted + (*FindingSummary)(nil), // 155: brent.FindingSummary + (*DeviationAnalysisCompleted)(nil), // 156: brent.DeviationAnalysisCompleted + (*DeviationAnalysisFailed)(nil), // 157: brent.DeviationAnalysisFailed + (*DeviationFindingRecorded)(nil), // 158: brent.DeviationFindingRecorded + (*DeviationFindingUpdated)(nil), // 159: brent.DeviationFindingUpdated + (*DeviationFindingResolved)(nil), // 160: brent.DeviationFindingResolved + (*DeviationFindingAcknowledged)(nil), // 161: brent.DeviationFindingAcknowledged + (*DeviationFindingAcknowledgementCleared)(nil), // 162: brent.DeviationFindingAcknowledgementCleared + (*AgentRunDispatched)(nil), // 163: brent.AgentRunDispatched + (*AgentRunStarted)(nil), // 164: brent.AgentRunStarted + (*AgentRunPullRequestMatched)(nil), // 165: brent.AgentRunPullRequestMatched + (*AgentRunFlaggedNeedsYou)(nil), // 166: brent.AgentRunFlaggedNeedsYou + (*AgentRunGatePassed)(nil), // 167: brent.AgentRunGatePassed + (*AgentRunMerged)(nil), // 168: brent.AgentRunMerged + (*AgentRunCancelled)(nil), // 169: brent.AgentRunCancelled + (*AgentRunDeclined)(nil), // 170: brent.AgentRunDeclined + (*AgentRunAnnotated)(nil), // 171: brent.AgentRunAnnotated + (*WorkflowIngested)(nil), // 172: brent.WorkflowIngested + (*WorkflowRunQueued)(nil), // 173: brent.WorkflowRunQueued + (*WorkflowRunStarted)(nil), // 174: brent.WorkflowRunStarted + (*WorkflowRunCompleted)(nil), // 175: brent.WorkflowRunCompleted + (*WorkflowRunFailed)(nil), // 176: brent.WorkflowRunFailed + (*WorkflowRunCancelled)(nil), // 177: brent.WorkflowRunCancelled + (*SlackWebhook)(nil), // 178: brent.SlackWebhook + (*LinearWebhook)(nil), // 179: brent.LinearWebhook + (*ComposioTriggerMessage)(nil), // 180: brent.ComposioTriggerMessage + (*GitHubWebhook)(nil), // 181: brent.GitHubWebhook + (*GitLabWebhook)(nil), // 182: brent.GitLabWebhook + (*BitbucketWebhook)(nil), // 183: brent.BitbucketWebhook + (*EmbeddedJsonCELFixture)(nil), // 184: brent.EmbeddedJsonCELFixture + (*SlackMentionReceived)(nil), // 185: brent.SlackMentionReceived + (*OrganisationAppInstallationUpserted)(nil), // 186: brent.OrganisationAppInstallationUpserted + (*OrganisationAppInstallationDeleted)(nil), // 187: brent.OrganisationAppInstallationDeleted + (*SlackReactionAdded)(nil), // 188: brent.SlackReactionAdded + (*ListWorkflowsRequest)(nil), // 189: brent.ListWorkflowsRequest + (*ListWorkflowsResponse)(nil), // 190: brent.ListWorkflowsResponse + (*WorkflowSummary)(nil), // 191: brent.WorkflowSummary + (*GetWorkflowRequest)(nil), // 192: brent.GetWorkflowRequest + (*GetWorkflowResponse)(nil), // 193: brent.GetWorkflowResponse + (*Workflow)(nil), // 194: brent.Workflow + (*ListWorkflowRunsRequest)(nil), // 195: brent.ListWorkflowRunsRequest + (*ListWorkflowRunsResponse)(nil), // 196: brent.ListWorkflowRunsResponse + (*WorkflowRunSummary)(nil), // 197: brent.WorkflowRunSummary + (*GetWorkflowRunRequest)(nil), // 198: brent.GetWorkflowRunRequest + (*GetWorkflowRunThreadHistoryRequest)(nil), // 199: brent.GetWorkflowRunThreadHistoryRequest + (*WorkflowRunThreadSegment)(nil), // 200: brent.WorkflowRunThreadSegment + (*GetWorkflowRunThreadHistoryResponse)(nil), // 201: brent.GetWorkflowRunThreadHistoryResponse + (*GetWorkflowRunResponse)(nil), // 202: brent.GetWorkflowRunResponse + (*WorkflowRun)(nil), // 203: brent.WorkflowRun + (*GetPrincipalStatusRequest)(nil), // 204: brent.GetPrincipalStatusRequest + (*GetPrincipalStatusResponse)(nil), // 205: brent.GetPrincipalStatusResponse + (*GetIntegrationConnectURLRequest)(nil), // 206: brent.GetIntegrationConnectURLRequest + (*GetIntegrationConnectURLResponse)(nil), // 207: brent.GetIntegrationConnectURLResponse + (*DisconnectIntegrationRequest)(nil), // 208: brent.DisconnectIntegrationRequest + (*DisconnectIntegrationResponse)(nil), // 209: brent.DisconnectIntegrationResponse + (*ConnectByoHttpMcpRequest)(nil), // 210: brent.ConnectByoHttpMcpRequest + (*ConnectByoHttpMcpResponse)(nil), // 211: brent.ConnectByoHttpMcpResponse + (*GetGitLabConnectionRequest)(nil), // 212: brent.GetGitLabConnectionRequest + (*GetGitLabConnectionResponse)(nil), // 213: brent.GetGitLabConnectionResponse + (*ConnectGitLabRequest)(nil), // 214: brent.ConnectGitLabRequest + (*ConnectGitLabResponse)(nil), // 215: brent.ConnectGitLabResponse + (*SaveGitLabSigningTokenRequest)(nil), // 216: brent.SaveGitLabSigningTokenRequest + (*SaveGitLabSigningTokenResponse)(nil), // 217: brent.SaveGitLabSigningTokenResponse + (*GitHubPendingInstall)(nil), // 218: brent.GitHubPendingInstall + (*IntegrationStatus)(nil), // 219: brent.IntegrationStatus + (*GetWorkspaceIntegrationRolesRequest)(nil), // 220: brent.GetWorkspaceIntegrationRolesRequest + (*GetWorkspaceIntegrationRolesResponse)(nil), // 221: brent.GetWorkspaceIntegrationRolesResponse + (*SetWorkspaceIntegrationRolesRequest)(nil), // 222: brent.SetWorkspaceIntegrationRolesRequest + (*SetWorkspaceIntegrationRolesResponse)(nil), // 223: brent.SetWorkspaceIntegrationRolesResponse + (*Principal)(nil), // 224: brent.Principal + (*Workspace)(nil), // 225: brent.Workspace + (*CreateWorkspaceRequest)(nil), // 226: brent.CreateWorkspaceRequest + (*CreateWorkspaceResponse)(nil), // 227: brent.CreateWorkspaceResponse + (*ListMyWorkspacesRequest)(nil), // 228: brent.ListMyWorkspacesRequest + (*ListMyWorkspacesResponse)(nil), // 229: brent.ListMyWorkspacesResponse + (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 230: brent.DiscoverLoginRecoveryCandidatesRequest + (*LoginRecoveryCandidate)(nil), // 231: brent.LoginRecoveryCandidate + (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 232: brent.DiscoverLoginRecoveryCandidatesResponse + (*RenameWorkspaceRequest)(nil), // 233: brent.RenameWorkspaceRequest + (*RenameWorkspaceResponse)(nil), // 234: brent.RenameWorkspaceResponse + (*DeleteWorkspaceRequest)(nil), // 235: brent.DeleteWorkspaceRequest + (*DeleteWorkspaceResponse)(nil), // 236: brent.DeleteWorkspaceResponse + (*ListJoinableWorkspacesRequest)(nil), // 237: brent.ListJoinableWorkspacesRequest + (*ListJoinableWorkspacesResponse)(nil), // 238: brent.ListJoinableWorkspacesResponse + (*JoinableWorkspace)(nil), // 239: brent.JoinableWorkspace + (*JoinableWorkspaceMember)(nil), // 240: brent.JoinableWorkspaceMember + (*JoinWorkspaceRequest)(nil), // 241: brent.JoinWorkspaceRequest + (*JoinWorkspaceResponse)(nil), // 242: brent.JoinWorkspaceResponse + (*ApprovedEmailDomain)(nil), // 243: brent.ApprovedEmailDomain + (*ListApprovedEmailDomainsRequest)(nil), // 244: brent.ListApprovedEmailDomainsRequest + (*ListApprovedEmailDomainsResponse)(nil), // 245: brent.ListApprovedEmailDomainsResponse + (*AddApprovedEmailDomainRequest)(nil), // 246: brent.AddApprovedEmailDomainRequest + (*AddApprovedEmailDomainResponse)(nil), // 247: brent.AddApprovedEmailDomainResponse + (*VerifyApprovedEmailDomainRequest)(nil), // 248: brent.VerifyApprovedEmailDomainRequest + (*VerifyApprovedEmailDomainResponse)(nil), // 249: brent.VerifyApprovedEmailDomainResponse + (*ResendApprovedEmailDomainCodeRequest)(nil), // 250: brent.ResendApprovedEmailDomainCodeRequest + (*ResendApprovedEmailDomainCodeResponse)(nil), // 251: brent.ResendApprovedEmailDomainCodeResponse + (*ResendVerificationEmailRequest)(nil), // 252: brent.ResendVerificationEmailRequest + (*ResendVerificationEmailResponse)(nil), // 253: brent.ResendVerificationEmailResponse + (*DeleteApprovedEmailDomainRequest)(nil), // 254: brent.DeleteApprovedEmailDomainRequest + (*DeleteApprovedEmailDomainResponse)(nil), // 255: brent.DeleteApprovedEmailDomainResponse + (*WorkspaceLLMCredentialStatus)(nil), // 256: brent.WorkspaceLLMCredentialStatus + (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 257: brent.GetWorkspaceLLMCredentialStatusRequest + (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 258: brent.GetWorkspaceLLMCredentialStatusResponse + (*SetWorkspaceLLMCredentialRequest)(nil), // 259: brent.SetWorkspaceLLMCredentialRequest + (*SetWorkspaceLLMCredentialResponse)(nil), // 260: brent.SetWorkspaceLLMCredentialResponse + (*DeleteWorkspaceLLMCredentialRequest)(nil), // 261: brent.DeleteWorkspaceLLMCredentialRequest + (*DeleteWorkspaceLLMCredentialResponse)(nil), // 262: brent.DeleteWorkspaceLLMCredentialResponse + (*MyCursorCredentialStatus)(nil), // 263: brent.MyCursorCredentialStatus + (*GetMyCursorCredentialStatusRequest)(nil), // 264: brent.GetMyCursorCredentialStatusRequest + (*GetMyCursorCredentialStatusResponse)(nil), // 265: brent.GetMyCursorCredentialStatusResponse + (*SetMyCursorCredentialRequest)(nil), // 266: brent.SetMyCursorCredentialRequest + (*SetMyCursorCredentialResponse)(nil), // 267: brent.SetMyCursorCredentialResponse + (*DeleteMyCursorCredentialRequest)(nil), // 268: brent.DeleteMyCursorCredentialRequest + (*DeleteMyCursorCredentialResponse)(nil), // 269: brent.DeleteMyCursorCredentialResponse + (*UpdateWorkspaceBrandingRequest)(nil), // 270: brent.UpdateWorkspaceBrandingRequest + (*UpdateWorkspaceBrandingResponse)(nil), // 271: brent.UpdateWorkspaceBrandingResponse + (*CompleteWorkspaceOnboardingRequest)(nil), // 272: brent.CompleteWorkspaceOnboardingRequest + (*CompleteWorkspaceOnboardingResponse)(nil), // 273: brent.CompleteWorkspaceOnboardingResponse + (*CreateInvitationRequest)(nil), // 274: brent.CreateInvitationRequest + (*CreateInvitationResponse)(nil), // 275: brent.CreateInvitationResponse + (*CreateInvitationsRequest)(nil), // 276: brent.CreateInvitationsRequest + (*InvitationResult)(nil), // 277: brent.InvitationResult + (*CreateInvitationsResponse)(nil), // 278: brent.CreateInvitationsResponse + (*AcceptInvitationRequest)(nil), // 279: brent.AcceptInvitationRequest + (*AcceptInvitationResponse)(nil), // 280: brent.AcceptInvitationResponse + (*ListWorkspaceMembersRequest)(nil), // 281: brent.ListWorkspaceMembersRequest + (*ListWorkspaceMembersResponse)(nil), // 282: brent.ListWorkspaceMembersResponse + (*WorkspaceMember)(nil), // 283: brent.WorkspaceMember + (*ResendInvitationRequest)(nil), // 284: brent.ResendInvitationRequest + (*ResendInvitationResponse)(nil), // 285: brent.ResendInvitationResponse + (*RevokeInvitationRequest)(nil), // 286: brent.RevokeInvitationRequest + (*RevokeInvitationResponse)(nil), // 287: brent.RevokeInvitationResponse + (*RemoveWorkspaceMemberRequest)(nil), // 288: brent.RemoveWorkspaceMemberRequest + (*RemoveWorkspaceMemberResponse)(nil), // 289: brent.RemoveWorkspaceMemberResponse + (*UpdateWorkspaceMemberRoleRequest)(nil), // 290: brent.UpdateWorkspaceMemberRoleRequest + (*UpdateWorkspaceMemberRoleResponse)(nil), // 291: brent.UpdateWorkspaceMemberRoleResponse + (*GetInvitationRequest)(nil), // 292: brent.GetInvitationRequest + (*GetInvitationResponse)(nil), // 293: brent.GetInvitationResponse + (*UpsertMyVerifiedBindingRequest)(nil), // 294: brent.UpsertMyVerifiedBindingRequest + (*UpsertMyVerifiedBindingResponse)(nil), // 295: brent.UpsertMyVerifiedBindingResponse + (*UpdateMyDisplayNameRequest)(nil), // 296: brent.UpdateMyDisplayNameRequest + (*UpdateMyDisplayNameResponse)(nil), // 297: brent.UpdateMyDisplayNameResponse + (*ListMyBindingsRequest)(nil), // 298: brent.ListMyBindingsRequest + (*ListMyBindingsResponse)(nil), // 299: brent.ListMyBindingsResponse + (*NotificationPreferences)(nil), // 300: brent.NotificationPreferences + (*ChannelPreferences)(nil), // 301: brent.ChannelPreferences + (*GetMyNotificationPreferencesRequest)(nil), // 302: brent.GetMyNotificationPreferencesRequest + (*GetMyNotificationPreferencesResponse)(nil), // 303: brent.GetMyNotificationPreferencesResponse + (*UpdateMyNotificationPreferencesRequest)(nil), // 304: brent.UpdateMyNotificationPreferencesRequest + (*UpdateMyNotificationPreferencesResponse)(nil), // 305: brent.UpdateMyNotificationPreferencesResponse + (*RegisterMyPushSubscriptionRequest)(nil), // 306: brent.RegisterMyPushSubscriptionRequest + (*RegisterMyPushSubscriptionResponse)(nil), // 307: brent.RegisterMyPushSubscriptionResponse + (*GetWebPushPublicKeyRequest)(nil), // 308: brent.GetWebPushPublicKeyRequest + (*GetWebPushPublicKeyResponse)(nil), // 309: brent.GetWebPushPublicKeyResponse + (*Binding)(nil), // 310: brent.Binding + (*RedFindingKindsPatch)(nil), // 311: brent.RedFindingKindsPatch + (*GetBrentSettingsRequest)(nil), // 312: brent.GetBrentSettingsRequest + (*GetBrentSettingsResponse)(nil), // 313: brent.GetBrentSettingsResponse + (*UpdateBrentSettingsRequest)(nil), // 314: brent.UpdateBrentSettingsRequest + (*UpdateBrentSettingsResponse)(nil), // 315: brent.UpdateBrentSettingsResponse + (*AdminGetAccountBrentSettingsRequest)(nil), // 316: brent.AdminGetAccountBrentSettingsRequest + (*AdminUpdateAccountBrentSettingsRequest)(nil), // 317: brent.AdminUpdateAccountBrentSettingsRequest + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 318: brent.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 319: brent.AdminGetAccountLLMCredentialStatusResponse + (*ListIntegrationCatalogueRequest)(nil), // 320: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 321: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 322: brent.IntegrationCatalogueEntry + nil, // 323: brent.PlanUpdated.PreviousEntry + nil, // 324: brent.PlanUpdated.AfterEntry + nil, // 325: brent.PrincipalUpdated.PreviousEntry + nil, // 326: brent.PrincipalUpdated.AfterEntry + nil, // 327: brent.BindingUpdated.PreviousEntry + nil, // 328: brent.BindingUpdated.AfterEntry + nil, // 329: brent.OtherEvent.FieldsEntry + nil, // 330: brent.PullRequestUpdated.PreviousEntry + nil, // 331: brent.PullRequestUpdated.AfterEntry + nil, // 332: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 333: brent.DeviationFindingUpdated.PreviousEntry + nil, // 334: brent.DeviationFindingUpdated.AfterEntry + nil, // 335: brent.NotificationPreferences.PreferencesEntry + nil, // 336: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 337: google.protobuf.Timestamp + (*structpb.Value)(nil), // 338: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 339: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 340: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ - 21, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary - 22, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest - 23, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 336, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp - 22, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest - 18, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow - 19, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 336, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 336, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 336, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 336, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 336, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 336, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 336, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp - 24, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 336, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp - 28, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary + 22, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary + 23, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest + 24, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary + 337, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 23, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest + 19, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow + 20, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning + 337, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 337, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 337, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 337, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 337, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 337, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 337, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 25, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding + 337, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 29, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 336, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 336, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp - 104, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 336, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 336, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp - 104, // 23: brent.ListEventsResponse.events:type_name -> brent.Event - 40, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest - 40, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 336, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 336, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp - 42, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep - 43, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep - 44, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep - 45, // 31: brent.ExecuteWorkflowResponse.completion:type_name -> brent.CompletionStep - 46, // 32: brent.ExecuteWorkflowResponse.error:type_name -> brent.ErrorStep - 47, // 33: brent.ExecuteWorkflowResponse.status:type_name -> brent.StatusStep - 48, // 34: brent.ExecuteWorkflowResponse.run_started:type_name -> brent.RunStartedStep - 49, // 35: brent.ExecuteWorkflowResponse.qa_ready:type_name -> brent.QAReadyStep - 50, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep - 51, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep - 55, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 336, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 336, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 336, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 336, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 58, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan - 83, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary - 21, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 336, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 336, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 336, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 223, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal - 223, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal - 63, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity - 309, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 336, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 336, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 309, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding - 223, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal - 63, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity - 78, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 336, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp - 83, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 336, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 336, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp - 86, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review - 55, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 336, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 336, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 336, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 336, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp - 87, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 336, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 336, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp - 90, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary - 93, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 336, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp - 96, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 336, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 336, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 336, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 336, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 337, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 337, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 105, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event + 337, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 337, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 105, // 23: brent.ListEventsResponse.events:type_name -> brent.Event + 41, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest + 41, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest + 337, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 337, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 43, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep + 44, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep + 45, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep + 46, // 31: brent.ExecuteWorkflowResponse.completion:type_name -> brent.CompletionStep + 47, // 32: brent.ExecuteWorkflowResponse.error:type_name -> brent.ErrorStep + 48, // 33: brent.ExecuteWorkflowResponse.status:type_name -> brent.StatusStep + 49, // 34: brent.ExecuteWorkflowResponse.run_started:type_name -> brent.RunStartedStep + 50, // 35: brent.ExecuteWorkflowResponse.qa_ready:type_name -> brent.QAReadyStep + 51, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep + 52, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep + 56, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary + 337, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 337, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 337, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 337, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 59, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan + 84, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary + 22, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary + 337, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 337, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 337, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 224, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal + 224, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal + 64, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity + 310, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding + 337, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 337, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 310, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding + 224, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal + 64, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity + 79, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection + 337, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 84, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary + 337, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 337, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 87, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review + 56, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary + 337, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 337, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 337, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 337, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 88, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary + 337, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 337, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 91, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary + 94, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding + 337, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 97, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo + 337, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 337, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 337, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 337, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 336, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 336, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 336, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 336, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp - 101, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 336, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 336, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 336, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 336, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp - 102, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact + 337, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 337, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 337, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 337, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 102, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline + 337, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 337, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 337, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 337, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 103, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 336, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 336, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 336, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp - 105, // 95: brent.Event.actor:type_name -> brent.Actor - 106, // 96: brent.Event.object:type_name -> brent.ObjectReference - 336, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp - 107, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated - 108, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated - 109, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted - 112, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested - 113, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted - 139, // 103: brent.Event.other:type_name -> brent.OtherEvent - 180, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook - 184, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived - 187, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded - 141, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened - 142, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized - 143, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated - 144, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed - 145, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan - 146, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan - 185, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted - 186, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted - 153, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted - 155, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted - 156, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed - 172, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued - 173, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted - 174, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted - 175, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed - 176, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled - 114, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer - 116, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated - 117, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated - 118, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned - 129, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated - 130, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted - 131, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated - 132, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated - 133, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted - 138, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted - 177, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook - 110, // 134: brent.Event.review_deleted:type_name -> brent.ReviewDeleted - 111, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored - 178, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook - 152, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated - 157, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded - 158, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated - 159, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved - 162, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched - 163, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted - 164, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched - 165, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou - 167, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged - 169, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined - 168, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled - 166, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed - 147, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun - 171, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested - 148, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested - 149, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved - 150, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested - 151, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed - 134, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected - 135, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked - 170, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated - 119, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated - 128, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged - 120, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted - 121, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed - 122, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted - 125, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded - 126, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified - 127, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted - 181, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook - 136, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected - 137, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked - 182, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook - 123, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined - 124, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft - 179, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage - 160, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged - 161, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared - 115, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided - 140, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 322, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 323, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 336, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 324, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 325, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry - 6, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 326, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 327, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 328, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 329, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 330, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 336, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 331, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 336, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp - 154, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 336, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 336, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 332, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 333, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 336, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 336, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 336, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 336, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 336, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 336, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 336, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 336, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp - 190, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 336, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 336, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp - 193, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 336, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 336, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp - 196, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 336, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 336, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 336, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 336, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp - 196, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary - 41, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse - 199, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment - 202, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun - 190, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 336, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 336, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 336, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 336, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp - 104, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event + 337, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 337, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 337, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 106, // 95: brent.Event.actor:type_name -> brent.Actor + 107, // 96: brent.Event.object:type_name -> brent.ObjectReference + 337, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 108, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated + 109, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated + 110, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted + 113, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested + 114, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted + 140, // 103: brent.Event.other:type_name -> brent.OtherEvent + 181, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook + 185, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived + 188, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded + 142, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened + 143, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized + 144, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated + 145, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed + 146, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan + 147, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan + 186, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted + 187, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted + 154, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted + 156, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted + 157, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed + 173, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued + 174, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted + 175, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted + 176, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed + 177, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled + 115, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer + 117, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated + 118, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated + 119, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned + 130, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated + 131, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted + 132, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated + 133, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated + 134, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted + 139, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted + 178, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook + 111, // 134: brent.Event.review_deleted:type_name -> brent.ReviewDeleted + 112, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored + 179, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook + 153, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated + 158, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded + 159, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated + 160, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved + 163, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched + 164, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted + 165, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched + 166, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou + 168, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged + 170, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined + 169, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled + 167, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed + 148, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun + 172, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested + 149, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested + 150, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved + 151, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested + 152, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed + 135, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected + 136, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked + 171, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated + 120, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated + 129, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged + 121, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted + 122, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed + 123, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted + 126, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded + 127, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified + 128, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted + 182, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook + 137, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected + 138, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked + 183, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook + 124, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined + 125, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft + 180, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage + 161, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged + 162, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared + 116, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided + 141, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload + 323, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 324, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 337, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 325, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 326, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 7, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource + 327, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 328, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 329, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 330, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 331, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 337, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 332, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 337, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 155, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary + 337, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 337, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 333, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 334, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 337, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 337, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 337, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 337, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 337, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 337, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 337, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 337, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 191, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary + 337, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 337, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 194, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow + 337, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 337, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 197, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary + 337, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 337, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 337, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 337, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 197, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary + 42, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse + 200, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment + 203, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun + 191, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary + 337, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 337, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 337, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 337, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 105, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState - 223, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal - 218, // 227: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus + 224, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal + 219, // 227: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 336, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 336, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 337, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 337, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider - 217, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 336, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp - 3, // 236: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 3, // 239: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider - 3, // 240: brent.SetWorkspaceIntegrationRolesRequest.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 241: brent.SetWorkspaceIntegrationRolesRequest.messaging_provider:type_name -> brent.IntegrationProvider - 3, // 242: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 336, // 245: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 336, // 246: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp - 224, // 247: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace - 224, // 248: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace - 5, // 249: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider - 5, // 250: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider - 230, // 251: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate - 224, // 252: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace - 238, // 253: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 336, // 254: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp - 239, // 255: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember - 6, // 256: brent.JoinableWorkspace.source:type_name -> brent.JoinSource - 224, // 257: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 336, // 258: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp - 242, // 259: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain - 242, // 260: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 242, // 261: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 336, // 262: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 336, // 263: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp - 255, // 264: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 255, // 265: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 336, // 266: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 262, // 267: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus - 262, // 268: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus - 224, // 269: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace - 224, // 270: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 336, // 271: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 8, // 272: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus - 276, // 273: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult - 224, // 274: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace - 282, // 275: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember - 9, // 276: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 336, // 277: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 7, // 278: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 309, // 279: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding - 223, // 280: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 309, // 281: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 334, // 282: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 335, // 283: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry - 299, // 284: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 299, // 285: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences - 299, // 286: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 336, // 287: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 336, // 288: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 336, // 289: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 310, // 290: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 336, // 291: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 310, // 292: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 255, // 293: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 321, // 294: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry - 10, // 295: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource - 3, // 296: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 336, // 297: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 337, // 298: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 337, // 299: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 337, // 300: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 337, // 301: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 337, // 302: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 337, // 303: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 337, // 304: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 337, // 305: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 337, // 306: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 337, // 307: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 300, // 308: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 338, // 309: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 36, // 310: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 38, // 311: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 203, // 312: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 205, // 313: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 207, // 314: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 209, // 315: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 211, // 316: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 213, // 317: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 215, // 318: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 293, // 319: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 297, // 320: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 301, // 321: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 303, // 322: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 305, // 323: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest - 307, // 324: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest - 295, // 325: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 311, // 326: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 313, // 327: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 319, // 328: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 225, // 329: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 227, // 330: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 229, // 331: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 232, // 332: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 269, // 333: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 271, // 334: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 234, // 335: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 236, // 336: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 240, // 337: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 273, // 338: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 275, // 339: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 278, // 340: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 280, // 341: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 283, // 342: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 285, // 343: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 287, // 344: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 289, // 345: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 243, // 346: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 245, // 347: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 247, // 348: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 249, // 349: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 253, // 350: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 256, // 351: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 258, // 352: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 260, // 353: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 263, // 354: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 265, // 355: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 267, // 356: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 219, // 357: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 221, // 358: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 251, // 359: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 291, // 360: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 25, // 361: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 26, // 362: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 29, // 363: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 30, // 364: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 32, // 365: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 34, // 366: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 52, // 367: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 53, // 368: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 56, // 369: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 81, // 370: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 84, // 371: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 339, // 372: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 89, // 373: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 92, // 374: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 95, // 375: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 98, // 376: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 100, // 377: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 315, // 378: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 316, // 379: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 317, // 380: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 188, // 381: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 191, // 382: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 194, // 383: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 197, // 384: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 198, // 385: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 11, // 386: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 13, // 387: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 15, // 388: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 59, // 389: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 61, // 390: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 64, // 391: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 66, // 392: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 68, // 393: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 70, // 394: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 72, // 395: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 74, // 396: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 76, // 397: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 79, // 398: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 17, // 399: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 37, // 400: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 39, // 401: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 204, // 402: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 206, // 403: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 208, // 404: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 210, // 405: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 212, // 406: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 214, // 407: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 216, // 408: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 294, // 409: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 298, // 410: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 302, // 411: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 304, // 412: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 306, // 413: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse - 308, // 414: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse - 296, // 415: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 312, // 416: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 314, // 417: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 320, // 418: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 226, // 419: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 228, // 420: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 231, // 421: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 233, // 422: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 270, // 423: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 272, // 424: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 235, // 425: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 237, // 426: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 241, // 427: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 274, // 428: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 277, // 429: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 279, // 430: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 281, // 431: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 284, // 432: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 286, // 433: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 288, // 434: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 290, // 435: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 244, // 436: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 246, // 437: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 248, // 438: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 250, // 439: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 254, // 440: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 257, // 441: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 259, // 442: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 261, // 443: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 264, // 444: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 266, // 445: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 268, // 446: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 220, // 447: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 222, // 448: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 252, // 449: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 292, // 450: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 41, // 451: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 27, // 452: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 41, // 453: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 31, // 454: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 33, // 455: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 35, // 456: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 41, // 457: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 54, // 458: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 57, // 459: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 82, // 460: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 85, // 461: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 88, // 462: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 91, // 463: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 94, // 464: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 97, // 465: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 99, // 466: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 103, // 467: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 312, // 468: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 314, // 469: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 318, // 470: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 189, // 471: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 192, // 472: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 195, // 473: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 201, // 474: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 200, // 475: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 12, // 476: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 14, // 477: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 16, // 478: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 60, // 479: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 62, // 480: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 65, // 481: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 67, // 482: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 69, // 483: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 71, // 484: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 73, // 485: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 75, // 486: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 77, // 487: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 80, // 488: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 20, // 489: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 400, // [400:490] is the sub-list for method output_type - 310, // [310:400] is the sub-list for method input_type - 310, // [310:310] is the sub-list for extension type_name - 309, // [309:310] is the sub-list for extension extendee - 0, // [0:309] is the sub-list for field type_name + 218, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall + 337, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 5, // 236: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus + 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 239: brent.GetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider + 3, // 240: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider + 3, // 241: brent.SetWorkspaceIntegrationRolesRequest.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 242: brent.SetWorkspaceIntegrationRolesRequest.messaging_provider:type_name -> brent.IntegrationProvider + 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 245: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider + 337, // 246: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 337, // 247: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 225, // 248: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace + 225, // 249: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace + 6, // 250: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider + 6, // 251: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider + 231, // 252: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate + 225, // 253: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace + 239, // 254: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace + 337, // 255: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 240, // 256: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember + 7, // 257: brent.JoinableWorkspace.source:type_name -> brent.JoinSource + 225, // 258: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace + 337, // 259: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 243, // 260: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain + 243, // 261: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 243, // 262: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 337, // 263: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 337, // 264: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 256, // 265: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 256, // 266: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 337, // 267: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 263, // 268: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus + 263, // 269: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus + 225, // 270: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace + 225, // 271: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace + 337, // 272: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 9, // 273: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus + 277, // 274: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult + 225, // 275: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace + 283, // 276: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember + 10, // 277: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState + 337, // 278: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 8, // 279: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus + 310, // 280: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 224, // 281: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal + 310, // 282: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 335, // 283: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 336, // 284: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 300, // 285: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 300, // 286: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences + 300, // 287: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 337, // 288: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 337, // 289: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 337, // 290: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 311, // 291: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 337, // 292: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 311, // 293: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 256, // 294: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 322, // 295: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 11, // 296: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource + 3, // 297: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider + 337, // 298: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 338, // 299: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 338, // 300: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 338, // 301: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 338, // 302: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 338, // 303: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 338, // 304: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 338, // 305: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 338, // 306: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 338, // 307: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 338, // 308: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 301, // 309: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 339, // 310: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 37, // 311: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 39, // 312: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 204, // 313: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 206, // 314: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 208, // 315: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 210, // 316: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 212, // 317: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 214, // 318: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 216, // 319: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 294, // 320: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 298, // 321: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 302, // 322: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 304, // 323: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 306, // 324: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest + 308, // 325: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest + 296, // 326: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 312, // 327: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 314, // 328: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 320, // 329: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 226, // 330: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 228, // 331: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 230, // 332: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 233, // 333: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 270, // 334: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 272, // 335: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 235, // 336: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 237, // 337: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 241, // 338: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 274, // 339: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 276, // 340: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 279, // 341: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 281, // 342: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 284, // 343: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 286, // 344: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 288, // 345: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 290, // 346: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 244, // 347: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 246, // 348: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 248, // 349: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 250, // 350: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 254, // 351: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 257, // 352: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 259, // 353: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 261, // 354: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 264, // 355: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 266, // 356: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 268, // 357: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 220, // 358: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 222, // 359: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 252, // 360: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 292, // 361: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 26, // 362: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 27, // 363: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 30, // 364: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 31, // 365: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 33, // 366: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 35, // 367: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 53, // 368: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 54, // 369: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 57, // 370: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 82, // 371: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 85, // 372: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 340, // 373: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 90, // 374: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 93, // 375: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 96, // 376: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 99, // 377: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 101, // 378: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 316, // 379: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 317, // 380: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 318, // 381: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 189, // 382: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 192, // 383: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 195, // 384: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 198, // 385: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 199, // 386: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 12, // 387: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 14, // 388: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 16, // 389: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 60, // 390: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 62, // 391: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 65, // 392: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 67, // 393: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 69, // 394: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 71, // 395: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 73, // 396: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 75, // 397: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 77, // 398: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 80, // 399: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 18, // 400: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 38, // 401: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 40, // 402: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 205, // 403: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 207, // 404: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 209, // 405: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 211, // 406: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 213, // 407: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 215, // 408: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 217, // 409: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 295, // 410: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 299, // 411: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 303, // 412: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 305, // 413: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 307, // 414: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse + 309, // 415: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse + 297, // 416: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 313, // 417: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 418: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 321, // 419: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 227, // 420: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 229, // 421: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 232, // 422: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 234, // 423: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 271, // 424: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 273, // 425: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 236, // 426: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 238, // 427: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 242, // 428: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 275, // 429: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 278, // 430: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 280, // 431: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 282, // 432: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 285, // 433: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 287, // 434: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 289, // 435: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 291, // 436: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 245, // 437: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 247, // 438: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 249, // 439: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 251, // 440: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 255, // 441: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 258, // 442: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 260, // 443: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 262, // 444: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 265, // 445: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 267, // 446: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 269, // 447: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 221, // 448: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 223, // 449: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 253, // 450: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 293, // 451: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 42, // 452: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 28, // 453: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 42, // 454: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 32, // 455: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 34, // 456: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 36, // 457: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 42, // 458: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 55, // 459: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 58, // 460: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 83, // 461: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 86, // 462: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 89, // 463: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 92, // 464: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 95, // 465: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 98, // 466: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 100, // 467: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 104, // 468: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 313, // 469: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 470: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 319, // 471: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 190, // 472: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 193, // 473: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 196, // 474: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 202, // 475: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 201, // 476: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 13, // 477: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 15, // 478: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 17, // 479: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 61, // 480: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 63, // 481: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 66, // 482: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 68, // 483: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 70, // 484: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 72, // 485: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 74, // 486: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 76, // 487: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 78, // 488: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 81, // 489: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 21, // 490: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 401, // [401:491] is the sub-list for method output_type + 311, // [311:401] is the sub-list for method input_type + 311, // [311:311] is the sub-list for extension type_name + 310, // [310:311] is the sub-list for extension extendee + 0, // [0:310] is the sub-list for field type_name } func init() { file_brent_proto_init() } @@ -26840,7 +26948,7 @@ func file_brent_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), - NumEnums: 11, + NumEnums: 12, NumMessages: 325, NumExtensions: 1, NumServices: 3, diff --git a/go/sdp-go/brent_validation_test.go b/go/sdp-go/brent_validation_test.go new file mode 100644 index 00000000..3fb33e3d --- /dev/null +++ b/go/sdp-go/brent_validation_test.go @@ -0,0 +1,95 @@ +package sdp + +import ( + "strings" + "testing" + + "buf.build/go/protovalidate" +) + +// Brent-only IntegrationStatus validation lives here (brent* basename) so +// Copybara's go/sdp-go/brent* exclusion keeps it out of public repos that +// receive go/sdp-go/** without brent.pb.go. + +func TestValidateIntegrationStatus(t *testing.T) { + t.Parallel() + + validConnected := &IntegrationStatus{ + Provider: IntegrationProvider_INTEGRATION_PROVIDER_GITHUB, + OrgInstalled: true, + Status: IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_CONNECTED, + Summary: "Connected", + Detail: "This integration is connected and ready to use.", + } + validNotConnected := &IntegrationStatus{ + Provider: IntegrationProvider_INTEGRATION_PROVIDER_GITLAB, + OrgInstalled: false, + Status: IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED, + Summary: "Not connected", + Detail: "This integration is not connected for this workspace.", + } + + t.Run("connected defaults pass", func(t *testing.T) { + t.Parallel() + if err := protovalidate.Validate(validConnected); err != nil { + t.Errorf("expected no error, got %v", err) + } + }) + t.Run("not connected defaults pass", func(t *testing.T) { + t.Parallel() + if err := protovalidate.Validate(validNotConnected); err != nil { + t.Errorf("expected no error, got %v", err) + } + }) + t.Run("summary length 33 fails", func(t *testing.T) { + t.Parallel() + status := cloneIntegrationStatus(validConnected) + status.Summary = strings.Repeat("a", 33) + if err := protovalidate.Validate(status); err == nil { + t.Error("expected error for summary length 33, got nil") + } + }) + t.Run("detail length 161 fails", func(t *testing.T) { + t.Parallel() + status := cloneIntegrationStatus(validConnected) + status.Detail = strings.Repeat("b", 161) + if err := protovalidate.Validate(status); err == nil { + t.Error("expected error for detail length 161, got nil") + } + }) + t.Run("empty summary fails", func(t *testing.T) { + t.Parallel() + status := cloneIntegrationStatus(validConnected) + status.Summary = "" + if err := protovalidate.Validate(status); err == nil { + t.Error("expected error for empty summary, got nil") + } + }) + t.Run("empty detail fails", func(t *testing.T) { + t.Parallel() + status := cloneIntegrationStatus(validConnected) + status.Detail = "" + if err := protovalidate.Validate(status); err == nil { + t.Error("expected error for empty detail, got nil") + } + }) + t.Run("unspecified status fails", func(t *testing.T) { + t.Parallel() + status := cloneIntegrationStatus(validConnected) + status.Status = IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED + if err := protovalidate.Validate(status); err == nil { + t.Error("expected error for UNSPECIFIED status, got nil") + } + }) +} + +func cloneIntegrationStatus(in *IntegrationStatus) *IntegrationStatus { + return &IntegrationStatus{ + Provider: in.GetProvider(), + OrgInstalled: in.GetOrgInstalled(), + UserBound: in.GetUserBound(), + Status: in.GetStatus(), + Summary: in.GetSummary(), + Detail: in.GetDetail(), + } +} From 28f17a0b1421c0079d8ee5c7e23b337c8c0608fc Mon Sep 17 00:00:00 2001 From: Dylan Date: Tue, 28 Jul 2026 16:32:41 -0700 Subject: [PATCH 08/36] feat(brent): Area51 workspace integrations (BRENT-731 / ENG-5868) (#6138) ## Summary - Adds `BrentAdminService.ListAccountIntegrations` (`admin:read`) with install rows, ciphertext-presence flags, shared ENG-5869 readiness fields, and workspace role slots. - Area51 workspace detail gains an Integrations section (roles + installs + readiness/presence) and removes Activity GitHub/Slack/Linear pills. - Stacked on [BRENT-730](https://github.com/overmindtech/workspace/pull/6137) / ENG-5869 shared `IntegrationConnectionStatus` mapper. Brent plan: BRENT-731 (ENG-5868). ## Test plan - [x] Go unit: default readiness mapper fields - [x] Go integration: `ListAccountIntegrations` permission, roles, GitHub/GitLab/Bitbucket-without-token presence + readiness - [x] Area51 Vitest: Integrations section renders installs/roles/readiness; Bitbucket token=no visible; Activity pills gone - [ ] Confirm stacked PR base is `BRENT-730` and merges after #6137 Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor GitOrigin-RevId: 50f847a7c5aea400308609ef6e6d12f1658ea238 --- go/sdp-go/brent.pb.go | 976 +++++++++++++++++--------- go/sdp-go/sdpconnect/brent.connect.go | 37 + 2 files changed, 671 insertions(+), 342 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index f1860a8e..f9373beb 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -295,7 +295,8 @@ func (IntegrationIntent) EnumDescriptor() ([]byte, []int) { } // Coarse readiness for Integrations UI (button state / spinner / healthy / fix-me). -// Always set (never UNSPECIFIED) for every IntegrationStatus from GetPrincipalStatus. +// Always set (never UNSPECIFIED) for every IntegrationStatus from GetPrincipalStatus +// and for AdminAccountIntegrationInstall rows from ListAccountIntegrations. // Ephemeral client-only UI (form/busy/popup) stays out of this API; // in_progress / needs_attention exist for later provider tickets; // org_installed-driven defaults only emit not_connected and connected. @@ -23650,6 +23651,259 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) GetKeySourceInUse() string return "" } +// AdminListAccountIntegrationsRequest selects the account whose organisation +// app installs an operator wants to inspect. account_name is required. +type AdminListAccountIntegrationsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` // workspace_id; required + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListAccountIntegrationsRequest) Reset() { + *x = AdminListAccountIntegrationsRequest{} + mi := &file_brent_proto_msgTypes[308] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListAccountIntegrationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListAccountIntegrationsRequest) ProtoMessage() {} + +func (x *AdminListAccountIntegrationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[308] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListAccountIntegrationsRequest.ProtoReflect.Descriptor instead. +func (*AdminListAccountIntegrationsRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{308} +} + +func (x *AdminListAccountIntegrationsRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +// AdminAccountIntegrationInstall is one organisation_app_installations row with +// credential-presence flags and the shared readiness triple. Metadata only — +// never secrets. install_id is an Area51-only exception for operator debugging +// (customer OrganisationAppInstallation.ID does not cross BrentService). +type AdminAccountIntegrationInstall struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstallId int64 `protobuf:"varint,1,opt,name=install_id,json=installId,proto3" json:"install_id,omitempty"` // Area51-only; synthetic PK for operator debugging + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` // DB provider string (github, gitlab, bitbucket, ...) + ExternalWorkspaceId string `protobuf:"bytes,3,opt,name=external_workspace_id,json=externalWorkspaceId,proto3" json:"external_workspace_id,omitempty"` + ExternalPrincipalId string `protobuf:"bytes,4,opt,name=external_principal_id,json=externalPrincipalId,proto3" json:"external_principal_id,omitempty"` // empty when unset (e.g. GitHub pending) + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + HasAccessToken bool `protobuf:"varint,6,opt,name=has_access_token,json=hasAccessToken,proto3" json:"has_access_token,omitempty"` // organisation_app_tokens.access_token_ciphertext present + HasConfig bool `protobuf:"varint,7,opt,name=has_config,json=hasConfig,proto3" json:"has_config,omitempty"` // organisation_app_config row present + HasSigningToken bool `protobuf:"varint,8,opt,name=has_signing_token,json=hasSigningToken,proto3" json:"has_signing_token,omitempty"` // config.signing_token_ciphertext present (GitLab) + HasWebhookSecret bool `protobuf:"varint,9,opt,name=has_webhook_secret,json=hasWebhookSecret,proto3" json:"has_webhook_secret,omitempty"` // config.webhook_secret_ciphertext present (GitLab) + // Same readiness contract as IntegrationStatus (ENG-5869); buf.validate limits apply. + Status IntegrationConnectionStatus `protobuf:"varint,10,opt,name=status,proto3,enum=brent.IntegrationConnectionStatus" json:"status,omitempty"` + Summary string `protobuf:"bytes,11,opt,name=summary,proto3" json:"summary,omitempty"` + Detail string `protobuf:"bytes,12,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminAccountIntegrationInstall) Reset() { + *x = AdminAccountIntegrationInstall{} + mi := &file_brent_proto_msgTypes[309] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminAccountIntegrationInstall) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminAccountIntegrationInstall) ProtoMessage() {} + +func (x *AdminAccountIntegrationInstall) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[309] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminAccountIntegrationInstall.ProtoReflect.Descriptor instead. +func (*AdminAccountIntegrationInstall) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{309} +} + +func (x *AdminAccountIntegrationInstall) GetInstallId() int64 { + if x != nil { + return x.InstallId + } + return 0 +} + +func (x *AdminAccountIntegrationInstall) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *AdminAccountIntegrationInstall) GetExternalWorkspaceId() string { + if x != nil { + return x.ExternalWorkspaceId + } + return "" +} + +func (x *AdminAccountIntegrationInstall) GetExternalPrincipalId() string { + if x != nil { + return x.ExternalPrincipalId + } + return "" +} + +func (x *AdminAccountIntegrationInstall) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *AdminAccountIntegrationInstall) GetHasAccessToken() bool { + if x != nil { + return x.HasAccessToken + } + return false +} + +func (x *AdminAccountIntegrationInstall) GetHasConfig() bool { + if x != nil { + return x.HasConfig + } + return false +} + +func (x *AdminAccountIntegrationInstall) GetHasSigningToken() bool { + if x != nil { + return x.HasSigningToken + } + return false +} + +func (x *AdminAccountIntegrationInstall) GetHasWebhookSecret() bool { + if x != nil { + return x.HasWebhookSecret + } + return false +} + +func (x *AdminAccountIntegrationInstall) GetStatus() IntegrationConnectionStatus { + if x != nil { + return x.Status + } + return IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED +} + +func (x *AdminAccountIntegrationInstall) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *AdminAccountIntegrationInstall) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +// AdminListAccountIntegrationsResponse lists installs plus workspace role slots. +// Unknown / empty account: empty installs + UNSPECIFIED roles (not NotFound). +type AdminListAccountIntegrationsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Installs []*AdminAccountIntegrationInstall `protobuf:"bytes,1,rep,name=installs,proto3" json:"installs,omitempty"` + GitProvider IntegrationProvider `protobuf:"varint,2,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + TicketingProvider IntegrationProvider `protobuf:"varint,3,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` + MessagingProvider IntegrationProvider `protobuf:"varint,4,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListAccountIntegrationsResponse) Reset() { + *x = AdminListAccountIntegrationsResponse{} + mi := &file_brent_proto_msgTypes[310] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListAccountIntegrationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListAccountIntegrationsResponse) ProtoMessage() {} + +func (x *AdminListAccountIntegrationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[310] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListAccountIntegrationsResponse.ProtoReflect.Descriptor instead. +func (*AdminListAccountIntegrationsResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{310} +} + +func (x *AdminListAccountIntegrationsResponse) GetInstalls() []*AdminAccountIntegrationInstall { + if x != nil { + return x.Installs + } + return nil +} + +func (x *AdminListAccountIntegrationsResponse) GetGitProvider() IntegrationProvider { + if x != nil { + return x.GitProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *AdminListAccountIntegrationsResponse) GetTicketingProvider() IntegrationProvider { + if x != nil { + return x.TicketingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + +func (x *AdminListAccountIntegrationsResponse) GetMessagingProvider() IntegrationProvider { + if x != nil { + return x.MessagingProvider + } + return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED +} + type ListIntegrationCatalogueRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields @@ -23658,7 +23912,7 @@ type ListIntegrationCatalogueRequest struct { func (x *ListIntegrationCatalogueRequest) Reset() { *x = ListIntegrationCatalogueRequest{} - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23670,7 +23924,7 @@ func (x *ListIntegrationCatalogueRequest) String() string { func (*ListIntegrationCatalogueRequest) ProtoMessage() {} func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[311] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23683,7 +23937,7 @@ func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{308} + return file_brent_proto_rawDescGZIP(), []int{311} } type ListIntegrationCatalogueResponse struct { @@ -23695,7 +23949,7 @@ type ListIntegrationCatalogueResponse struct { func (x *ListIntegrationCatalogueResponse) Reset() { *x = ListIntegrationCatalogueResponse{} - mi := &file_brent_proto_msgTypes[309] + mi := &file_brent_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23707,7 +23961,7 @@ func (x *ListIntegrationCatalogueResponse) String() string { func (*ListIntegrationCatalogueResponse) ProtoMessage() {} func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[309] + mi := &file_brent_proto_msgTypes[312] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23720,7 +23974,7 @@ func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{309} + return file_brent_proto_rawDescGZIP(), []int{312} } func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { @@ -23761,7 +24015,7 @@ type IntegrationCatalogueEntry struct { func (x *IntegrationCatalogueEntry) Reset() { *x = IntegrationCatalogueEntry{} - mi := &file_brent_proto_msgTypes[310] + mi := &file_brent_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23773,7 +24027,7 @@ func (x *IntegrationCatalogueEntry) String() string { func (*IntegrationCatalogueEntry) ProtoMessage() {} func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[310] + mi := &file_brent_proto_msgTypes[313] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23786,7 +24040,7 @@ func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{310} + return file_brent_proto_rawDescGZIP(), []int{313} } func (x *IntegrationCatalogueEntry) GetStableId() string { @@ -25789,7 +26043,33 @@ const file_brent_proto_rawDesc = "" + "\bprovider\x18\x02 \x01(\tR\bprovider\"\x94\x01\n" + "*AdminGetAccountLLMCredentialStatusResponse\x12;\n" + "\x06status\x18\x01 \x01(\v2#.brent.WorkspaceLLMCredentialStatusR\x06status\x12)\n" + - "\x11key_source_in_use\x18\x02 \x01(\tR\x0ekeySourceInUse\"!\n" + + "\x11key_source_in_use\x18\x02 \x01(\tR\x0ekeySourceInUse\"H\n" + + "#AdminListAccountIntegrationsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xb2\x04\n" + + "\x1eAdminAccountIntegrationInstall\x12\x1d\n" + + "\n" + + "install_id\x18\x01 \x01(\x03R\tinstallId\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\x122\n" + + "\x15external_workspace_id\x18\x03 \x01(\tR\x13externalWorkspaceId\x122\n" + + "\x15external_principal_id\x18\x04 \x01(\tR\x13externalPrincipalId\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12(\n" + + "\x10has_access_token\x18\x06 \x01(\bR\x0ehasAccessToken\x12\x1d\n" + + "\n" + + "has_config\x18\a \x01(\bR\thasConfig\x12*\n" + + "\x11has_signing_token\x18\b \x01(\bR\x0fhasSigningToken\x12,\n" + + "\x12has_webhook_secret\x18\t \x01(\bR\x10hasWebhookSecret\x12F\n" + + "\x06status\x18\n" + + " \x01(\x0e2\".brent.IntegrationConnectionStatusB\n" + + "\xbaH\a\x82\x01\x04\x10\x01 \x00R\x06status\x12#\n" + + "\asummary\x18\v \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\asummary\x12\"\n" + + "\x06detail\x18\f \x01(\tB\n" + + "\xbaH\ar\x05\x10\x01\x18\xa0\x01R\x06detail\"\xbe\x02\n" + + "$AdminListAccountIntegrationsResponse\x12A\n" + + "\binstalls\x18\x01 \x03(\v2%.brent.AdminAccountIntegrationInstallR\binstalls\x12=\n" + + "\fgit_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + + "\x12ticketing_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + + "\x12messaging_provider\x18\x04 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\"!\n" + "\x1fListIntegrationCatalogueRequest\"^\n" + " ListIntegrationCatalogueResponse\x12:\n" + "\aentries\x18\x01 \x03(\v2 .brent.IntegrationCatalogueEntryR\aentries\"\xf3\x03\n" + @@ -25928,7 +26208,7 @@ const file_brent_proto_rawDesc = "" + "\x1cSetWorkspaceIntegrationRoles\x12*.brent.SetWorkspaceIntegrationRolesRequest\x1a+.brent.SetWorkspaceIntegrationRolesResponse\x12h\n" + "\x17ResendVerificationEmail\x12%.brent.ResendVerificationEmailRequest\x1a&.brent.ResendVerificationEmailResponse2`\n" + "\x12BrentPublicService\x12J\n" + - "\rGetInvitation\x12\x1b.brent.GetInvitationRequest\x1a\x1c.brent.GetInvitationResponse2\xbc\x1d\n" + + "\rGetInvitation\x12\x1b.brent.GetInvitationRequest\x1a\x1c.brent.GetInvitationResponse2\xb0\x1e\n" + "\x11BrentAdminService\x12R\n" + "\x0fExecuteWorkflow\x12\x1d.brent.ExecuteWorkflowRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12;\n" + "\bListRuns\x12\x16.brent.ListRunsRequest\x1a\x17.brent.ListRunsResponse\x12D\n" + @@ -25950,7 +26230,8 @@ const file_brent_proto_rawDesc = "" + "\x1eGetAccountMetricsComparisonRun\x121.brent.AdminGetAccountMetricsComparisonRunRequest\x1a2.brent.AdminGetAccountMetricsComparisonRunResponse\x12f\n" + "\x17GetAccountBrentSettings\x12*.brent.AdminGetAccountBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12o\n" + "\x1aUpdateAccountBrentSettings\x12-.brent.AdminUpdateAccountBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12\x84\x01\n" + - "\x1dGetAccountLLMCredentialStatus\x120.brent.AdminGetAccountLLMCredentialStatusRequest\x1a1.brent.AdminGetAccountLLMCredentialStatusResponse\x12J\n" + + "\x1dGetAccountLLMCredentialStatus\x120.brent.AdminGetAccountLLMCredentialStatusRequest\x1a1.brent.AdminGetAccountLLMCredentialStatusResponse\x12r\n" + + "\x17ListAccountIntegrations\x12*.brent.AdminListAccountIntegrationsRequest\x1a+.brent.AdminListAccountIntegrationsResponse\x12J\n" + "\rListWorkflows\x12\x1b.brent.ListWorkflowsRequest\x1a\x1c.brent.ListWorkflowsResponse\x12D\n" + "\vGetWorkflow\x12\x19.brent.GetWorkflowRequest\x1a\x1a.brent.GetWorkflowResponse\x12S\n" + "\x10ListWorkflowRuns\x12\x1e.brent.ListWorkflowRunsRequest\x1a\x1f.brent.ListWorkflowRunsResponse\x12M\n" + @@ -25985,7 +26266,7 @@ func file_brent_proto_rawDescGZIP() []byte { } var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 325) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 328) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode @@ -26307,57 +26588,60 @@ var file_brent_proto_goTypes = []any{ (*AdminUpdateAccountBrentSettingsRequest)(nil), // 317: brent.AdminUpdateAccountBrentSettingsRequest (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 318: brent.AdminGetAccountLLMCredentialStatusRequest (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 319: brent.AdminGetAccountLLMCredentialStatusResponse - (*ListIntegrationCatalogueRequest)(nil), // 320: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 321: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 322: brent.IntegrationCatalogueEntry - nil, // 323: brent.PlanUpdated.PreviousEntry - nil, // 324: brent.PlanUpdated.AfterEntry - nil, // 325: brent.PrincipalUpdated.PreviousEntry - nil, // 326: brent.PrincipalUpdated.AfterEntry - nil, // 327: brent.BindingUpdated.PreviousEntry - nil, // 328: brent.BindingUpdated.AfterEntry - nil, // 329: brent.OtherEvent.FieldsEntry - nil, // 330: brent.PullRequestUpdated.PreviousEntry - nil, // 331: brent.PullRequestUpdated.AfterEntry - nil, // 332: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 333: brent.DeviationFindingUpdated.PreviousEntry - nil, // 334: brent.DeviationFindingUpdated.AfterEntry - nil, // 335: brent.NotificationPreferences.PreferencesEntry - nil, // 336: brent.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 337: google.protobuf.Timestamp - (*structpb.Value)(nil), // 338: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 339: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 340: google.protobuf.Empty + (*AdminListAccountIntegrationsRequest)(nil), // 320: brent.AdminListAccountIntegrationsRequest + (*AdminAccountIntegrationInstall)(nil), // 321: brent.AdminAccountIntegrationInstall + (*AdminListAccountIntegrationsResponse)(nil), // 322: brent.AdminListAccountIntegrationsResponse + (*ListIntegrationCatalogueRequest)(nil), // 323: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 324: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 325: brent.IntegrationCatalogueEntry + nil, // 326: brent.PlanUpdated.PreviousEntry + nil, // 327: brent.PlanUpdated.AfterEntry + nil, // 328: brent.PrincipalUpdated.PreviousEntry + nil, // 329: brent.PrincipalUpdated.AfterEntry + nil, // 330: brent.BindingUpdated.PreviousEntry + nil, // 331: brent.BindingUpdated.AfterEntry + nil, // 332: brent.OtherEvent.FieldsEntry + nil, // 333: brent.PullRequestUpdated.PreviousEntry + nil, // 334: brent.PullRequestUpdated.AfterEntry + nil, // 335: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 336: brent.DeviationFindingUpdated.PreviousEntry + nil, // 337: brent.DeviationFindingUpdated.AfterEntry + nil, // 338: brent.NotificationPreferences.PreferencesEntry + nil, // 339: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 340: google.protobuf.Timestamp + (*structpb.Value)(nil), // 341: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 342: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 343: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ 22, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary 23, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest 24, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 337, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 340, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp 23, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest 19, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow 20, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 337, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 337, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 337, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 337, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 337, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 337, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 337, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 340, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 340, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 340, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 340, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 340, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 340, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 340, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp 25, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 337, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 340, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp 29, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 337, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 337, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 340, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 340, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp 105, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 337, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 337, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 340, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 340, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp 105, // 23: brent.ListEventsResponse.events:type_name -> brent.Event 41, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest 41, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 337, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 337, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 340, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 340, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp 43, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep 44, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep 45, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep @@ -26369,65 +26653,65 @@ var file_brent_proto_depIdxs = []int32{ 51, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep 52, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep 56, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 337, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 337, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 337, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 337, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 340, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 340, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 340, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 340, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 59, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan 84, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary 22, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 337, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 337, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 337, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 340, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 340, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 340, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 224, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal 224, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal 64, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity 310, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 337, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 337, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 340, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 340, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp 310, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding 224, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal 64, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity 79, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 337, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 340, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp 84, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 337, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 337, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 340, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 340, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp 87, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review 56, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 337, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 337, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 337, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 337, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 340, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 340, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 340, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 340, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp 88, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 337, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 337, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 340, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 340, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp 91, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary 94, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 337, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 340, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp 97, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 337, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 337, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 337, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 337, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 340, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 340, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 340, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 340, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 337, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 337, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 337, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 337, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 340, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 340, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 340, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 340, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp 102, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 337, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 337, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 337, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 337, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 340, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 340, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 340, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 340, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp 103, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 337, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 337, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 337, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 340, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 340, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 340, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp 106, // 95: brent.Event.actor:type_name -> brent.Actor 107, // 96: brent.Event.object:type_name -> brent.ObjectReference - 337, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 340, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp 108, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated 109, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated 110, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted @@ -26507,53 +26791,53 @@ var file_brent_proto_depIdxs = []int32{ 162, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared 116, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided 141, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 323, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 324, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 337, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 325, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 326, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 326, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 327, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 340, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 328, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 329, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry 7, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 327, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 328, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 329, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 330, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 331, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 337, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 332, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 337, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 330, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 331, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 332, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 333, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 334, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 340, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 335, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 340, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp 155, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 337, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 337, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 333, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 334, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 337, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 337, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 337, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 337, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 337, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 337, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 337, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 337, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 340, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 340, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 336, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 337, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 340, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 340, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 340, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 340, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 340, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 340, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 340, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 340, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp 191, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 337, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 337, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 340, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 340, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp 194, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 337, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 337, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 340, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 340, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp 197, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 337, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 337, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 337, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 337, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 340, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 340, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 340, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 340, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp 197, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary 42, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse 200, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment 203, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun 191, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 337, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 337, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 337, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 337, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 340, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 340, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 340, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 340, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp 105, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState 224, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal @@ -26561,11 +26845,11 @@ var file_brent_proto_depIdxs = []int32{ 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 337, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 337, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 340, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 340, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider 218, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 337, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 340, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp 5, // 236: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider @@ -26576,8 +26860,8 @@ var file_brent_proto_depIdxs = []int32{ 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 245: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 337, // 246: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 337, // 247: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 340, // 246: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 340, // 247: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp 225, // 248: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace 225, // 249: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace 6, // 250: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider @@ -26585,247 +26869,255 @@ var file_brent_proto_depIdxs = []int32{ 231, // 252: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate 225, // 253: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace 239, // 254: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 337, // 255: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 340, // 255: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp 240, // 256: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember 7, // 257: brent.JoinableWorkspace.source:type_name -> brent.JoinSource 225, // 258: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 337, // 259: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 340, // 259: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp 243, // 260: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain 243, // 261: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain 243, // 262: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 337, // 263: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 337, // 264: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 340, // 263: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 340, // 264: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp 256, // 265: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus 256, // 266: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 337, // 267: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 340, // 267: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp 263, // 268: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus 263, // 269: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus 225, // 270: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace 225, // 271: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 337, // 272: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 340, // 272: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 9, // 273: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus 277, // 274: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult 225, // 275: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace 283, // 276: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember 10, // 277: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 337, // 278: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 340, // 278: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 8, // 279: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus 310, // 280: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding 224, // 281: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal 310, // 282: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 335, // 283: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 336, // 284: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 338, // 283: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 339, // 284: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry 300, // 285: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences 300, // 286: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences 300, // 287: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 337, // 288: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 337, // 289: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 337, // 290: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 340, // 288: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 340, // 289: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 340, // 290: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp 311, // 291: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 337, // 292: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 340, // 292: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp 311, // 293: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch 256, // 294: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 322, // 295: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry - 11, // 296: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource - 3, // 297: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 337, // 298: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 338, // 299: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 338, // 300: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 338, // 301: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 338, // 302: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 338, // 303: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 338, // 304: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 338, // 305: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 338, // 306: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 338, // 307: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 338, // 308: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 301, // 309: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 339, // 310: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 37, // 311: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 39, // 312: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 204, // 313: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 206, // 314: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 208, // 315: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 210, // 316: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 212, // 317: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 214, // 318: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 216, // 319: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 294, // 320: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 298, // 321: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 302, // 322: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 304, // 323: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 306, // 324: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest - 308, // 325: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest - 296, // 326: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 312, // 327: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 314, // 328: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 320, // 329: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 226, // 330: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 228, // 331: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 230, // 332: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 233, // 333: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 270, // 334: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 272, // 335: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 235, // 336: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 237, // 337: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 241, // 338: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 274, // 339: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 276, // 340: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 279, // 341: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 281, // 342: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 284, // 343: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 286, // 344: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 288, // 345: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 290, // 346: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 244, // 347: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 246, // 348: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 248, // 349: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 250, // 350: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 254, // 351: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 257, // 352: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 259, // 353: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 261, // 354: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 264, // 355: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 266, // 356: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 268, // 357: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 220, // 358: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 222, // 359: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 252, // 360: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 292, // 361: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 26, // 362: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 27, // 363: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 30, // 364: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 31, // 365: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 33, // 366: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 35, // 367: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 53, // 368: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 54, // 369: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 57, // 370: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 82, // 371: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 85, // 372: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 340, // 373: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 90, // 374: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 93, // 375: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 96, // 376: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 99, // 377: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 101, // 378: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 316, // 379: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 317, // 380: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 318, // 381: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 189, // 382: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 192, // 383: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 195, // 384: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 198, // 385: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 199, // 386: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 12, // 387: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 14, // 388: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 16, // 389: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 60, // 390: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 62, // 391: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 65, // 392: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 67, // 393: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 69, // 394: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 71, // 395: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 73, // 396: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 75, // 397: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 77, // 398: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 80, // 399: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 18, // 400: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 38, // 401: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 40, // 402: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 205, // 403: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 207, // 404: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 209, // 405: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 211, // 406: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 213, // 407: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 215, // 408: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 217, // 409: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 295, // 410: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 299, // 411: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 303, // 412: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 305, // 413: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 307, // 414: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse - 309, // 415: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse - 297, // 416: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 313, // 417: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 418: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 321, // 419: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 227, // 420: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 229, // 421: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 232, // 422: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 234, // 423: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 271, // 424: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 273, // 425: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 236, // 426: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 238, // 427: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 242, // 428: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 275, // 429: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 278, // 430: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 280, // 431: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 282, // 432: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 285, // 433: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 287, // 434: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 289, // 435: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 291, // 436: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 245, // 437: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 247, // 438: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 249, // 439: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 251, // 440: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 255, // 441: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 258, // 442: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 260, // 443: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 262, // 444: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 265, // 445: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 267, // 446: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 269, // 447: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 221, // 448: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 223, // 449: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 253, // 450: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 293, // 451: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 42, // 452: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 28, // 453: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 42, // 454: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 32, // 455: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 34, // 456: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 36, // 457: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 42, // 458: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 55, // 459: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 58, // 460: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 83, // 461: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 86, // 462: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 89, // 463: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 92, // 464: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 95, // 465: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 98, // 466: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 100, // 467: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 104, // 468: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 313, // 469: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 470: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 319, // 471: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 190, // 472: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 193, // 473: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 196, // 474: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 202, // 475: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 201, // 476: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 13, // 477: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 15, // 478: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 17, // 479: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 61, // 480: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 63, // 481: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 66, // 482: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 68, // 483: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 70, // 484: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 72, // 485: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 74, // 486: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 76, // 487: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 78, // 488: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 81, // 489: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 21, // 490: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 401, // [401:491] is the sub-list for method output_type - 311, // [311:401] is the sub-list for method input_type - 311, // [311:311] is the sub-list for extension type_name - 310, // [310:311] is the sub-list for extension extendee - 0, // [0:310] is the sub-list for field type_name + 340, // 295: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp + 5, // 296: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus + 321, // 297: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall + 3, // 298: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 299: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 300: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider + 325, // 301: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 11, // 302: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource + 3, // 303: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider + 340, // 304: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 341, // 305: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 341, // 306: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 341, // 307: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 341, // 308: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 341, // 309: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 341, // 310: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 341, // 311: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 341, // 312: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 341, // 313: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 341, // 314: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 301, // 315: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 342, // 316: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 37, // 317: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 39, // 318: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 204, // 319: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 206, // 320: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 208, // 321: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 210, // 322: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 212, // 323: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 214, // 324: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 216, // 325: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 294, // 326: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 298, // 327: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 302, // 328: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 304, // 329: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 306, // 330: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest + 308, // 331: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest + 296, // 332: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 312, // 333: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 314, // 334: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 323, // 335: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 226, // 336: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 228, // 337: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 230, // 338: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 233, // 339: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 270, // 340: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 272, // 341: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 235, // 342: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 237, // 343: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 241, // 344: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 274, // 345: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 276, // 346: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 279, // 347: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 281, // 348: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 284, // 349: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 286, // 350: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 288, // 351: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 290, // 352: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 244, // 353: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 246, // 354: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 248, // 355: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 250, // 356: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 254, // 357: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 257, // 358: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 259, // 359: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 261, // 360: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 264, // 361: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 266, // 362: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 268, // 363: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 220, // 364: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 222, // 365: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 252, // 366: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 292, // 367: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 26, // 368: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 27, // 369: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 30, // 370: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 31, // 371: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 33, // 372: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 35, // 373: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 53, // 374: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 54, // 375: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 57, // 376: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 82, // 377: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 85, // 378: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 343, // 379: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 90, // 380: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 93, // 381: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 96, // 382: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 99, // 383: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 101, // 384: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 316, // 385: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 317, // 386: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 318, // 387: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 320, // 388: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest + 189, // 389: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 192, // 390: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 195, // 391: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 198, // 392: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 199, // 393: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 12, // 394: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 14, // 395: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 16, // 396: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 60, // 397: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 62, // 398: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 65, // 399: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 67, // 400: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 69, // 401: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 71, // 402: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 73, // 403: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 75, // 404: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 77, // 405: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 80, // 406: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 18, // 407: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 38, // 408: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 40, // 409: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 205, // 410: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 207, // 411: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 209, // 412: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 211, // 413: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 213, // 414: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 215, // 415: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 217, // 416: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 295, // 417: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 299, // 418: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 303, // 419: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 305, // 420: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 307, // 421: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse + 309, // 422: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse + 297, // 423: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 313, // 424: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 425: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 324, // 426: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 227, // 427: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 229, // 428: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 232, // 429: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 234, // 430: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 271, // 431: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 273, // 432: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 236, // 433: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 238, // 434: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 242, // 435: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 275, // 436: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 278, // 437: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 280, // 438: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 282, // 439: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 285, // 440: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 287, // 441: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 289, // 442: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 291, // 443: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 245, // 444: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 247, // 445: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 249, // 446: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 251, // 447: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 255, // 448: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 258, // 449: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 260, // 450: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 262, // 451: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 265, // 452: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 267, // 453: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 269, // 454: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 221, // 455: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 223, // 456: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 253, // 457: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 293, // 458: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 42, // 459: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 28, // 460: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 42, // 461: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 32, // 462: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 34, // 463: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 36, // 464: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 42, // 465: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 55, // 466: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 58, // 467: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 83, // 468: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 86, // 469: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 89, // 470: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 92, // 471: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 95, // 472: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 98, // 473: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 100, // 474: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 104, // 475: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 313, // 476: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 477: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 319, // 478: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 322, // 479: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse + 190, // 480: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 193, // 481: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 196, // 482: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 202, // 483: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 201, // 484: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 13, // 485: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 15, // 486: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 17, // 487: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 61, // 488: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 63, // 489: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 66, // 490: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 68, // 491: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 70, // 492: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 72, // 493: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 74, // 494: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 76, // 495: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 78, // 496: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 81, // 497: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 21, // 498: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 408, // [408:499] is the sub-list for method output_type + 317, // [317:408] is the sub-list for method input_type + 317, // [317:317] is the sub-list for extension type_name + 316, // [316:317] is the sub-list for extension extendee + 0, // [0:316] is the sub-list for field type_name } func init() { file_brent_proto_init() } @@ -26949,7 +27241,7 @@ func file_brent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), NumEnums: 12, - NumMessages: 325, + NumMessages: 328, NumExtensions: 1, NumServices: 3, }, diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index d498d825..397b56e5 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -251,6 +251,9 @@ const ( // BrentAdminServiceGetAccountLLMCredentialStatusProcedure is the fully-qualified name of the // BrentAdminService's GetAccountLLMCredentialStatus RPC. BrentAdminServiceGetAccountLLMCredentialStatusProcedure = "/brent.BrentAdminService/GetAccountLLMCredentialStatus" + // BrentAdminServiceListAccountIntegrationsProcedure is the fully-qualified name of the + // BrentAdminService's ListAccountIntegrations RPC. + BrentAdminServiceListAccountIntegrationsProcedure = "/brent.BrentAdminService/ListAccountIntegrations" // BrentAdminServiceListWorkflowsProcedure is the fully-qualified name of the BrentAdminService's // ListWorkflows RPC. BrentAdminServiceListWorkflowsProcedure = "/brent.BrentAdminService/ListWorkflows" @@ -2223,6 +2226,11 @@ type BrentAdminServiceClient interface { // without holding that account's brent:read scope. Metadata only — never the // secret. account_name is required (no caller-account fallback). GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) + // Lists organisation_app_installations for one account with credential-presence + // flags, shared readiness fields, and workspace integration roles. + // Metadata only — never secrets. Cross-tenant; gated on admin:read. + // account_name required. + ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) // Lists workflow definitions for the caller's account, ordered by name. // Account-scoped: callers see only their own tenant's rows. Operator-only; // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); @@ -2429,6 +2437,12 @@ func NewBrentAdminServiceClient(httpClient connect.HTTPClient, baseURL string, o connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), connect.WithClientOptions(opts...), ), + listAccountIntegrations: connect.NewClient[sdp_go.AdminListAccountIntegrationsRequest, sdp_go.AdminListAccountIntegrationsResponse]( + httpClient, + baseURL+BrentAdminServiceListAccountIntegrationsProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountIntegrations")), + connect.WithClientOptions(opts...), + ), listWorkflows: connect.NewClient[sdp_go.ListWorkflowsRequest, sdp_go.ListWorkflowsResponse]( httpClient, baseURL+BrentAdminServiceListWorkflowsProcedure, @@ -2568,6 +2582,7 @@ type brentAdminServiceClient struct { getAccountBrentSettings *connect.Client[sdp_go.AdminGetAccountBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] updateAccountBrentSettings *connect.Client[sdp_go.AdminUpdateAccountBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] getAccountLLMCredentialStatus *connect.Client[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse] + listAccountIntegrations *connect.Client[sdp_go.AdminListAccountIntegrationsRequest, sdp_go.AdminListAccountIntegrationsResponse] listWorkflows *connect.Client[sdp_go.ListWorkflowsRequest, sdp_go.ListWorkflowsResponse] getWorkflow *connect.Client[sdp_go.GetWorkflowRequest, sdp_go.GetWorkflowResponse] listWorkflowRuns *connect.Client[sdp_go.ListWorkflowRunsRequest, sdp_go.ListWorkflowRunsResponse] @@ -2689,6 +2704,11 @@ func (c *brentAdminServiceClient) GetAccountLLMCredentialStatus(ctx context.Cont return c.getAccountLLMCredentialStatus.CallUnary(ctx, req) } +// ListAccountIntegrations calls brent.BrentAdminService.ListAccountIntegrations. +func (c *brentAdminServiceClient) ListAccountIntegrations(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { + return c.listAccountIntegrations.CallUnary(ctx, req) +} + // ListWorkflows calls brent.BrentAdminService.ListWorkflows. func (c *brentAdminServiceClient) ListWorkflows(ctx context.Context, req *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) { return c.listWorkflows.CallUnary(ctx, req) @@ -2884,6 +2904,11 @@ type BrentAdminServiceHandler interface { // without holding that account's brent:read scope. Metadata only — never the // secret. account_name is required (no caller-account fallback). GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) + // Lists organisation_app_installations for one account with credential-presence + // flags, shared readiness fields, and workspace integration roles. + // Metadata only — never secrets. Cross-tenant; gated on admin:read. + // account_name required. + ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) // Lists workflow definitions for the caller's account, ordered by name. // Account-scoped: callers see only their own tenant's rows. Operator-only; // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); @@ -3086,6 +3111,12 @@ func NewBrentAdminServiceHandler(svc BrentAdminServiceHandler, opts ...connect.H connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), connect.WithHandlerOptions(opts...), ) + brentAdminServiceListAccountIntegrationsHandler := connect.NewUnaryHandler( + BrentAdminServiceListAccountIntegrationsProcedure, + svc.ListAccountIntegrations, + connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountIntegrations")), + connect.WithHandlerOptions(opts...), + ) brentAdminServiceListWorkflowsHandler := connect.NewUnaryHandler( BrentAdminServiceListWorkflowsProcedure, svc.ListWorkflows, @@ -3242,6 +3273,8 @@ func NewBrentAdminServiceHandler(svc BrentAdminServiceHandler, opts ...connect.H brentAdminServiceUpdateAccountBrentSettingsHandler.ServeHTTP(w, r) case BrentAdminServiceGetAccountLLMCredentialStatusProcedure: brentAdminServiceGetAccountLLMCredentialStatusHandler.ServeHTTP(w, r) + case BrentAdminServiceListAccountIntegrationsProcedure: + brentAdminServiceListAccountIntegrationsHandler.ServeHTTP(w, r) case BrentAdminServiceListWorkflowsProcedure: brentAdminServiceListWorkflowsHandler.ServeHTTP(w, r) case BrentAdminServiceGetWorkflowProcedure: @@ -3369,6 +3402,10 @@ func (UnimplementedBrentAdminServiceHandler) GetAccountLLMCredentialStatus(conte return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountLLMCredentialStatus is not implemented")) } +func (UnimplementedBrentAdminServiceHandler) ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListAccountIntegrations is not implemented")) +} + func (UnimplementedBrentAdminServiceHandler) ListWorkflows(context.Context, *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListWorkflows is not implemented")) } From cc54ac5c92d0cc7a6d5c7460d3316619b74fe7e9 Mon Sep 17 00:00:00 2001 From: Elliot Waddington Date: Wed, 29 Jul 2026 10:11:32 +0200 Subject: [PATCH 09/36] fix(brent): secure BYO OAuth completion identity (#6146) ## Summary - replace endpoint-bearing BYO OAuth success redirects with workspace-scoped opaque instance identity - make BYO disconnect tenant-scoped and idempotent while retaining old/new rolling compatibility - reject endpoint URL userinfo at connect time and cover cross-workspace isolation, redirect privacy, catalogue matching, and compatibility paths Brent plan: BRENT-738 ## Test plan - [x] `pnpm test` (`services/brent-app`: 197 files, 1370 tests) - [x] `pnpm lint && pnpm fmt:check` (`services/brent-app`) - [x] `pnpm build` (`services/brent-app`) - [x] `go build ./go/sdp-go/... ./services/brent-backend/...` - [x] focused `go vet` for changed Go packages - [x] focused backend unit and BYO integration tests - [ ] full parallel Brent integration sweep (local macOS run exhausted host shared-memory IDs after focused tests passed) --------- Co-authored-by: Cursor GitOrigin-RevId: 7370c2cd6dc30955c2e35e96a394b1292e7fa1f4 --- go/sdp-go/brent.pb.go | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index f9373beb..558b63ef 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -17860,9 +17860,12 @@ type DisconnectIntegrationRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` // Instance discriminator for aggregator providers (the Composio toolkit slug - // for MCP_AGGREGATOR). Required for MCP_AGGREGATOR; ignored by single-instance - // providers (GitHub/Linear/Slack/BYO). - InstanceSlug string `protobuf:"bytes,2,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + // for MCP_AGGREGATOR) and a compatibility endpoint slug for BYO HTTP MCP. + // Required for MCP_AGGREGATOR; ignored by other single-instance providers. + InstanceSlug string `protobuf:"bytes,2,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + // Opaque connected BYO HTTP MCP install UUID. Empty for other providers and + // for older clients, which continue to use instance_slug. + InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -17911,6 +17914,13 @@ func (x *DisconnectIntegrationRequest) GetInstanceSlug() string { return "" } +func (x *DisconnectIntegrationRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + type DisconnectIntegrationResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields @@ -24008,7 +24018,10 @@ type IntegrationCatalogueEntry struct { AutoRank int32 `protobuf:"varint,11,opt,name=auto_rank,json=autoRank,proto3" json:"auto_rank,omitempty"` // When the install was created. Set for connected BYO HTTP MCP endpoint // cards; unset for catalogue/builtin rows that are not installed instances. - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Opaque connected BYO HTTP MCP install UUID. Empty for catalogue rows and + // integrations whose provider is not BYO HTTP MCP. + InstanceId string `protobuf:"bytes,13,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -24127,6 +24140,13 @@ func (x *IntegrationCatalogueEntry) GetCreatedAt() *timestamppb.Timestamp { return nil } +func (x *IntegrationCatalogueEntry) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + var file_brent_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.FieldOptions)(nil), @@ -25684,10 +25704,12 @@ const file_brent_proto_rawDesc = "" + "\x06intent\x18\x02 \x01(\x0e2\x18.brent.IntegrationIntentR\x06intent\x12#\n" + "\rinstance_slug\x18\x03 \x01(\tR\finstanceSlug\"4\n" + " GetIntegrationConnectURLResponse\x12\x10\n" + - "\x03url\x18\x01 \x01(\tR\x03url\"{\n" + + "\x03url\x18\x01 \x01(\tR\x03url\"\x9c\x01\n" + "\x1cDisconnectIntegrationRequest\x126\n" + "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12#\n" + - "\rinstance_slug\x18\x02 \x01(\tR\finstanceSlug\"\x1f\n" + + "\rinstance_slug\x18\x02 \x01(\tR\finstanceSlug\x12\x1f\n" + + "\vinstance_id\x18\x03 \x01(\tR\n" + + "instanceId\"\x1f\n" + "\x1dDisconnectIntegrationResponse\"\xd5\x01\n" + "\x18ConnectByoHttpMcpRequest\x12\x1a\n" + "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12!\n" + @@ -26072,7 +26094,7 @@ const file_brent_proto_rawDesc = "" + "\x12messaging_provider\x18\x04 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\"!\n" + "\x1fListIntegrationCatalogueRequest\"^\n" + " ListIntegrationCatalogueResponse\x12:\n" + - "\aentries\x18\x01 \x03(\v2 .brent.IntegrationCatalogueEntryR\aentries\"\xf3\x03\n" + + "\aentries\x18\x01 \x03(\v2 .brent.IntegrationCatalogueEntryR\aentries\"\x94\x04\n" + "\x19IntegrationCatalogueEntry\x12\x1b\n" + "\tstable_id\x18\x01 \x01(\tR\bstableId\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" + @@ -26088,7 +26110,9 @@ const file_brent_proto_rawDesc = "" + " \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12\x1b\n" + "\tauto_rank\x18\v \x01(\x05R\bautoRank\x129\n" + "\n" + - "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt*\x89\x01\n" + + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1f\n" + + "\vinstance_id\x18\r \x01(\tR\n" + + "instanceId*\x89\x01\n" + "\tRunStatus\x12\x1a\n" + "\x16RUN_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + "\x12RUN_STATUS_RUNNING\x10\x01\x12\x18\n" + From 1706bbeee598603df840d09fc66f335df7dd2718 Mon Sep 17 00:00:00 2001 From: Elliot Waddington Date: Wed, 29 Jul 2026 10:28:41 +0200 Subject: [PATCH 10/36] [ENG-5853] Restore rich Plan attachment links (#6128) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Adds one authenticated, provider-neutral Plan prompt destination with strict workspace membership boundaries and copy/direct-app actions. - Restores Linear native Plan attachments and makes the first Slack Plan notification actionable without reviving retired public or IDE-specific links. - Preserves safe migration behavior through attachment-first ordering, managed-comment fallback, and legacy attachment cleanup. ## Linear Ticket Fixes: [ENG-5853](https://linear.app/overmind/issue/ENG-5853/restore-rich-linear-plan-attachment-experience) — Restore rich Linear plan attachment experience - **Purpose**: Replace the temporary marker-backed Linear comment with a native embedded attachment once Brent has a provider-neutral destination, without restoring dead Cursor-specific links. ## Changes Introduces the `planprompt` URL/read module, an identity-scoped `GetPlanPrompt` RPC with generated clients, and the standalone Brent app prompt route. Refactors Plan-Ticket Sync around a shared sanitized projection and a Linear attachment-first reconciler, while retaining GitLab's existing presentation. Extends Slack's workflow tool with the fixed top-level action and a timestamp-aware signed interaction endpoint, then records the contracts in the ADR, policy, integration guidance, and focused backend/frontend tests. ## Brent Plan Plan ID: BRENT-721 - **Plan**: Restore rich Linear plan attachments and Plan prompt links - **Approved by**: Daniel Carabas - **Pending reviews**: Vasile Labici > Deviation analysis and reviewer assignment are handled automatically by the pre-approved PR review automation (see docs/PREAPPROVED_CHANGES.md). Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor GitOrigin-RevId: 2103cdcf6029c9ad240c78a4239549c0bd7201aa --- go/sdp-go/brent.pb.go | 760 +++++++++++++++----------- go/sdp-go/sdpconnect/brent.connect.go | 37 ++ 2 files changed, 475 insertions(+), 322 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index 558b63ef..f00dead4 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -24147,6 +24147,110 @@ func (x *IntegrationCatalogueEntry) GetInstanceId() string { return "" } +type GetPlanPromptRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlanPromptRequest) Reset() { + *x = GetPlanPromptRequest{} + mi := &file_brent_proto_msgTypes[314] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlanPromptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlanPromptRequest) ProtoMessage() {} + +func (x *GetPlanPromptRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[314] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlanPromptRequest.ProtoReflect.Descriptor instead. +func (*GetPlanPromptRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{314} +} + +func (x *GetPlanPromptRequest) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *GetPlanPromptRequest) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +type GetPlanPromptResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanFriendlyId string `protobuf:"bytes,1,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + PlanTitle string `protobuf:"bytes,2,opt,name=plan_title,json=planTitle,proto3" json:"plan_title,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlanPromptResponse) Reset() { + *x = GetPlanPromptResponse{} + mi := &file_brent_proto_msgTypes[315] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlanPromptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlanPromptResponse) ProtoMessage() {} + +func (x *GetPlanPromptResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[315] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlanPromptResponse.ProtoReflect.Descriptor instead. +func (*GetPlanPromptResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{315} +} + +func (x *GetPlanPromptResponse) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + +func (x *GetPlanPromptResponse) GetPlanTitle() string { + if x != nil { + return x.PlanTitle + } + return "" +} + var file_brent_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.FieldOptions)(nil), @@ -26112,7 +26216,14 @@ const file_brent_proto_rawDesc = "" + "\n" + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1f\n" + "\vinstance_id\x18\r \x01(\tR\n" + - "instanceId*\x89\x01\n" + + "instanceId\"c\n" + + "\x14GetPlanPromptRequest\x12!\n" + + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12(\n" + + "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\"`\n" + + "\x15GetPlanPromptResponse\x12(\n" + + "\x10plan_friendly_id\x18\x01 \x01(\tR\x0eplanFriendlyId\x12\x1d\n" + + "\n" + + "plan_title\x18\x02 \x01(\tR\tplanTitle*\x89\x01\n" + "\tRunStatus\x12\x1a\n" + "\x16RUN_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + "\x12RUN_STATUS_RUNNING\x10\x01\x12\x18\n" + @@ -26179,11 +26290,12 @@ const file_brent_proto_rawDesc = "" + "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + " INTEGRATION_CATALOGUE_SOURCE_BYO\x10\x02\x12/\n" + - "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xd8'\n" + + "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xa4(\n" + "\fBrentService\x12_\n" + "\x14ListOpenPullRequests\x12\".brent.ListOpenPullRequestsRequest\x1a#.brent.ListOpenPullRequestsResponse\x12M\n" + "\x0eGetPullRequest\x12\x1c.brent.GetPullRequestRequest\x1a\x1d.brent.GetPullRequestResponse\x12Y\n" + - "\x12GetPrincipalStatus\x12 .brent.GetPrincipalStatusRequest\x1a!.brent.GetPrincipalStatusResponse\x12k\n" + + "\x12GetPrincipalStatus\x12 .brent.GetPrincipalStatusRequest\x1a!.brent.GetPrincipalStatusResponse\x12J\n" + + "\rGetPlanPrompt\x12\x1b.brent.GetPlanPromptRequest\x1a\x1c.brent.GetPlanPromptResponse\x12k\n" + "\x18GetIntegrationConnectURL\x12&.brent.GetIntegrationConnectURLRequest\x1a'.brent.GetIntegrationConnectURLResponse\x12b\n" + "\x15DisconnectIntegration\x12#.brent.DisconnectIntegrationRequest\x1a$.brent.DisconnectIntegrationResponse\x12V\n" + "\x11ConnectByoHttpMcp\x12\x1f.brent.ConnectByoHttpMcpRequest\x1a .brent.ConnectByoHttpMcpResponse\x12\\\n" + @@ -26290,7 +26402,7 @@ func file_brent_proto_rawDescGZIP() []byte { } var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 328) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 330) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode @@ -26618,54 +26730,56 @@ var file_brent_proto_goTypes = []any{ (*ListIntegrationCatalogueRequest)(nil), // 323: brent.ListIntegrationCatalogueRequest (*ListIntegrationCatalogueResponse)(nil), // 324: brent.ListIntegrationCatalogueResponse (*IntegrationCatalogueEntry)(nil), // 325: brent.IntegrationCatalogueEntry - nil, // 326: brent.PlanUpdated.PreviousEntry - nil, // 327: brent.PlanUpdated.AfterEntry - nil, // 328: brent.PrincipalUpdated.PreviousEntry - nil, // 329: brent.PrincipalUpdated.AfterEntry - nil, // 330: brent.BindingUpdated.PreviousEntry - nil, // 331: brent.BindingUpdated.AfterEntry - nil, // 332: brent.OtherEvent.FieldsEntry - nil, // 333: brent.PullRequestUpdated.PreviousEntry - nil, // 334: brent.PullRequestUpdated.AfterEntry - nil, // 335: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 336: brent.DeviationFindingUpdated.PreviousEntry - nil, // 337: brent.DeviationFindingUpdated.AfterEntry - nil, // 338: brent.NotificationPreferences.PreferencesEntry - nil, // 339: brent.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 340: google.protobuf.Timestamp - (*structpb.Value)(nil), // 341: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 342: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 343: google.protobuf.Empty + (*GetPlanPromptRequest)(nil), // 326: brent.GetPlanPromptRequest + (*GetPlanPromptResponse)(nil), // 327: brent.GetPlanPromptResponse + nil, // 328: brent.PlanUpdated.PreviousEntry + nil, // 329: brent.PlanUpdated.AfterEntry + nil, // 330: brent.PrincipalUpdated.PreviousEntry + nil, // 331: brent.PrincipalUpdated.AfterEntry + nil, // 332: brent.BindingUpdated.PreviousEntry + nil, // 333: brent.BindingUpdated.AfterEntry + nil, // 334: brent.OtherEvent.FieldsEntry + nil, // 335: brent.PullRequestUpdated.PreviousEntry + nil, // 336: brent.PullRequestUpdated.AfterEntry + nil, // 337: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 338: brent.DeviationFindingUpdated.PreviousEntry + nil, // 339: brent.DeviationFindingUpdated.AfterEntry + nil, // 340: brent.NotificationPreferences.PreferencesEntry + nil, // 341: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 342: google.protobuf.Timestamp + (*structpb.Value)(nil), // 343: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 344: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 345: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ 22, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary 23, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest 24, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 340, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 342, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp 23, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest 19, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow 20, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 340, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 340, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 340, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 340, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 340, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 340, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 340, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 342, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 342, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 342, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 342, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 342, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 342, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 342, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp 25, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 340, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 342, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp 29, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 340, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 340, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 342, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 342, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp 105, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 340, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 340, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 342, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 342, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp 105, // 23: brent.ListEventsResponse.events:type_name -> brent.Event 41, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest 41, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 340, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 340, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 342, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 342, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp 43, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep 44, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep 45, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep @@ -26677,65 +26791,65 @@ var file_brent_proto_depIdxs = []int32{ 51, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep 52, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep 56, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 340, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 340, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 340, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 340, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 342, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 342, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 342, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 342, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 59, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan 84, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary 22, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 340, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 340, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 340, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 342, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 342, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 342, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 224, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal 224, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal 64, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity 310, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 340, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 340, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 342, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 342, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp 310, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding 224, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal 64, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity 79, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 340, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 342, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp 84, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 340, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 340, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 342, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 342, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp 87, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review 56, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 340, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 340, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 340, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 340, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 342, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 342, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 342, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 342, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp 88, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 340, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 340, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 342, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 342, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp 91, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary 94, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 340, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 342, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp 97, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 340, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 340, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 340, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 340, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 342, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 342, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 342, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 342, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 340, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 340, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 340, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 340, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 342, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 342, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 342, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 342, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp 102, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 340, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 340, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 340, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 340, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 342, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 342, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 342, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 342, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp 103, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 340, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 340, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 340, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 342, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 342, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 342, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp 106, // 95: brent.Event.actor:type_name -> brent.Actor 107, // 96: brent.Event.object:type_name -> brent.ObjectReference - 340, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 342, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp 108, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated 109, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated 110, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted @@ -26815,53 +26929,53 @@ var file_brent_proto_depIdxs = []int32{ 162, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared 116, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided 141, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 326, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 327, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 340, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 328, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 329, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 328, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 329, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 342, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 330, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 331, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry 7, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 330, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 331, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 332, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 333, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 334, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 340, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 335, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 340, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 332, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 333, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 334, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 335, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 336, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 342, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 337, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 342, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp 155, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 340, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 340, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 336, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 337, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 340, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 340, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 340, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 340, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 340, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 340, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 340, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 340, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 342, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 342, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 338, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 339, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 342, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 342, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 342, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 342, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 342, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 342, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 342, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 342, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp 191, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 340, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 340, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 342, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 342, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp 194, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 340, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 340, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 342, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 342, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp 197, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 340, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 340, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 340, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 340, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 342, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 342, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 342, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 342, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp 197, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary 42, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse 200, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment 203, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun 191, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 340, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 340, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 340, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 340, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 342, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 342, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 342, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 342, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp 105, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState 224, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal @@ -26869,11 +26983,11 @@ var file_brent_proto_depIdxs = []int32{ 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 340, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 340, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 342, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 342, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider 218, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 340, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 342, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp 5, // 236: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider @@ -26884,8 +26998,8 @@ var file_brent_proto_depIdxs = []int32{ 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider 3, // 245: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 340, // 246: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 340, // 247: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 342, // 246: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 342, // 247: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp 225, // 248: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace 225, // 249: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace 6, // 250: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider @@ -26893,47 +27007,47 @@ var file_brent_proto_depIdxs = []int32{ 231, // 252: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate 225, // 253: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace 239, // 254: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 340, // 255: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 342, // 255: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp 240, // 256: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember 7, // 257: brent.JoinableWorkspace.source:type_name -> brent.JoinSource 225, // 258: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 340, // 259: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 342, // 259: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp 243, // 260: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain 243, // 261: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain 243, // 262: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 340, // 263: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 340, // 264: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 342, // 263: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 342, // 264: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp 256, // 265: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus 256, // 266: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 340, // 267: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 342, // 267: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp 263, // 268: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus 263, // 269: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus 225, // 270: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace 225, // 271: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 340, // 272: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 342, // 272: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 9, // 273: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus 277, // 274: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult 225, // 275: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace 283, // 276: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember 10, // 277: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 340, // 278: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 342, // 278: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp 8, // 279: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus 310, // 280: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding 224, // 281: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal 310, // 282: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 338, // 283: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 339, // 284: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 340, // 283: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 341, // 284: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry 300, // 285: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences 300, // 286: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences 300, // 287: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 340, // 288: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 340, // 289: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 340, // 290: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 342, // 288: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 342, // 289: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 342, // 290: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp 311, // 291: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 340, // 292: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 342, // 292: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp 311, // 293: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch 256, // 294: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 340, // 295: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp + 342, // 295: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp 5, // 296: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus 321, // 297: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall 3, // 298: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider @@ -26942,203 +27056,205 @@ var file_brent_proto_depIdxs = []int32{ 325, // 301: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry 11, // 302: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource 3, // 303: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 340, // 304: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 341, // 305: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 341, // 306: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 341, // 307: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 341, // 308: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 341, // 309: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 341, // 310: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 341, // 311: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 341, // 312: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 341, // 313: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 341, // 314: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 342, // 304: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 343, // 305: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 306: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 307: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 308: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 309: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 310: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 311: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 312: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 313: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 314: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value 301, // 315: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 342, // 316: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 344, // 316: brent.embedded_json:extendee -> google.protobuf.FieldOptions 37, // 317: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest 39, // 318: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest 204, // 319: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 206, // 320: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 208, // 321: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 210, // 322: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 212, // 323: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 214, // 324: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 216, // 325: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 294, // 326: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 298, // 327: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 302, // 328: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 304, // 329: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 306, // 330: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest - 308, // 331: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest - 296, // 332: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 312, // 333: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 314, // 334: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 323, // 335: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 226, // 336: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 228, // 337: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 230, // 338: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 233, // 339: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 270, // 340: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 272, // 341: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 235, // 342: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 237, // 343: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 241, // 344: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 274, // 345: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 276, // 346: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 279, // 347: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 281, // 348: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 284, // 349: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 286, // 350: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 288, // 351: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 290, // 352: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 244, // 353: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 246, // 354: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 248, // 355: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 250, // 356: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 254, // 357: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 257, // 358: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 259, // 359: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 261, // 360: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 264, // 361: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 266, // 362: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 268, // 363: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 220, // 364: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 222, // 365: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 252, // 366: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 292, // 367: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 26, // 368: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 27, // 369: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 30, // 370: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 31, // 371: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 33, // 372: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 35, // 373: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 53, // 374: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 54, // 375: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 57, // 376: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 82, // 377: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 85, // 378: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 343, // 379: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 90, // 380: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 93, // 381: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 96, // 382: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 99, // 383: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 101, // 384: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 316, // 385: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 317, // 386: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 318, // 387: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 320, // 388: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest - 189, // 389: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 192, // 390: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 195, // 391: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 198, // 392: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 199, // 393: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 12, // 394: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 14, // 395: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 16, // 396: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 60, // 397: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 62, // 398: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 65, // 399: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 67, // 400: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 69, // 401: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 71, // 402: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 73, // 403: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 75, // 404: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 77, // 405: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 80, // 406: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 18, // 407: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 38, // 408: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 40, // 409: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 205, // 410: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 207, // 411: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 209, // 412: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 211, // 413: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 213, // 414: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 215, // 415: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 217, // 416: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 295, // 417: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 299, // 418: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 303, // 419: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 305, // 420: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 307, // 421: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse - 309, // 422: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse - 297, // 423: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 313, // 424: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 425: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 324, // 426: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 227, // 427: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 229, // 428: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 232, // 429: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 234, // 430: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 271, // 431: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 273, // 432: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 236, // 433: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 238, // 434: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 242, // 435: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 275, // 436: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 278, // 437: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 280, // 438: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 282, // 439: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 285, // 440: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 287, // 441: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 289, // 442: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 291, // 443: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 245, // 444: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 247, // 445: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 249, // 446: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 251, // 447: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 255, // 448: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 258, // 449: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 260, // 450: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 262, // 451: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 265, // 452: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 267, // 453: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 269, // 454: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 221, // 455: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 223, // 456: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 253, // 457: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 293, // 458: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 42, // 459: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 28, // 460: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 42, // 461: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 32, // 462: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 34, // 463: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 36, // 464: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 42, // 465: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 55, // 466: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 58, // 467: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 83, // 468: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 86, // 469: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 89, // 470: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 92, // 471: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 95, // 472: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 98, // 473: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 100, // 474: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 104, // 475: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 313, // 476: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 477: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 319, // 478: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 322, // 479: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse - 190, // 480: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 193, // 481: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 196, // 482: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 202, // 483: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 201, // 484: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 13, // 485: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 15, // 486: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 17, // 487: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 61, // 488: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 63, // 489: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 66, // 490: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 68, // 491: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 70, // 492: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 72, // 493: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 74, // 494: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 76, // 495: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 78, // 496: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 81, // 497: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 21, // 498: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 408, // [408:499] is the sub-list for method output_type - 317, // [317:408] is the sub-list for method input_type + 326, // 320: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest + 206, // 321: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 208, // 322: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 210, // 323: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 212, // 324: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 214, // 325: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 216, // 326: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 294, // 327: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 298, // 328: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 302, // 329: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 304, // 330: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 306, // 331: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest + 308, // 332: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest + 296, // 333: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 312, // 334: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 314, // 335: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 323, // 336: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 226, // 337: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 228, // 338: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 230, // 339: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 233, // 340: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 270, // 341: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 272, // 342: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 235, // 343: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 237, // 344: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 241, // 345: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 274, // 346: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 276, // 347: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 279, // 348: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 281, // 349: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 284, // 350: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 286, // 351: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 288, // 352: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 290, // 353: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 244, // 354: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 246, // 355: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 248, // 356: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 250, // 357: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 254, // 358: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 257, // 359: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 259, // 360: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 261, // 361: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 264, // 362: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 266, // 363: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 268, // 364: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 220, // 365: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 222, // 366: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 252, // 367: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 292, // 368: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 26, // 369: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 27, // 370: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 30, // 371: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 31, // 372: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 33, // 373: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 35, // 374: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 53, // 375: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 54, // 376: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 57, // 377: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 82, // 378: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 85, // 379: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 345, // 380: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 90, // 381: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 93, // 382: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 96, // 383: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 99, // 384: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 101, // 385: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 316, // 386: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 317, // 387: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 318, // 388: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 320, // 389: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest + 189, // 390: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 192, // 391: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 195, // 392: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 198, // 393: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 199, // 394: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 12, // 395: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 14, // 396: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 16, // 397: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 60, // 398: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 62, // 399: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 65, // 400: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 67, // 401: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 69, // 402: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 71, // 403: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 73, // 404: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 75, // 405: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 77, // 406: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 80, // 407: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 18, // 408: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 38, // 409: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 40, // 410: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 205, // 411: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 327, // 412: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse + 207, // 413: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 209, // 414: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 211, // 415: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 213, // 416: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 215, // 417: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 217, // 418: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 295, // 419: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 299, // 420: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 303, // 421: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 305, // 422: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 307, // 423: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse + 309, // 424: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse + 297, // 425: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 313, // 426: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 427: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 324, // 428: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 227, // 429: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 229, // 430: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 232, // 431: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 234, // 432: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 271, // 433: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 273, // 434: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 236, // 435: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 238, // 436: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 242, // 437: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 275, // 438: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 278, // 439: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 280, // 440: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 282, // 441: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 285, // 442: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 287, // 443: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 289, // 444: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 291, // 445: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 245, // 446: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 247, // 447: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 249, // 448: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 251, // 449: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 255, // 450: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 258, // 451: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 260, // 452: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 262, // 453: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 265, // 454: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 267, // 455: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 269, // 456: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 221, // 457: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 223, // 458: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 253, // 459: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 293, // 460: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 42, // 461: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 28, // 462: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 42, // 463: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 32, // 464: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 34, // 465: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 36, // 466: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 42, // 467: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 55, // 468: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 58, // 469: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 83, // 470: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 86, // 471: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 89, // 472: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 92, // 473: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 95, // 474: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 98, // 475: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 100, // 476: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 104, // 477: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 313, // 478: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 479: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 319, // 480: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 322, // 481: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse + 190, // 482: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 193, // 483: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 196, // 484: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 202, // 485: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 201, // 486: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 13, // 487: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 15, // 488: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 17, // 489: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 61, // 490: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 63, // 491: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 66, // 492: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 68, // 493: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 70, // 494: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 72, // 495: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 74, // 496: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 76, // 497: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 78, // 498: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 81, // 499: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 21, // 500: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 409, // [409:501] is the sub-list for method output_type + 317, // [317:409] is the sub-list for method input_type 317, // [317:317] is the sub-list for extension type_name 316, // [316:317] is the sub-list for extension extendee 0, // [0:316] is the sub-list for field type_name @@ -27265,7 +27381,7 @@ func file_brent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), NumEnums: 12, - NumMessages: 328, + NumMessages: 330, NumExtensions: 1, NumServices: 3, }, diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index 397b56e5..2bd9514d 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -47,6 +47,9 @@ const ( // BrentServiceGetPrincipalStatusProcedure is the fully-qualified name of the BrentService's // GetPrincipalStatus RPC. BrentServiceGetPrincipalStatusProcedure = "/brent.BrentService/GetPrincipalStatus" + // BrentServiceGetPlanPromptProcedure is the fully-qualified name of the BrentService's + // GetPlanPrompt RPC. + BrentServiceGetPlanPromptProcedure = "/brent.BrentService/GetPlanPrompt" // BrentServiceGetIntegrationConnectURLProcedure is the fully-qualified name of the BrentService's // GetIntegrationConnectURL RPC. BrentServiceGetIntegrationConnectURLProcedure = "/brent.BrentService/GetIntegrationConnectURL" @@ -334,6 +337,11 @@ type BrentServiceClient interface { // the future Organizations work will evolve when a principal needs to // belong to multiple orgs. GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) + // Returns the minimal metadata needed to render the authenticated Plan prompt + // page. Identity-scoped: workspace_id is explicit and active membership is + // checked server-side. Missing plans, workspaces, and memberships all return + // NotFound. Gated on brent:read. + GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) // Returns a provider-specific OAuth redirect URL for the connections setup // page. Sets an HMAC-signed state cookie on the HTTP response; the browser // sends it back on the callback redirect. Gated on brent:read. @@ -596,6 +604,12 @@ func NewBrentServiceClient(httpClient connect.HTTPClient, baseURL string, opts . connect.WithSchema(brentServiceMethods.ByName("GetPrincipalStatus")), connect.WithClientOptions(opts...), ), + getPlanPrompt: connect.NewClient[sdp_go.GetPlanPromptRequest, sdp_go.GetPlanPromptResponse]( + httpClient, + baseURL+BrentServiceGetPlanPromptProcedure, + connect.WithSchema(brentServiceMethods.ByName("GetPlanPrompt")), + connect.WithClientOptions(opts...), + ), getIntegrationConnectURL: connect.NewClient[sdp_go.GetIntegrationConnectURLRequest, sdp_go.GetIntegrationConnectURLResponse]( httpClient, baseURL+BrentServiceGetIntegrationConnectURLProcedure, @@ -886,6 +900,7 @@ type brentServiceClient struct { listOpenPullRequests *connect.Client[sdp_go.ListOpenPullRequestsRequest, sdp_go.ListOpenPullRequestsResponse] getPullRequest *connect.Client[sdp_go.GetPullRequestRequest, sdp_go.GetPullRequestResponse] getPrincipalStatus *connect.Client[sdp_go.GetPrincipalStatusRequest, sdp_go.GetPrincipalStatusResponse] + getPlanPrompt *connect.Client[sdp_go.GetPlanPromptRequest, sdp_go.GetPlanPromptResponse] getIntegrationConnectURL *connect.Client[sdp_go.GetIntegrationConnectURLRequest, sdp_go.GetIntegrationConnectURLResponse] disconnectIntegration *connect.Client[sdp_go.DisconnectIntegrationRequest, sdp_go.DisconnectIntegrationResponse] connectByoHttpMcp *connect.Client[sdp_go.ConnectByoHttpMcpRequest, sdp_go.ConnectByoHttpMcpResponse] @@ -950,6 +965,11 @@ func (c *brentServiceClient) GetPrincipalStatus(ctx context.Context, req *connec return c.getPrincipalStatus.CallUnary(ctx, req) } +// GetPlanPrompt calls brent.BrentService.GetPlanPrompt. +func (c *brentServiceClient) GetPlanPrompt(ctx context.Context, req *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { + return c.getPlanPrompt.CallUnary(ctx, req) +} + // GetIntegrationConnectURL calls brent.BrentService.GetIntegrationConnectURL. func (c *brentServiceClient) GetIntegrationConnectURL(ctx context.Context, req *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { return c.getIntegrationConnectURL.CallUnary(ctx, req) @@ -1206,6 +1226,11 @@ type BrentServiceHandler interface { // the future Organizations work will evolve when a principal needs to // belong to multiple orgs. GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) + // Returns the minimal metadata needed to render the authenticated Plan prompt + // page. Identity-scoped: workspace_id is explicit and active membership is + // checked server-side. Missing plans, workspaces, and memberships all return + // NotFound. Gated on brent:read. + GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) // Returns a provider-specific OAuth redirect URL for the connections setup // page. Sets an HMAC-signed state cookie on the HTTP response; the browser // sends it back on the callback redirect. Gated on brent:read. @@ -1464,6 +1489,12 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti connect.WithSchema(brentServiceMethods.ByName("GetPrincipalStatus")), connect.WithHandlerOptions(opts...), ) + brentServiceGetPlanPromptHandler := connect.NewUnaryHandler( + BrentServiceGetPlanPromptProcedure, + svc.GetPlanPrompt, + connect.WithSchema(brentServiceMethods.ByName("GetPlanPrompt")), + connect.WithHandlerOptions(opts...), + ) brentServiceGetIntegrationConnectURLHandler := connect.NewUnaryHandler( BrentServiceGetIntegrationConnectURLProcedure, svc.GetIntegrationConnectURL, @@ -1754,6 +1785,8 @@ func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOpti brentServiceGetPullRequestHandler.ServeHTTP(w, r) case BrentServiceGetPrincipalStatusProcedure: brentServiceGetPrincipalStatusHandler.ServeHTTP(w, r) + case BrentServiceGetPlanPromptProcedure: + brentServiceGetPlanPromptHandler.ServeHTTP(w, r) case BrentServiceGetIntegrationConnectURLProcedure: brentServiceGetIntegrationConnectURLHandler.ServeHTTP(w, r) case BrentServiceDisconnectIntegrationProcedure: @@ -1869,6 +1902,10 @@ func (UnimplementedBrentServiceHandler) GetPrincipalStatus(context.Context, *con return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetPrincipalStatus is not implemented")) } +func (UnimplementedBrentServiceHandler) GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetPlanPrompt is not implemented")) +} + func (UnimplementedBrentServiceHandler) GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetIntegrationConnectURL is not implemented")) } From 0eadfcfd64b604a4a0a930323a50a5b125e3d601 Mon Sep 17 00:00:00 2001 From: carabasdaniel Date: Wed, 29 Jul 2026 14:45:58 +0300 Subject: [PATCH 11/36] Drop ticketing_provider / messaging_provider from roles API and schema (ENG-5650) (#6144) ## Summary Completes BRENT-710 / ENG-5650: drops `ticketing_provider` and `messaging_provider` from the workspace roles API and database schema. Stacks on merged #6120 (ENG-5649). - **Proto/API:** Git-only integration roles RPCs; reserved field tags 2/3 - **Database:** Migration drops `ticketing_provider` / `messaging_provider` columns - **Backend:** Roles handler simplified; plan-sync workers gate on install presence - **Frontend:** Ticket-tracking onboarding is Linear-only; source-control switch sends `{ gitProvider }` only - **Admin:** `ListAccountIntegrations` derives ticketing/messaging display from installs (Area51 diagnostics) - **Docs:** Added `.cursor/skills/brent-integrations/SKILL.md` engineering guide ## CI fixes - Regenerated SDP connect/query files after proto comment update - Fixed GitLab `user_resolver_test` data race under `-parallel 8` - Admin role slots derived from installs (Bugbot finding) Plan: BRENT-710
Open in Web Open in Cursor 
--------- Co-authored-by: Cursor Agent Co-authored-by: carabasdaniel GitOrigin-RevId: e9dc1878292375a9b0458526b636e1ff4c3c272e --- go/sdp-go/brent.pb.go | 620 ++++++++++++-------------- go/sdp-go/sdpconnect/brent.connect.go | 8 +- 2 files changed, 283 insertions(+), 345 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index f00dead4..ccf86d82 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -18611,10 +18611,6 @@ type GetWorkspaceIntegrationRolesResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Chosen source-control provider, or UNSPECIFIED if not yet configured. GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` - // Chosen ticketing provider, or UNSPECIFIED for none. - TicketingProvider IntegrationProvider `protobuf:"varint,2,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` - // Chosen messaging provider, or UNSPECIFIED for none. - MessagingProvider IntegrationProvider `protobuf:"varint,3,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` // Present when the workspace has a connected install for the current // git_provider and the registry can build a safe manage URL. GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` @@ -18659,20 +18655,6 @@ func (x *GetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvi return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED } -func (x *GetWorkspaceIntegrationRolesResponse) GetTicketingProvider() IntegrationProvider { - if x != nil { - return x.TicketingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *GetWorkspaceIntegrationRolesResponse) GetMessagingProvider() IntegrationProvider { - if x != nil { - return x.MessagingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - func (x *GetWorkspaceIntegrationRolesResponse) GetGitManageUrl() string { if x != nil { return x.GitManageUrl @@ -18682,14 +18664,12 @@ func (x *GetWorkspaceIntegrationRolesResponse) GetGitManageUrl() string { type SetWorkspaceIntegrationRolesRequest struct { state protoimpl.MessageState `protogen:"open.v1"` - // Use UNSPECIFIED to clear optional roles. git_provider UNSPECIFIED is - // rejected once a git provider has ever been set OR while a git install is - // connected (cannot clear required role without disconnect). - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` - TicketingProvider IntegrationProvider `protobuf:"varint,2,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` - MessagingProvider IntegrationProvider `protobuf:"varint,3,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // git_provider UNSPECIFIED is rejected once a git provider has ever been set + // OR while a git install is connected (cannot clear required role without + // disconnect). + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SetWorkspaceIntegrationRolesRequest) Reset() { @@ -18729,28 +18709,12 @@ func (x *SetWorkspaceIntegrationRolesRequest) GetGitProvider() IntegrationProvid return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED } -func (x *SetWorkspaceIntegrationRolesRequest) GetTicketingProvider() IntegrationProvider { - if x != nil { - return x.TicketingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *SetWorkspaceIntegrationRolesRequest) GetMessagingProvider() IntegrationProvider { - if x != nil { - return x.MessagingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - type SetWorkspaceIntegrationRolesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` - TicketingProvider IntegrationProvider `protobuf:"varint,2,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` - MessagingProvider IntegrationProvider `protobuf:"varint,3,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` - GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SetWorkspaceIntegrationRolesResponse) Reset() { @@ -18790,20 +18754,6 @@ func (x *SetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvi return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED } -func (x *SetWorkspaceIntegrationRolesResponse) GetTicketingProvider() IntegrationProvider { - if x != nil { - return x.TicketingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *SetWorkspaceIntegrationRolesResponse) GetMessagingProvider() IntegrationProvider { - if x != nil { - return x.MessagingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - func (x *SetWorkspaceIntegrationRolesResponse) GetGitManageUrl() string { if x != nil { return x.GitManageUrl @@ -25858,21 +25808,15 @@ const file_brent_proto_rawDesc = "" + "\asummary\x18\b \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\asummary\x12\"\n" + "\x06detail\x18\t \x01(\tB\n" + "\xbaH\ar\x05\x10\x01\x18\xa0\x01R\x06detail\"%\n" + - "#GetWorkspaceIntegrationRolesRequest\"\xa1\x02\n" + + "#GetWorkspaceIntegrationRolesRequest\"\xbf\x01\n" + "$GetWorkspaceIntegrationRolesResponse\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + - "\x12ticketing_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + - "\x12messaging_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\x12$\n" + - "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrl\"\xfa\x01\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12$\n" + + "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\x98\x01\n" + "#SetWorkspaceIntegrationRolesRequest\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + - "\x12ticketing_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + - "\x12messaging_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\"\xa1\x02\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProviderJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xbf\x01\n" + "$SetWorkspaceIntegrationRolesResponse\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + - "\x12ticketing_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + - "\x12messaging_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\x12$\n" + - "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrl\"\x94\x02\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12$\n" + + "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\x94\x02\n" + "\tPrincipal\x12\x1f\n" + "\vexternal_id\x18\x01 \x01(\tR\n" + "externalId\x12!\n" + @@ -26990,274 +26934,268 @@ var file_brent_proto_depIdxs = []int32{ 342, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp 5, // 236: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 239: brent.GetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 3, // 240: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider - 3, // 241: brent.SetWorkspaceIntegrationRolesRequest.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 242: brent.SetWorkspaceIntegrationRolesRequest.messaging_provider:type_name -> brent.IntegrationProvider - 3, // 243: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 244: brent.SetWorkspaceIntegrationRolesResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 245: brent.SetWorkspaceIntegrationRolesResponse.messaging_provider:type_name -> brent.IntegrationProvider - 342, // 246: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 342, // 247: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp - 225, // 248: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace - 225, // 249: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace - 6, // 250: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider - 6, // 251: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider - 231, // 252: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate - 225, // 253: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace - 239, // 254: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 342, // 255: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp - 240, // 256: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember - 7, // 257: brent.JoinableWorkspace.source:type_name -> brent.JoinSource - 225, // 258: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 342, // 259: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp - 243, // 260: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain - 243, // 261: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 243, // 262: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 342, // 263: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 342, // 264: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp - 256, // 265: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 256, // 266: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 342, // 267: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 263, // 268: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus - 263, // 269: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus - 225, // 270: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace - 225, // 271: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 342, // 272: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 9, // 273: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus - 277, // 274: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult - 225, // 275: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace - 283, // 276: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember - 10, // 277: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 342, // 278: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 8, // 279: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 310, // 280: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding - 224, // 281: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 310, // 282: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 340, // 283: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 341, // 284: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry - 300, // 285: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 300, // 286: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences - 300, // 287: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 342, // 288: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 342, // 289: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 342, // 290: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 311, // 291: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 342, // 292: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 311, // 293: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 256, // 294: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 342, // 295: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp - 5, // 296: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus - 321, // 297: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall - 3, // 298: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 299: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 300: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider - 325, // 301: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry - 11, // 302: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource - 3, // 303: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 342, // 304: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 343, // 305: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 306: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 307: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 308: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 309: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 310: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 311: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 312: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 313: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 314: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 301, // 315: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 344, // 316: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 37, // 317: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 39, // 318: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 204, // 319: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 326, // 320: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest - 206, // 321: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 208, // 322: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 210, // 323: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 212, // 324: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 214, // 325: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 216, // 326: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 294, // 327: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 298, // 328: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 302, // 329: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 304, // 330: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 306, // 331: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest - 308, // 332: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest - 296, // 333: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 312, // 334: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 314, // 335: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 323, // 336: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 226, // 337: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 228, // 338: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 230, // 339: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 233, // 340: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 270, // 341: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 272, // 342: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 235, // 343: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 237, // 344: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 241, // 345: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 274, // 346: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 276, // 347: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 279, // 348: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 281, // 349: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 284, // 350: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 286, // 351: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 288, // 352: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 290, // 353: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 244, // 354: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 246, // 355: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 248, // 356: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 250, // 357: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 254, // 358: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 257, // 359: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 259, // 360: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 261, // 361: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 264, // 362: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 266, // 363: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 268, // 364: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 220, // 365: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 222, // 366: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 252, // 367: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 292, // 368: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 26, // 369: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 27, // 370: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 30, // 371: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 31, // 372: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 33, // 373: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 35, // 374: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 53, // 375: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 54, // 376: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 57, // 377: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 82, // 378: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 85, // 379: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 345, // 380: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 90, // 381: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 93, // 382: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 96, // 383: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 99, // 384: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 101, // 385: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 316, // 386: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 317, // 387: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 318, // 388: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 320, // 389: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest - 189, // 390: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 192, // 391: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 195, // 392: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 198, // 393: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 199, // 394: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 12, // 395: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 14, // 396: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 16, // 397: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 60, // 398: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 62, // 399: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 65, // 400: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 67, // 401: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 69, // 402: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 71, // 403: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 73, // 404: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 75, // 405: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 77, // 406: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 80, // 407: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 18, // 408: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 38, // 409: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 40, // 410: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 205, // 411: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 327, // 412: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse - 207, // 413: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 209, // 414: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 211, // 415: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 213, // 416: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 215, // 417: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 217, // 418: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 295, // 419: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 299, // 420: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 303, // 421: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 305, // 422: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 307, // 423: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse - 309, // 424: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse - 297, // 425: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 313, // 426: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 427: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 324, // 428: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 227, // 429: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 229, // 430: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 232, // 431: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 234, // 432: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 271, // 433: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 273, // 434: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 236, // 435: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 238, // 436: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 242, // 437: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 275, // 438: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 278, // 439: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 280, // 440: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 282, // 441: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 285, // 442: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 287, // 443: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 289, // 444: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 291, // 445: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 245, // 446: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 247, // 447: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 249, // 448: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 251, // 449: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 255, // 450: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 258, // 451: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 260, // 452: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 262, // 453: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 265, // 454: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 267, // 455: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 269, // 456: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 221, // 457: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 223, // 458: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 253, // 459: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 293, // 460: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 42, // 461: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 28, // 462: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 42, // 463: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 32, // 464: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 34, // 465: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 36, // 466: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 42, // 467: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 55, // 468: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 58, // 469: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 83, // 470: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 86, // 471: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 89, // 472: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 92, // 473: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 95, // 474: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 98, // 475: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 100, // 476: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 104, // 477: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 313, // 478: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 479: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 319, // 480: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 322, // 481: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse - 190, // 482: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 193, // 483: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 196, // 484: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 202, // 485: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 201, // 486: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 13, // 487: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 15, // 488: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 17, // 489: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 61, // 490: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 63, // 491: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 66, // 492: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 68, // 493: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 70, // 494: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 72, // 495: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 74, // 496: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 76, // 497: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 78, // 498: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 81, // 499: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 21, // 500: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 409, // [409:501] is the sub-list for method output_type - 317, // [317:409] is the sub-list for method input_type - 317, // [317:317] is the sub-list for extension type_name - 316, // [316:317] is the sub-list for extension extendee - 0, // [0:316] is the sub-list for field type_name + 3, // 238: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider + 3, // 239: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 342, // 240: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 342, // 241: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 225, // 242: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace + 225, // 243: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace + 6, // 244: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider + 6, // 245: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider + 231, // 246: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate + 225, // 247: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace + 239, // 248: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace + 342, // 249: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 240, // 250: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember + 7, // 251: brent.JoinableWorkspace.source:type_name -> brent.JoinSource + 225, // 252: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace + 342, // 253: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 243, // 254: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain + 243, // 255: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 243, // 256: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 342, // 257: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 342, // 258: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 256, // 259: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 256, // 260: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 342, // 261: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 263, // 262: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus + 263, // 263: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus + 225, // 264: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace + 225, // 265: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace + 342, // 266: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 9, // 267: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus + 277, // 268: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult + 225, // 269: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace + 283, // 270: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember + 10, // 271: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState + 342, // 272: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 8, // 273: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus + 310, // 274: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 224, // 275: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal + 310, // 276: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 340, // 277: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 341, // 278: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 300, // 279: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 300, // 280: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences + 300, // 281: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 342, // 282: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 342, // 283: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 342, // 284: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 311, // 285: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 342, // 286: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 311, // 287: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 256, // 288: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 342, // 289: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp + 5, // 290: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus + 321, // 291: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall + 3, // 292: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 293: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 294: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider + 325, // 295: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 11, // 296: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource + 3, // 297: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider + 342, // 298: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 343, // 299: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 300: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 301: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 302: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 303: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 304: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 305: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 306: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 343, // 307: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 343, // 308: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 301, // 309: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 344, // 310: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 37, // 311: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 39, // 312: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 204, // 313: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 326, // 314: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest + 206, // 315: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 208, // 316: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 210, // 317: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 212, // 318: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 214, // 319: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 216, // 320: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 294, // 321: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 298, // 322: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 302, // 323: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 304, // 324: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 306, // 325: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest + 308, // 326: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest + 296, // 327: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 312, // 328: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 314, // 329: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 323, // 330: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 226, // 331: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 228, // 332: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 230, // 333: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 233, // 334: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 270, // 335: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 272, // 336: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 235, // 337: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 237, // 338: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 241, // 339: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 274, // 340: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 276, // 341: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 279, // 342: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 281, // 343: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 284, // 344: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 286, // 345: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 288, // 346: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 290, // 347: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 244, // 348: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 246, // 349: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 248, // 350: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 250, // 351: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 254, // 352: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 257, // 353: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 259, // 354: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 261, // 355: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 264, // 356: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 266, // 357: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 268, // 358: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 220, // 359: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 222, // 360: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 252, // 361: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 292, // 362: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 26, // 363: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 27, // 364: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 30, // 365: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 31, // 366: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 33, // 367: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 35, // 368: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 53, // 369: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 54, // 370: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 57, // 371: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 82, // 372: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 85, // 373: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 345, // 374: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 90, // 375: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 93, // 376: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 96, // 377: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 99, // 378: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 101, // 379: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 316, // 380: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 317, // 381: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 318, // 382: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 320, // 383: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest + 189, // 384: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 192, // 385: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 195, // 386: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 198, // 387: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 199, // 388: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 12, // 389: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 14, // 390: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 16, // 391: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 60, // 392: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 62, // 393: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 65, // 394: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 67, // 395: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 69, // 396: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 71, // 397: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 73, // 398: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 75, // 399: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 77, // 400: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 80, // 401: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 18, // 402: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 38, // 403: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 40, // 404: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 205, // 405: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 327, // 406: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse + 207, // 407: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 209, // 408: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 211, // 409: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 213, // 410: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 215, // 411: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 217, // 412: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 295, // 413: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 299, // 414: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 303, // 415: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 305, // 416: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 307, // 417: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse + 309, // 418: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse + 297, // 419: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 313, // 420: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 421: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 324, // 422: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 227, // 423: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 229, // 424: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 232, // 425: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 234, // 426: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 271, // 427: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 273, // 428: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 236, // 429: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 238, // 430: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 242, // 431: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 275, // 432: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 278, // 433: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 280, // 434: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 282, // 435: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 285, // 436: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 287, // 437: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 289, // 438: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 291, // 439: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 245, // 440: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 247, // 441: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 249, // 442: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 251, // 443: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 255, // 444: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 258, // 445: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 260, // 446: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 262, // 447: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 265, // 448: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 267, // 449: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 269, // 450: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 221, // 451: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 223, // 452: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 253, // 453: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 293, // 454: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 42, // 455: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 28, // 456: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 42, // 457: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 32, // 458: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 34, // 459: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 36, // 460: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 42, // 461: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 55, // 462: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 58, // 463: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 83, // 464: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 86, // 465: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 89, // 466: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 92, // 467: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 95, // 468: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 98, // 469: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 100, // 470: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 104, // 471: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 313, // 472: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 315, // 473: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 319, // 474: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 322, // 475: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse + 190, // 476: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 193, // 477: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 196, // 478: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 202, // 479: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 201, // 480: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 13, // 481: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 15, // 482: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 17, // 483: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 61, // 484: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 63, // 485: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 66, // 486: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 68, // 487: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 70, // 488: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 72, // 489: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 74, // 490: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 76, // 491: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 78, // 492: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 81, // 493: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 21, // 494: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 403, // [403:495] is the sub-list for method output_type + 311, // [311:403] is the sub-list for method input_type + 311, // [311:311] is the sub-list for extension type_name + 310, // [310:311] is the sub-list for extension extendee + 0, // [0:310] is the sub-list for field type_name } func init() { file_brent_proto_init() } diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index 2bd9514d..ee0487b9 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -554,8 +554,8 @@ type BrentServiceClient interface { // Deletes the calling principal's personal Cursor key and tombstones its // verified Cursor binding. Idempotent and workspace-scoped; gated on brent:write. DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) - // Returns the workspace's configured integration roles (git, ticketing, - // messaging providers) and the Manage URL for the connected git provider. + // Returns the workspace's configured git integration role and the Manage URL + // for the connected git provider. // Workspace-scoped; the caller must be an active member. Gated on brent:read. GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) // Sets the workspace's integration roles. Validates that providers are @@ -1443,8 +1443,8 @@ type BrentServiceHandler interface { // Deletes the calling principal's personal Cursor key and tombstones its // verified Cursor binding. Idempotent and workspace-scoped; gated on brent:write. DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) - // Returns the workspace's configured integration roles (git, ticketing, - // messaging providers) and the Manage URL for the connected git provider. + // Returns the workspace's configured git integration role and the Manage URL + // for the connected git provider. // Workspace-scoped; the caller must be an active member. Gated on brent:read. GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) // Sets the workspace's integration roles. Validates that providers are From 9bd5ffd3e680aa7cfc62587170db33360eeee64c Mon Sep 17 00:00:00 2001 From: Dylan Date: Thu, 30 Jul 2026 13:43:54 -0700 Subject: [PATCH 12/36] Restore cascade-deleted reviews with restore_plan (ENG-5910) (#6157) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Soft-deleting a plan cascade-soft-deletes its active reviews, but restoring the plan previously left those reviews deleted. This change restores reviews whose `deleted_at` matches the plan tombstone (same delete transaction `now()`), emits one `ReviewRestored` per revived review then `PlanRestored`, and leaves independently soft-deleted reviews alone. ## Changes - **SDP:** add `ReviewRestored` (`Event` oneof field 91) parallel to `ReviewDeleted` - **`RestorePlan`:** list + clear matching review tombstones in the same tx as plan restore; fail on unique `(plan_id, reviewer_id)` conflict - **Event plumbing:** plan UUID / friendly ID / review ID extraction and workflow event-type naming parity with `ReviewDeleted` - **Docs / MCP:** update `restore_plan` description and `plans/README.md` (plan-named surfaces only) ## Verification ```bash cd services/brent-backend go test -race -count=1 ./plans/ ./events/ ./workflows/ ./service/ -run 'RestorePlan|DeletePlan_AndRestore|PlanUUID|PlanFriendly|ReviewRestored|eventTypeName|eventPlanUUID|extractRunIDs' ``` ## Deviation notes - **`missing-review-restored-friendly-id-test`:** Fixed — `TestPlanFriendlyIDForEvent` now covers `ReviewRestored`. - **`beyond-review-restored-documentation-surfaces`:** Reverted — removed extras in `workflows_syntax.md`, `reviews/README.md`, and `workflows/README.md` so docs stay on the plan-named surfaces. Closes ENG-5910 Brent-Plan: BRENT-762
Open in Web Open in Cursor 
--------- Co-authored-by: Cursor Agent Co-authored-by: Dylan GitOrigin-RevId: dbbcfacca9a28533221f378025175dde66379434 --- go/sdp-go/brent.pb.go | 2799 +++++++++++++++++++++-------------------- 1 file changed, 1450 insertions(+), 1349 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index ccf86d82..ad9a5d82 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -7438,6 +7438,7 @@ type Event struct { // *Event_DeviationFindingAcknowledged // *Event_DeviationFindingAcknowledgementCleared // *Event_PlanReviewPolicyDecided + // *Event_ReviewRestored // *Event_UnknownStoredPayload Payload isEvent_Payload `protobuf_oneof:"payload"` unknownFields protoimpl.UnknownFields @@ -8253,6 +8254,15 @@ func (x *Event) GetPlanReviewPolicyDecided() *PlanReviewPolicyDecided { return nil } +func (x *Event) GetReviewRestored() *ReviewRestored { + if x != nil { + if x, ok := x.Payload.(*Event_ReviewRestored); ok { + return x.ReviewRestored + } + } + return nil +} + func (x *Event) GetUnknownStoredPayload() *UnknownStoredPayload { if x != nil { if x, ok := x.Payload.(*Event_UnknownStoredPayload); ok { @@ -8624,6 +8634,12 @@ type Event_PlanReviewPolicyDecided struct { PlanReviewPolicyDecided *PlanReviewPolicyDecided `protobuf:"bytes,90,opt,name=plan_review_policy_decided,json=planReviewPolicyDecided,proto3,oneof"` } +type Event_ReviewRestored struct { + // ReviewRestored fires after plans.Store.RestorePlan revives a + // cascade-soft-deleted review (ENG-5910 / BRENT-762). + ReviewRestored *ReviewRestored `protobuf:"bytes,91,opt,name=review_restored,json=reviewRestored,proto3,oneof"` +} + type Event_UnknownStoredPayload struct { // UnknownStoredPayload is a read-path placeholder when a persisted row // cannot be reconstructed into a typed variant. Never written by @@ -8787,6 +8803,8 @@ func (*Event_DeviationFindingAcknowledgementCleared) isEvent_Payload() {} func (*Event_PlanReviewPolicyDecided) isEvent_Payload() {} +func (*Event_ReviewRestored) isEvent_Payload() {} + func (*Event_UnknownStoredPayload) isEvent_Payload() {} // Actor identifies who or what caused an event. Flat shape; type-safety @@ -9273,6 +9291,80 @@ func (x *ReviewDeleted) GetReviewerPrincipalId() string { return "" } +// ReviewRestored fires after plans.Store.RestorePlan clears deleted_at on a +// review that was cascade-soft-deleted with the plan (same deleted_at +// timestamp). One event is emitted per revived review in the same +// transaction as PlanRestored. +type ReviewRestored struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + ReviewerPrincipalId string `protobuf:"bytes,3,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` + // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), + // carried so workflow CEL reads plan.friendly_id without a lookup. + PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewRestored) Reset() { + *x = ReviewRestored{} + mi := &file_brent_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewRestored) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewRestored) ProtoMessage() {} + +func (x *ReviewRestored) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewRestored.ProtoReflect.Descriptor instead. +func (*ReviewRestored) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{100} +} + +func (x *ReviewRestored) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *ReviewRestored) GetPlanUuid() string { + if x != nil { + return x.PlanUuid + } + return "" +} + +func (x *ReviewRestored) GetReviewerPrincipalId() string { + if x != nil { + return x.ReviewerPrincipalId + } + return "" +} + +func (x *ReviewRestored) GetPlanFriendlyId() string { + if x != nil { + return x.PlanFriendlyId + } + return "" +} + // PlanRestored fires after plans.Store.RestorePlan commits. type PlanRestored struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -9287,7 +9379,7 @@ type PlanRestored struct { func (x *PlanRestored) Reset() { *x = PlanRestored{} - mi := &file_brent_proto_msgTypes[100] + mi := &file_brent_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9299,7 +9391,7 @@ func (x *PlanRestored) String() string { func (*PlanRestored) ProtoMessage() {} func (x *PlanRestored) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[100] + mi := &file_brent_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9312,7 +9404,7 @@ func (x *PlanRestored) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanRestored.ProtoReflect.Descriptor instead. func (*PlanRestored) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{100} + return file_brent_proto_rawDescGZIP(), []int{101} } func (x *PlanRestored) GetPlanUuid() string { @@ -9356,7 +9448,7 @@ type ReviewRequested struct { func (x *ReviewRequested) Reset() { *x = ReviewRequested{} - mi := &file_brent_proto_msgTypes[101] + mi := &file_brent_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9368,7 +9460,7 @@ func (x *ReviewRequested) String() string { func (*ReviewRequested) ProtoMessage() {} func (x *ReviewRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[101] + mi := &file_brent_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9381,7 +9473,7 @@ func (x *ReviewRequested) ProtoReflect() protoreflect.Message { // Deprecated: Use ReviewRequested.ProtoReflect.Descriptor instead. func (*ReviewRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{101} + return file_brent_proto_rawDescGZIP(), []int{102} } func (x *ReviewRequested) GetReviewId() string { @@ -9442,7 +9534,7 @@ type ReviewSubmitted struct { func (x *ReviewSubmitted) Reset() { *x = ReviewSubmitted{} - mi := &file_brent_proto_msgTypes[102] + mi := &file_brent_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9454,7 +9546,7 @@ func (x *ReviewSubmitted) String() string { func (*ReviewSubmitted) ProtoMessage() {} func (x *ReviewSubmitted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[102] + mi := &file_brent_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9467,7 +9559,7 @@ func (x *ReviewSubmitted) ProtoReflect() protoreflect.Message { // Deprecated: Use ReviewSubmitted.ProtoReflect.Descriptor instead. func (*ReviewSubmitted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{102} + return file_brent_proto_rawDescGZIP(), []int{103} } func (x *ReviewSubmitted) GetReviewId() string { @@ -9558,7 +9650,7 @@ type ReviewNoEligibleReviewer struct { func (x *ReviewNoEligibleReviewer) Reset() { *x = ReviewNoEligibleReviewer{} - mi := &file_brent_proto_msgTypes[103] + mi := &file_brent_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9570,7 +9662,7 @@ func (x *ReviewNoEligibleReviewer) String() string { func (*ReviewNoEligibleReviewer) ProtoMessage() {} func (x *ReviewNoEligibleReviewer) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[103] + mi := &file_brent_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9583,7 +9675,7 @@ func (x *ReviewNoEligibleReviewer) ProtoReflect() protoreflect.Message { // Deprecated: Use ReviewNoEligibleReviewer.ProtoReflect.Descriptor instead. func (*ReviewNoEligibleReviewer) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{103} + return file_brent_proto_rawDescGZIP(), []int{104} } func (x *ReviewNoEligibleReviewer) GetPlanUuid() string { @@ -9636,7 +9728,7 @@ type PlanReviewPolicyDecided struct { func (x *PlanReviewPolicyDecided) Reset() { *x = PlanReviewPolicyDecided{} - mi := &file_brent_proto_msgTypes[104] + mi := &file_brent_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9648,7 +9740,7 @@ func (x *PlanReviewPolicyDecided) String() string { func (*PlanReviewPolicyDecided) ProtoMessage() {} func (x *PlanReviewPolicyDecided) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[104] + mi := &file_brent_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9661,7 +9753,7 @@ func (x *PlanReviewPolicyDecided) ProtoReflect() protoreflect.Message { // Deprecated: Use PlanReviewPolicyDecided.ProtoReflect.Descriptor instead. func (*PlanReviewPolicyDecided) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{104} + return file_brent_proto_rawDescGZIP(), []int{105} } func (x *PlanReviewPolicyDecided) GetPlanUuid() string { @@ -9718,7 +9810,7 @@ type PrincipalCreated struct { func (x *PrincipalCreated) Reset() { *x = PrincipalCreated{} - mi := &file_brent_proto_msgTypes[105] + mi := &file_brent_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9730,7 +9822,7 @@ func (x *PrincipalCreated) String() string { func (*PrincipalCreated) ProtoMessage() {} func (x *PrincipalCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[105] + mi := &file_brent_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9743,7 +9835,7 @@ func (x *PrincipalCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use PrincipalCreated.ProtoReflect.Descriptor instead. func (*PrincipalCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{105} + return file_brent_proto_rawDescGZIP(), []int{106} } func (x *PrincipalCreated) GetPrincipalId() string { @@ -9789,7 +9881,7 @@ type PrincipalUpdated struct { func (x *PrincipalUpdated) Reset() { *x = PrincipalUpdated{} - mi := &file_brent_proto_msgTypes[106] + mi := &file_brent_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9801,7 +9893,7 @@ func (x *PrincipalUpdated) String() string { func (*PrincipalUpdated) ProtoMessage() {} func (x *PrincipalUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[106] + mi := &file_brent_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9814,7 +9906,7 @@ func (x *PrincipalUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use PrincipalUpdated.ProtoReflect.Descriptor instead. func (*PrincipalUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{106} + return file_brent_proto_rawDescGZIP(), []int{107} } func (x *PrincipalUpdated) GetPrincipalId() string { @@ -9860,7 +9952,7 @@ type PrincipalTombstoned struct { func (x *PrincipalTombstoned) Reset() { *x = PrincipalTombstoned{} - mi := &file_brent_proto_msgTypes[107] + mi := &file_brent_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9872,7 +9964,7 @@ func (x *PrincipalTombstoned) String() string { func (*PrincipalTombstoned) ProtoMessage() {} func (x *PrincipalTombstoned) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[107] + mi := &file_brent_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9885,7 +9977,7 @@ func (x *PrincipalTombstoned) ProtoReflect() protoreflect.Message { // Deprecated: Use PrincipalTombstoned.ProtoReflect.Descriptor instead. func (*PrincipalTombstoned) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{107} + return file_brent_proto_rawDescGZIP(), []int{108} } func (x *PrincipalTombstoned) GetPrincipalId() string { @@ -9921,7 +10013,7 @@ type WorkspaceCreated struct { func (x *WorkspaceCreated) Reset() { *x = WorkspaceCreated{} - mi := &file_brent_proto_msgTypes[108] + mi := &file_brent_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9933,7 +10025,7 @@ func (x *WorkspaceCreated) String() string { func (*WorkspaceCreated) ProtoMessage() {} func (x *WorkspaceCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[108] + mi := &file_brent_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9946,7 +10038,7 @@ func (x *WorkspaceCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceCreated.ProtoReflect.Descriptor instead. func (*WorkspaceCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{108} + return file_brent_proto_rawDescGZIP(), []int{109} } func (x *WorkspaceCreated) GetWorkspaceId() string { @@ -9992,7 +10084,7 @@ type WorkspaceOnboardingCompleted struct { func (x *WorkspaceOnboardingCompleted) Reset() { *x = WorkspaceOnboardingCompleted{} - mi := &file_brent_proto_msgTypes[109] + mi := &file_brent_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10004,7 +10096,7 @@ func (x *WorkspaceOnboardingCompleted) String() string { func (*WorkspaceOnboardingCompleted) ProtoMessage() {} func (x *WorkspaceOnboardingCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[109] + mi := &file_brent_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10017,7 +10109,7 @@ func (x *WorkspaceOnboardingCompleted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceOnboardingCompleted.ProtoReflect.Descriptor instead. func (*WorkspaceOnboardingCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{109} + return file_brent_proto_rawDescGZIP(), []int{110} } func (x *WorkspaceOnboardingCompleted) GetWorkspaceId() string { @@ -10059,7 +10151,7 @@ type WorkspaceRenamed struct { func (x *WorkspaceRenamed) Reset() { *x = WorkspaceRenamed{} - mi := &file_brent_proto_msgTypes[110] + mi := &file_brent_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10071,7 +10163,7 @@ func (x *WorkspaceRenamed) String() string { func (*WorkspaceRenamed) ProtoMessage() {} func (x *WorkspaceRenamed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[110] + mi := &file_brent_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10084,7 +10176,7 @@ func (x *WorkspaceRenamed) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceRenamed.ProtoReflect.Descriptor instead. func (*WorkspaceRenamed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{110} + return file_brent_proto_rawDescGZIP(), []int{111} } func (x *WorkspaceRenamed) GetWorkspaceId() string { @@ -10142,7 +10234,7 @@ type WorkspaceDeleted struct { func (x *WorkspaceDeleted) Reset() { *x = WorkspaceDeleted{} - mi := &file_brent_proto_msgTypes[111] + mi := &file_brent_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10154,7 +10246,7 @@ func (x *WorkspaceDeleted) String() string { func (*WorkspaceDeleted) ProtoMessage() {} func (x *WorkspaceDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[111] + mi := &file_brent_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10167,7 +10259,7 @@ func (x *WorkspaceDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceDeleted.ProtoReflect.Descriptor instead. func (*WorkspaceDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{111} + return file_brent_proto_rawDescGZIP(), []int{112} } func (x *WorkspaceDeleted) GetWorkspaceId() string { @@ -10208,7 +10300,7 @@ type WorkspaceMemberJoined struct { func (x *WorkspaceMemberJoined) Reset() { *x = WorkspaceMemberJoined{} - mi := &file_brent_proto_msgTypes[112] + mi := &file_brent_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10220,7 +10312,7 @@ func (x *WorkspaceMemberJoined) String() string { func (*WorkspaceMemberJoined) ProtoMessage() {} func (x *WorkspaceMemberJoined) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[112] + mi := &file_brent_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10233,7 +10325,7 @@ func (x *WorkspaceMemberJoined) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceMemberJoined.ProtoReflect.Descriptor instead. func (*WorkspaceMemberJoined) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{112} + return file_brent_proto_rawDescGZIP(), []int{113} } func (x *WorkspaceMemberJoined) GetWorkspaceId() string { @@ -10285,7 +10377,7 @@ type WorkspaceMemberLeft struct { func (x *WorkspaceMemberLeft) Reset() { *x = WorkspaceMemberLeft{} - mi := &file_brent_proto_msgTypes[113] + mi := &file_brent_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10297,7 +10389,7 @@ func (x *WorkspaceMemberLeft) String() string { func (*WorkspaceMemberLeft) ProtoMessage() {} func (x *WorkspaceMemberLeft) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[113] + mi := &file_brent_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10310,7 +10402,7 @@ func (x *WorkspaceMemberLeft) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceMemberLeft.ProtoReflect.Descriptor instead. func (*WorkspaceMemberLeft) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{113} + return file_brent_proto_rawDescGZIP(), []int{114} } func (x *WorkspaceMemberLeft) GetWorkspaceId() string { @@ -10353,7 +10445,7 @@ type ApprovedEmailDomainAdded struct { func (x *ApprovedEmailDomainAdded) Reset() { *x = ApprovedEmailDomainAdded{} - mi := &file_brent_proto_msgTypes[114] + mi := &file_brent_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10365,7 +10457,7 @@ func (x *ApprovedEmailDomainAdded) String() string { func (*ApprovedEmailDomainAdded) ProtoMessage() {} func (x *ApprovedEmailDomainAdded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[114] + mi := &file_brent_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10378,7 +10470,7 @@ func (x *ApprovedEmailDomainAdded) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomainAdded.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomainAdded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{114} + return file_brent_proto_rawDescGZIP(), []int{115} } func (x *ApprovedEmailDomainAdded) GetWorkspaceId() string { @@ -10424,7 +10516,7 @@ type ApprovedEmailDomainVerified struct { func (x *ApprovedEmailDomainVerified) Reset() { *x = ApprovedEmailDomainVerified{} - mi := &file_brent_proto_msgTypes[115] + mi := &file_brent_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10436,7 +10528,7 @@ func (x *ApprovedEmailDomainVerified) String() string { func (*ApprovedEmailDomainVerified) ProtoMessage() {} func (x *ApprovedEmailDomainVerified) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[115] + mi := &file_brent_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10449,7 +10541,7 @@ func (x *ApprovedEmailDomainVerified) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomainVerified.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomainVerified) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{115} + return file_brent_proto_rawDescGZIP(), []int{116} } func (x *ApprovedEmailDomainVerified) GetWorkspaceId() string { @@ -10495,7 +10587,7 @@ type ApprovedEmailDomainDeleted struct { func (x *ApprovedEmailDomainDeleted) Reset() { *x = ApprovedEmailDomainDeleted{} - mi := &file_brent_proto_msgTypes[116] + mi := &file_brent_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10507,7 +10599,7 @@ func (x *ApprovedEmailDomainDeleted) String() string { func (*ApprovedEmailDomainDeleted) ProtoMessage() {} func (x *ApprovedEmailDomainDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[116] + mi := &file_brent_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10520,7 +10612,7 @@ func (x *ApprovedEmailDomainDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomainDeleted.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomainDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{116} + return file_brent_proto_rawDescGZIP(), []int{117} } func (x *ApprovedEmailDomainDeleted) GetWorkspaceId() string { @@ -10577,7 +10669,7 @@ type MCPGrantWorkspaceBindingChanged struct { func (x *MCPGrantWorkspaceBindingChanged) Reset() { *x = MCPGrantWorkspaceBindingChanged{} - mi := &file_brent_proto_msgTypes[117] + mi := &file_brent_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10589,7 +10681,7 @@ func (x *MCPGrantWorkspaceBindingChanged) String() string { func (*MCPGrantWorkspaceBindingChanged) ProtoMessage() {} func (x *MCPGrantWorkspaceBindingChanged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[117] + mi := &file_brent_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10602,7 +10694,7 @@ func (x *MCPGrantWorkspaceBindingChanged) ProtoReflect() protoreflect.Message { // Deprecated: Use MCPGrantWorkspaceBindingChanged.ProtoReflect.Descriptor instead. func (*MCPGrantWorkspaceBindingChanged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{117} + return file_brent_proto_rawDescGZIP(), []int{118} } func (x *MCPGrantWorkspaceBindingChanged) GetBindingId() string { @@ -10681,7 +10773,7 @@ type IdentityCreated struct { func (x *IdentityCreated) Reset() { *x = IdentityCreated{} - mi := &file_brent_proto_msgTypes[118] + mi := &file_brent_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10693,7 +10785,7 @@ func (x *IdentityCreated) String() string { func (*IdentityCreated) ProtoMessage() {} func (x *IdentityCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[118] + mi := &file_brent_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10706,7 +10798,7 @@ func (x *IdentityCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use IdentityCreated.ProtoReflect.Descriptor instead. func (*IdentityCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{118} + return file_brent_proto_rawDescGZIP(), []int{119} } func (x *IdentityCreated) GetIdentityId() string { @@ -10752,7 +10844,7 @@ type IdentityDeleted struct { func (x *IdentityDeleted) Reset() { *x = IdentityDeleted{} - mi := &file_brent_proto_msgTypes[119] + mi := &file_brent_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10764,7 +10856,7 @@ func (x *IdentityDeleted) String() string { func (*IdentityDeleted) ProtoMessage() {} func (x *IdentityDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[119] + mi := &file_brent_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10777,7 +10869,7 @@ func (x *IdentityDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use IdentityDeleted.ProtoReflect.Descriptor instead. func (*IdentityDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{119} + return file_brent_proto_rawDescGZIP(), []int{120} } func (x *IdentityDeleted) GetIdentityId() string { @@ -10834,7 +10926,7 @@ type BindingCreated struct { func (x *BindingCreated) Reset() { *x = BindingCreated{} - mi := &file_brent_proto_msgTypes[120] + mi := &file_brent_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10846,7 +10938,7 @@ func (x *BindingCreated) String() string { func (*BindingCreated) ProtoMessage() {} func (x *BindingCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[120] + mi := &file_brent_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10859,7 +10951,7 @@ func (x *BindingCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use BindingCreated.ProtoReflect.Descriptor instead. func (*BindingCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{120} + return file_brent_proto_rawDescGZIP(), []int{121} } func (x *BindingCreated) GetBindingId() string { @@ -10917,7 +11009,7 @@ type BindingUpdated struct { func (x *BindingUpdated) Reset() { *x = BindingUpdated{} - mi := &file_brent_proto_msgTypes[121] + mi := &file_brent_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10929,7 +11021,7 @@ func (x *BindingUpdated) String() string { func (*BindingUpdated) ProtoMessage() {} func (x *BindingUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[121] + mi := &file_brent_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10942,7 +11034,7 @@ func (x *BindingUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use BindingUpdated.ProtoReflect.Descriptor instead. func (*BindingUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{121} + return file_brent_proto_rawDescGZIP(), []int{122} } func (x *BindingUpdated) GetBindingId() string { @@ -10995,7 +11087,7 @@ type BindingDeleted struct { func (x *BindingDeleted) Reset() { *x = BindingDeleted{} - mi := &file_brent_proto_msgTypes[122] + mi := &file_brent_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11007,7 +11099,7 @@ func (x *BindingDeleted) String() string { func (*BindingDeleted) ProtoMessage() {} func (x *BindingDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[122] + mi := &file_brent_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11020,7 +11112,7 @@ func (x *BindingDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use BindingDeleted.ProtoReflect.Descriptor instead. func (*BindingDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{122} + return file_brent_proto_rawDescGZIP(), []int{123} } func (x *BindingDeleted) GetBindingId() string { @@ -11064,7 +11156,7 @@ type CredentialConnected struct { func (x *CredentialConnected) Reset() { *x = CredentialConnected{} - mi := &file_brent_proto_msgTypes[123] + mi := &file_brent_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11076,7 +11168,7 @@ func (x *CredentialConnected) String() string { func (*CredentialConnected) ProtoMessage() {} func (x *CredentialConnected) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[123] + mi := &file_brent_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11089,7 +11181,7 @@ func (x *CredentialConnected) ProtoReflect() protoreflect.Message { // Deprecated: Use CredentialConnected.ProtoReflect.Descriptor instead. func (*CredentialConnected) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{123} + return file_brent_proto_rawDescGZIP(), []int{124} } func (x *CredentialConnected) GetProvider() string { @@ -11124,7 +11216,7 @@ type CredentialRevoked struct { func (x *CredentialRevoked) Reset() { *x = CredentialRevoked{} - mi := &file_brent_proto_msgTypes[124] + mi := &file_brent_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11136,7 +11228,7 @@ func (x *CredentialRevoked) String() string { func (*CredentialRevoked) ProtoMessage() {} func (x *CredentialRevoked) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[124] + mi := &file_brent_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11149,7 +11241,7 @@ func (x *CredentialRevoked) ProtoReflect() protoreflect.Message { // Deprecated: Use CredentialRevoked.ProtoReflect.Descriptor instead. func (*CredentialRevoked) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{124} + return file_brent_proto_rawDescGZIP(), []int{125} } func (x *CredentialRevoked) GetProvider() string { @@ -11171,7 +11263,7 @@ type WorkspaceLLMCredentialConnected struct { func (x *WorkspaceLLMCredentialConnected) Reset() { *x = WorkspaceLLMCredentialConnected{} - mi := &file_brent_proto_msgTypes[125] + mi := &file_brent_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11183,7 +11275,7 @@ func (x *WorkspaceLLMCredentialConnected) String() string { func (*WorkspaceLLMCredentialConnected) ProtoMessage() {} func (x *WorkspaceLLMCredentialConnected) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[125] + mi := &file_brent_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11196,7 +11288,7 @@ func (x *WorkspaceLLMCredentialConnected) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceLLMCredentialConnected.ProtoReflect.Descriptor instead. func (*WorkspaceLLMCredentialConnected) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{125} + return file_brent_proto_rawDescGZIP(), []int{126} } func (x *WorkspaceLLMCredentialConnected) GetProvider() string { @@ -11224,7 +11316,7 @@ type WorkspaceLLMCredentialRevoked struct { func (x *WorkspaceLLMCredentialRevoked) Reset() { *x = WorkspaceLLMCredentialRevoked{} - mi := &file_brent_proto_msgTypes[126] + mi := &file_brent_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11236,7 +11328,7 @@ func (x *WorkspaceLLMCredentialRevoked) String() string { func (*WorkspaceLLMCredentialRevoked) ProtoMessage() {} func (x *WorkspaceLLMCredentialRevoked) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[126] + mi := &file_brent_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11249,7 +11341,7 @@ func (x *WorkspaceLLMCredentialRevoked) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceLLMCredentialRevoked.ProtoReflect.Descriptor instead. func (*WorkspaceLLMCredentialRevoked) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{126} + return file_brent_proto_rawDescGZIP(), []int{127} } func (x *WorkspaceLLMCredentialRevoked) GetProvider() string { @@ -11287,7 +11379,7 @@ type ReviewDriveByStarted struct { func (x *ReviewDriveByStarted) Reset() { *x = ReviewDriveByStarted{} - mi := &file_brent_proto_msgTypes[127] + mi := &file_brent_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11299,7 +11391,7 @@ func (x *ReviewDriveByStarted) String() string { func (*ReviewDriveByStarted) ProtoMessage() {} func (x *ReviewDriveByStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[127] + mi := &file_brent_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11312,7 +11404,7 @@ func (x *ReviewDriveByStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use ReviewDriveByStarted.ProtoReflect.Descriptor instead. func (*ReviewDriveByStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{127} + return file_brent_proto_rawDescGZIP(), []int{128} } func (x *ReviewDriveByStarted) GetReviewId() string { @@ -11379,7 +11471,7 @@ type OtherEvent struct { func (x *OtherEvent) Reset() { *x = OtherEvent{} - mi := &file_brent_proto_msgTypes[128] + mi := &file_brent_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11391,7 +11483,7 @@ func (x *OtherEvent) String() string { func (*OtherEvent) ProtoMessage() {} func (x *OtherEvent) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[128] + mi := &file_brent_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11404,7 +11496,7 @@ func (x *OtherEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use OtherEvent.ProtoReflect.Descriptor instead. func (*OtherEvent) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{128} + return file_brent_proto_rawDescGZIP(), []int{129} } func (x *OtherEvent) GetSource() string { @@ -11444,7 +11536,7 @@ type UnknownStoredPayload struct { func (x *UnknownStoredPayload) Reset() { *x = UnknownStoredPayload{} - mi := &file_brent_proto_msgTypes[129] + mi := &file_brent_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11456,7 +11548,7 @@ func (x *UnknownStoredPayload) String() string { func (*UnknownStoredPayload) ProtoMessage() {} func (x *UnknownStoredPayload) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[129] + mi := &file_brent_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11469,7 +11561,7 @@ func (x *UnknownStoredPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use UnknownStoredPayload.ProtoReflect.Descriptor instead. func (*UnknownStoredPayload) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{129} + return file_brent_proto_rawDescGZIP(), []int{130} } func (x *UnknownStoredPayload) GetStoredPayloadType() string { @@ -11518,7 +11610,7 @@ type PullRequestOpened struct { func (x *PullRequestOpened) Reset() { *x = PullRequestOpened{} - mi := &file_brent_proto_msgTypes[130] + mi := &file_brent_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11530,7 +11622,7 @@ func (x *PullRequestOpened) String() string { func (*PullRequestOpened) ProtoMessage() {} func (x *PullRequestOpened) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[130] + mi := &file_brent_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11543,7 +11635,7 @@ func (x *PullRequestOpened) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestOpened.ProtoReflect.Descriptor instead. func (*PullRequestOpened) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{130} + return file_brent_proto_rawDescGZIP(), []int{131} } func (x *PullRequestOpened) GetPrId() string { @@ -11668,7 +11760,7 @@ type PullRequestSynchronized struct { func (x *PullRequestSynchronized) Reset() { *x = PullRequestSynchronized{} - mi := &file_brent_proto_msgTypes[131] + mi := &file_brent_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11680,7 +11772,7 @@ func (x *PullRequestSynchronized) String() string { func (*PullRequestSynchronized) ProtoMessage() {} func (x *PullRequestSynchronized) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[131] + mi := &file_brent_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11693,7 +11785,7 @@ func (x *PullRequestSynchronized) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestSynchronized.ProtoReflect.Descriptor instead. func (*PullRequestSynchronized) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{131} + return file_brent_proto_rawDescGZIP(), []int{132} } func (x *PullRequestSynchronized) GetPrId() string { @@ -11833,7 +11925,7 @@ type PullRequestUpdated struct { func (x *PullRequestUpdated) Reset() { *x = PullRequestUpdated{} - mi := &file_brent_proto_msgTypes[132] + mi := &file_brent_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11845,7 +11937,7 @@ func (x *PullRequestUpdated) String() string { func (*PullRequestUpdated) ProtoMessage() {} func (x *PullRequestUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[132] + mi := &file_brent_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11858,7 +11950,7 @@ func (x *PullRequestUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestUpdated.ProtoReflect.Descriptor instead. func (*PullRequestUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{132} + return file_brent_proto_rawDescGZIP(), []int{133} } func (x *PullRequestUpdated) GetPrId() string { @@ -12005,7 +12097,7 @@ type PullRequestClosed struct { func (x *PullRequestClosed) Reset() { *x = PullRequestClosed{} - mi := &file_brent_proto_msgTypes[133] + mi := &file_brent_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12017,7 +12109,7 @@ func (x *PullRequestClosed) String() string { func (*PullRequestClosed) ProtoMessage() {} func (x *PullRequestClosed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[133] + mi := &file_brent_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12030,7 +12122,7 @@ func (x *PullRequestClosed) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestClosed.ProtoReflect.Descriptor instead. func (*PullRequestClosed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{133} + return file_brent_proto_rawDescGZIP(), []int{134} } func (x *PullRequestClosed) GetPrId() string { @@ -12170,7 +12262,7 @@ type PullRequestLinkedToPlan struct { func (x *PullRequestLinkedToPlan) Reset() { *x = PullRequestLinkedToPlan{} - mi := &file_brent_proto_msgTypes[134] + mi := &file_brent_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12182,7 +12274,7 @@ func (x *PullRequestLinkedToPlan) String() string { func (*PullRequestLinkedToPlan) ProtoMessage() {} func (x *PullRequestLinkedToPlan) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[134] + mi := &file_brent_proto_msgTypes[135] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12195,7 +12287,7 @@ func (x *PullRequestLinkedToPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestLinkedToPlan.ProtoReflect.Descriptor instead. func (*PullRequestLinkedToPlan) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{134} + return file_brent_proto_rawDescGZIP(), []int{135} } func (x *PullRequestLinkedToPlan) GetPrId() string { @@ -12321,7 +12413,7 @@ type PullRequestUnlinkedFromPlan struct { func (x *PullRequestUnlinkedFromPlan) Reset() { *x = PullRequestUnlinkedFromPlan{} - mi := &file_brent_proto_msgTypes[135] + mi := &file_brent_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12333,7 +12425,7 @@ func (x *PullRequestUnlinkedFromPlan) String() string { func (*PullRequestUnlinkedFromPlan) ProtoMessage() {} func (x *PullRequestUnlinkedFromPlan) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[135] + mi := &file_brent_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12346,7 +12438,7 @@ func (x *PullRequestUnlinkedFromPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestUnlinkedFromPlan.ProtoReflect.Descriptor instead. func (*PullRequestUnlinkedFromPlan) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{135} + return file_brent_proto_rawDescGZIP(), []int{136} } func (x *PullRequestUnlinkedFromPlan) GetPrId() string { @@ -12481,7 +12573,7 @@ type PullRequestLinkedToAgentRun struct { func (x *PullRequestLinkedToAgentRun) Reset() { *x = PullRequestLinkedToAgentRun{} - mi := &file_brent_proto_msgTypes[136] + mi := &file_brent_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12493,7 +12585,7 @@ func (x *PullRequestLinkedToAgentRun) String() string { func (*PullRequestLinkedToAgentRun) ProtoMessage() {} func (x *PullRequestLinkedToAgentRun) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[136] + mi := &file_brent_proto_msgTypes[137] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12506,7 +12598,7 @@ func (x *PullRequestLinkedToAgentRun) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestLinkedToAgentRun.ProtoReflect.Descriptor instead. func (*PullRequestLinkedToAgentRun) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{136} + return file_brent_proto_rawDescGZIP(), []int{137} } func (x *PullRequestLinkedToAgentRun) GetPrId() string { @@ -12631,7 +12723,7 @@ type PullRequestReviewRequested struct { func (x *PullRequestReviewRequested) Reset() { *x = PullRequestReviewRequested{} - mi := &file_brent_proto_msgTypes[137] + mi := &file_brent_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12643,7 +12735,7 @@ func (x *PullRequestReviewRequested) String() string { func (*PullRequestReviewRequested) ProtoMessage() {} func (x *PullRequestReviewRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[137] + mi := &file_brent_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12656,7 +12748,7 @@ func (x *PullRequestReviewRequested) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestReviewRequested.ProtoReflect.Descriptor instead. func (*PullRequestReviewRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{137} + return file_brent_proto_rawDescGZIP(), []int{138} } func (x *PullRequestReviewRequested) GetPrId() string { @@ -12758,7 +12850,7 @@ type PullRequestApproved struct { func (x *PullRequestApproved) Reset() { *x = PullRequestApproved{} - mi := &file_brent_proto_msgTypes[138] + mi := &file_brent_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12770,7 +12862,7 @@ func (x *PullRequestApproved) String() string { func (*PullRequestApproved) ProtoMessage() {} func (x *PullRequestApproved) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[138] + mi := &file_brent_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12783,7 +12875,7 @@ func (x *PullRequestApproved) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestApproved.ProtoReflect.Descriptor instead. func (*PullRequestApproved) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{138} + return file_brent_proto_rawDescGZIP(), []int{139} } func (x *PullRequestApproved) GetPrId() string { @@ -12899,7 +12991,7 @@ type PullRequestChangesRequested struct { func (x *PullRequestChangesRequested) Reset() { *x = PullRequestChangesRequested{} - mi := &file_brent_proto_msgTypes[139] + mi := &file_brent_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12911,7 +13003,7 @@ func (x *PullRequestChangesRequested) String() string { func (*PullRequestChangesRequested) ProtoMessage() {} func (x *PullRequestChangesRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[139] + mi := &file_brent_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12924,7 +13016,7 @@ func (x *PullRequestChangesRequested) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestChangesRequested.ProtoReflect.Descriptor instead. func (*PullRequestChangesRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{139} + return file_brent_proto_rawDescGZIP(), []int{140} } func (x *PullRequestChangesRequested) GetPrId() string { @@ -13035,7 +13127,7 @@ type PullRequestReviewDismissed struct { func (x *PullRequestReviewDismissed) Reset() { *x = PullRequestReviewDismissed{} - mi := &file_brent_proto_msgTypes[140] + mi := &file_brent_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13047,7 +13139,7 @@ func (x *PullRequestReviewDismissed) String() string { func (*PullRequestReviewDismissed) ProtoMessage() {} func (x *PullRequestReviewDismissed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[140] + mi := &file_brent_proto_msgTypes[141] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13060,7 +13152,7 @@ func (x *PullRequestReviewDismissed) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestReviewDismissed.ProtoReflect.Descriptor instead. func (*PullRequestReviewDismissed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{140} + return file_brent_proto_rawDescGZIP(), []int{141} } func (x *PullRequestReviewDismissed) GetPrId() string { @@ -13168,7 +13260,7 @@ type PullRequestCommentCreated struct { func (x *PullRequestCommentCreated) Reset() { *x = PullRequestCommentCreated{} - mi := &file_brent_proto_msgTypes[141] + mi := &file_brent_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13180,7 +13272,7 @@ func (x *PullRequestCommentCreated) String() string { func (*PullRequestCommentCreated) ProtoMessage() {} func (x *PullRequestCommentCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[141] + mi := &file_brent_proto_msgTypes[142] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13193,7 +13285,7 @@ func (x *PullRequestCommentCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestCommentCreated.ProtoReflect.Descriptor instead. func (*PullRequestCommentCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{141} + return file_brent_proto_rawDescGZIP(), []int{142} } func (x *PullRequestCommentCreated) GetPrId() string { @@ -13290,7 +13382,7 @@ type DeviationAnalysisStarted struct { func (x *DeviationAnalysisStarted) Reset() { *x = DeviationAnalysisStarted{} - mi := &file_brent_proto_msgTypes[142] + mi := &file_brent_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13302,7 +13394,7 @@ func (x *DeviationAnalysisStarted) String() string { func (*DeviationAnalysisStarted) ProtoMessage() {} func (x *DeviationAnalysisStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[142] + mi := &file_brent_proto_msgTypes[143] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13315,7 +13407,7 @@ func (x *DeviationAnalysisStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationAnalysisStarted.ProtoReflect.Descriptor instead. func (*DeviationAnalysisStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{142} + return file_brent_proto_rawDescGZIP(), []int{143} } func (x *DeviationAnalysisStarted) GetAnalysisId() string { @@ -13383,7 +13475,7 @@ type FindingSummary struct { func (x *FindingSummary) Reset() { *x = FindingSummary{} - mi := &file_brent_proto_msgTypes[143] + mi := &file_brent_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13395,7 +13487,7 @@ func (x *FindingSummary) String() string { func (*FindingSummary) ProtoMessage() {} func (x *FindingSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[143] + mi := &file_brent_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13408,7 +13500,7 @@ func (x *FindingSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use FindingSummary.ProtoReflect.Descriptor instead. func (*FindingSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{143} + return file_brent_proto_rawDescGZIP(), []int{144} } func (x *FindingSummary) GetKind() string { @@ -13464,7 +13556,7 @@ type DeviationAnalysisCompleted struct { func (x *DeviationAnalysisCompleted) Reset() { *x = DeviationAnalysisCompleted{} - mi := &file_brent_proto_msgTypes[144] + mi := &file_brent_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13476,7 +13568,7 @@ func (x *DeviationAnalysisCompleted) String() string { func (*DeviationAnalysisCompleted) ProtoMessage() {} func (x *DeviationAnalysisCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[144] + mi := &file_brent_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13489,7 +13581,7 @@ func (x *DeviationAnalysisCompleted) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationAnalysisCompleted.ProtoReflect.Descriptor instead. func (*DeviationAnalysisCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{144} + return file_brent_proto_rawDescGZIP(), []int{145} } func (x *DeviationAnalysisCompleted) GetAnalysisId() string { @@ -13578,7 +13670,7 @@ type DeviationAnalysisFailed struct { func (x *DeviationAnalysisFailed) Reset() { *x = DeviationAnalysisFailed{} - mi := &file_brent_proto_msgTypes[145] + mi := &file_brent_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13590,7 +13682,7 @@ func (x *DeviationAnalysisFailed) String() string { func (*DeviationAnalysisFailed) ProtoMessage() {} func (x *DeviationAnalysisFailed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[145] + mi := &file_brent_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13603,7 +13695,7 @@ func (x *DeviationAnalysisFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationAnalysisFailed.ProtoReflect.Descriptor instead. func (*DeviationAnalysisFailed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{145} + return file_brent_proto_rawDescGZIP(), []int{146} } func (x *DeviationAnalysisFailed) GetAnalysisId() string { @@ -13669,7 +13761,7 @@ type DeviationFindingRecorded struct { func (x *DeviationFindingRecorded) Reset() { *x = DeviationFindingRecorded{} - mi := &file_brent_proto_msgTypes[146] + mi := &file_brent_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13681,7 +13773,7 @@ func (x *DeviationFindingRecorded) String() string { func (*DeviationFindingRecorded) ProtoMessage() {} func (x *DeviationFindingRecorded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[146] + mi := &file_brent_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13694,7 +13786,7 @@ func (x *DeviationFindingRecorded) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingRecorded.ProtoReflect.Descriptor instead. func (*DeviationFindingRecorded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{146} + return file_brent_proto_rawDescGZIP(), []int{147} } func (x *DeviationFindingRecorded) GetFindingId() string { @@ -13754,7 +13846,7 @@ type DeviationFindingUpdated struct { func (x *DeviationFindingUpdated) Reset() { *x = DeviationFindingUpdated{} - mi := &file_brent_proto_msgTypes[147] + mi := &file_brent_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13766,7 +13858,7 @@ func (x *DeviationFindingUpdated) String() string { func (*DeviationFindingUpdated) ProtoMessage() {} func (x *DeviationFindingUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[147] + mi := &file_brent_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13779,7 +13871,7 @@ func (x *DeviationFindingUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingUpdated.ProtoReflect.Descriptor instead. func (*DeviationFindingUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{147} + return file_brent_proto_rawDescGZIP(), []int{148} } func (x *DeviationFindingUpdated) GetFindingId() string { @@ -13846,7 +13938,7 @@ type DeviationFindingResolved struct { func (x *DeviationFindingResolved) Reset() { *x = DeviationFindingResolved{} - mi := &file_brent_proto_msgTypes[148] + mi := &file_brent_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13858,7 +13950,7 @@ func (x *DeviationFindingResolved) String() string { func (*DeviationFindingResolved) ProtoMessage() {} func (x *DeviationFindingResolved) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[148] + mi := &file_brent_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13871,7 +13963,7 @@ func (x *DeviationFindingResolved) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingResolved.ProtoReflect.Descriptor instead. func (*DeviationFindingResolved) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{148} + return file_brent_proto_rawDescGZIP(), []int{149} } func (x *DeviationFindingResolved) GetFindingId() string { @@ -13936,7 +14028,7 @@ type DeviationFindingAcknowledged struct { func (x *DeviationFindingAcknowledged) Reset() { *x = DeviationFindingAcknowledged{} - mi := &file_brent_proto_msgTypes[149] + mi := &file_brent_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13948,7 +14040,7 @@ func (x *DeviationFindingAcknowledged) String() string { func (*DeviationFindingAcknowledged) ProtoMessage() {} func (x *DeviationFindingAcknowledged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[149] + mi := &file_brent_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13961,7 +14053,7 @@ func (x *DeviationFindingAcknowledged) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingAcknowledged.ProtoReflect.Descriptor instead. func (*DeviationFindingAcknowledged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{149} + return file_brent_proto_rawDescGZIP(), []int{150} } func (x *DeviationFindingAcknowledged) GetFindingId() string { @@ -14040,7 +14132,7 @@ type DeviationFindingAcknowledgementCleared struct { func (x *DeviationFindingAcknowledgementCleared) Reset() { *x = DeviationFindingAcknowledgementCleared{} - mi := &file_brent_proto_msgTypes[150] + mi := &file_brent_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14052,7 +14144,7 @@ func (x *DeviationFindingAcknowledgementCleared) String() string { func (*DeviationFindingAcknowledgementCleared) ProtoMessage() {} func (x *DeviationFindingAcknowledgementCleared) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[150] + mi := &file_brent_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14065,7 +14157,7 @@ func (x *DeviationFindingAcknowledgementCleared) ProtoReflect() protoreflect.Mes // Deprecated: Use DeviationFindingAcknowledgementCleared.ProtoReflect.Descriptor instead. func (*DeviationFindingAcknowledgementCleared) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{150} + return file_brent_proto_rawDescGZIP(), []int{151} } func (x *DeviationFindingAcknowledgementCleared) GetFindingId() string { @@ -14143,7 +14235,7 @@ type AgentRunDispatched struct { func (x *AgentRunDispatched) Reset() { *x = AgentRunDispatched{} - mi := &file_brent_proto_msgTypes[151] + mi := &file_brent_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14155,7 +14247,7 @@ func (x *AgentRunDispatched) String() string { func (*AgentRunDispatched) ProtoMessage() {} func (x *AgentRunDispatched) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[151] + mi := &file_brent_proto_msgTypes[152] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14168,7 +14260,7 @@ func (x *AgentRunDispatched) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunDispatched.ProtoReflect.Descriptor instead. func (*AgentRunDispatched) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{151} + return file_brent_proto_rawDescGZIP(), []int{152} } func (x *AgentRunDispatched) GetAgentRunUuid() string { @@ -14246,7 +14338,7 @@ type AgentRunStarted struct { func (x *AgentRunStarted) Reset() { *x = AgentRunStarted{} - mi := &file_brent_proto_msgTypes[152] + mi := &file_brent_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14258,7 +14350,7 @@ func (x *AgentRunStarted) String() string { func (*AgentRunStarted) ProtoMessage() {} func (x *AgentRunStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[152] + mi := &file_brent_proto_msgTypes[153] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14271,7 +14363,7 @@ func (x *AgentRunStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunStarted.ProtoReflect.Descriptor instead. func (*AgentRunStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{152} + return file_brent_proto_rawDescGZIP(), []int{153} } func (x *AgentRunStarted) GetAgentRunUuid() string { @@ -14308,7 +14400,7 @@ type AgentRunPullRequestMatched struct { func (x *AgentRunPullRequestMatched) Reset() { *x = AgentRunPullRequestMatched{} - mi := &file_brent_proto_msgTypes[153] + mi := &file_brent_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14320,7 +14412,7 @@ func (x *AgentRunPullRequestMatched) String() string { func (*AgentRunPullRequestMatched) ProtoMessage() {} func (x *AgentRunPullRequestMatched) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[153] + mi := &file_brent_proto_msgTypes[154] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14333,7 +14425,7 @@ func (x *AgentRunPullRequestMatched) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunPullRequestMatched.ProtoReflect.Descriptor instead. func (*AgentRunPullRequestMatched) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{153} + return file_brent_proto_rawDescGZIP(), []int{154} } func (x *AgentRunPullRequestMatched) GetAgentRunUuid() string { @@ -14377,7 +14469,7 @@ type AgentRunFlaggedNeedsYou struct { func (x *AgentRunFlaggedNeedsYou) Reset() { *x = AgentRunFlaggedNeedsYou{} - mi := &file_brent_proto_msgTypes[154] + mi := &file_brent_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14389,7 +14481,7 @@ func (x *AgentRunFlaggedNeedsYou) String() string { func (*AgentRunFlaggedNeedsYou) ProtoMessage() {} func (x *AgentRunFlaggedNeedsYou) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[154] + mi := &file_brent_proto_msgTypes[155] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14402,7 +14494,7 @@ func (x *AgentRunFlaggedNeedsYou) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunFlaggedNeedsYou.ProtoReflect.Descriptor instead. func (*AgentRunFlaggedNeedsYou) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{154} + return file_brent_proto_rawDescGZIP(), []int{155} } func (x *AgentRunFlaggedNeedsYou) GetAgentRunUuid() string { @@ -14448,7 +14540,7 @@ type AgentRunGatePassed struct { func (x *AgentRunGatePassed) Reset() { *x = AgentRunGatePassed{} - mi := &file_brent_proto_msgTypes[155] + mi := &file_brent_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14460,7 +14552,7 @@ func (x *AgentRunGatePassed) String() string { func (*AgentRunGatePassed) ProtoMessage() {} func (x *AgentRunGatePassed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[155] + mi := &file_brent_proto_msgTypes[156] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14473,7 +14565,7 @@ func (x *AgentRunGatePassed) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunGatePassed.ProtoReflect.Descriptor instead. func (*AgentRunGatePassed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{155} + return file_brent_proto_rawDescGZIP(), []int{156} } func (x *AgentRunGatePassed) GetAgentRunUuid() string { @@ -14517,7 +14609,7 @@ type AgentRunMerged struct { func (x *AgentRunMerged) Reset() { *x = AgentRunMerged{} - mi := &file_brent_proto_msgTypes[156] + mi := &file_brent_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14529,7 +14621,7 @@ func (x *AgentRunMerged) String() string { func (*AgentRunMerged) ProtoMessage() {} func (x *AgentRunMerged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[156] + mi := &file_brent_proto_msgTypes[157] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14542,7 +14634,7 @@ func (x *AgentRunMerged) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunMerged.ProtoReflect.Descriptor instead. func (*AgentRunMerged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{156} + return file_brent_proto_rawDescGZIP(), []int{157} } func (x *AgentRunMerged) GetAgentRunUuid() string { @@ -14586,7 +14678,7 @@ type AgentRunCancelled struct { func (x *AgentRunCancelled) Reset() { *x = AgentRunCancelled{} - mi := &file_brent_proto_msgTypes[157] + mi := &file_brent_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14598,7 +14690,7 @@ func (x *AgentRunCancelled) String() string { func (*AgentRunCancelled) ProtoMessage() {} func (x *AgentRunCancelled) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[157] + mi := &file_brent_proto_msgTypes[158] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14611,7 +14703,7 @@ func (x *AgentRunCancelled) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunCancelled.ProtoReflect.Descriptor instead. func (*AgentRunCancelled) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{157} + return file_brent_proto_rawDescGZIP(), []int{158} } func (x *AgentRunCancelled) GetAgentRunUuid() string { @@ -14655,7 +14747,7 @@ type AgentRunDeclined struct { func (x *AgentRunDeclined) Reset() { *x = AgentRunDeclined{} - mi := &file_brent_proto_msgTypes[158] + mi := &file_brent_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14667,7 +14759,7 @@ func (x *AgentRunDeclined) String() string { func (*AgentRunDeclined) ProtoMessage() {} func (x *AgentRunDeclined) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[158] + mi := &file_brent_proto_msgTypes[159] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14680,7 +14772,7 @@ func (x *AgentRunDeclined) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunDeclined.ProtoReflect.Descriptor instead. func (*AgentRunDeclined) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{158} + return file_brent_proto_rawDescGZIP(), []int{159} } func (x *AgentRunDeclined) GetPlanUuid() string { @@ -14719,7 +14811,7 @@ type AgentRunAnnotated struct { func (x *AgentRunAnnotated) Reset() { *x = AgentRunAnnotated{} - mi := &file_brent_proto_msgTypes[159] + mi := &file_brent_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14731,7 +14823,7 @@ func (x *AgentRunAnnotated) String() string { func (*AgentRunAnnotated) ProtoMessage() {} func (x *AgentRunAnnotated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[159] + mi := &file_brent_proto_msgTypes[160] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14744,7 +14836,7 @@ func (x *AgentRunAnnotated) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunAnnotated.ProtoReflect.Descriptor instead. func (*AgentRunAnnotated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{159} + return file_brent_proto_rawDescGZIP(), []int{160} } func (x *AgentRunAnnotated) GetAgentRunUuid() string { @@ -14809,7 +14901,7 @@ type WorkflowIngested struct { func (x *WorkflowIngested) Reset() { *x = WorkflowIngested{} - mi := &file_brent_proto_msgTypes[160] + mi := &file_brent_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14821,7 +14913,7 @@ func (x *WorkflowIngested) String() string { func (*WorkflowIngested) ProtoMessage() {} func (x *WorkflowIngested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[160] + mi := &file_brent_proto_msgTypes[161] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14834,7 +14926,7 @@ func (x *WorkflowIngested) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowIngested.ProtoReflect.Descriptor instead. func (*WorkflowIngested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{160} + return file_brent_proto_rawDescGZIP(), []int{161} } func (x *WorkflowIngested) GetSourceRepoFullName() string { @@ -14901,7 +14993,7 @@ type WorkflowRunQueued struct { func (x *WorkflowRunQueued) Reset() { *x = WorkflowRunQueued{} - mi := &file_brent_proto_msgTypes[161] + mi := &file_brent_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14913,7 +15005,7 @@ func (x *WorkflowRunQueued) String() string { func (*WorkflowRunQueued) ProtoMessage() {} func (x *WorkflowRunQueued) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[161] + mi := &file_brent_proto_msgTypes[162] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14926,7 +15018,7 @@ func (x *WorkflowRunQueued) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunQueued.ProtoReflect.Descriptor instead. func (*WorkflowRunQueued) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{161} + return file_brent_proto_rawDescGZIP(), []int{162} } func (x *WorkflowRunQueued) GetWorkflowRunId() string { @@ -14986,7 +15078,7 @@ type WorkflowRunStarted struct { func (x *WorkflowRunStarted) Reset() { *x = WorkflowRunStarted{} - mi := &file_brent_proto_msgTypes[162] + mi := &file_brent_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14998,7 +15090,7 @@ func (x *WorkflowRunStarted) String() string { func (*WorkflowRunStarted) ProtoMessage() {} func (x *WorkflowRunStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[162] + mi := &file_brent_proto_msgTypes[163] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15011,7 +15103,7 @@ func (x *WorkflowRunStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunStarted.ProtoReflect.Descriptor instead. func (*WorkflowRunStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{162} + return file_brent_proto_rawDescGZIP(), []int{163} } func (x *WorkflowRunStarted) GetWorkflowRunId() string { @@ -15071,7 +15163,7 @@ type WorkflowRunCompleted struct { func (x *WorkflowRunCompleted) Reset() { *x = WorkflowRunCompleted{} - mi := &file_brent_proto_msgTypes[163] + mi := &file_brent_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15083,7 +15175,7 @@ func (x *WorkflowRunCompleted) String() string { func (*WorkflowRunCompleted) ProtoMessage() {} func (x *WorkflowRunCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[163] + mi := &file_brent_proto_msgTypes[164] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15096,7 +15188,7 @@ func (x *WorkflowRunCompleted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunCompleted.ProtoReflect.Descriptor instead. func (*WorkflowRunCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{163} + return file_brent_proto_rawDescGZIP(), []int{164} } func (x *WorkflowRunCompleted) GetWorkflowRunId() string { @@ -15157,7 +15249,7 @@ type WorkflowRunFailed struct { func (x *WorkflowRunFailed) Reset() { *x = WorkflowRunFailed{} - mi := &file_brent_proto_msgTypes[164] + mi := &file_brent_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15169,7 +15261,7 @@ func (x *WorkflowRunFailed) String() string { func (*WorkflowRunFailed) ProtoMessage() {} func (x *WorkflowRunFailed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[164] + mi := &file_brent_proto_msgTypes[165] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15182,7 +15274,7 @@ func (x *WorkflowRunFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunFailed.ProtoReflect.Descriptor instead. func (*WorkflowRunFailed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{164} + return file_brent_proto_rawDescGZIP(), []int{165} } func (x *WorkflowRunFailed) GetWorkflowRunId() string { @@ -15250,7 +15342,7 @@ type WorkflowRunCancelled struct { func (x *WorkflowRunCancelled) Reset() { *x = WorkflowRunCancelled{} - mi := &file_brent_proto_msgTypes[165] + mi := &file_brent_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15262,7 +15354,7 @@ func (x *WorkflowRunCancelled) String() string { func (*WorkflowRunCancelled) ProtoMessage() {} func (x *WorkflowRunCancelled) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[165] + mi := &file_brent_proto_msgTypes[166] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15275,7 +15367,7 @@ func (x *WorkflowRunCancelled) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunCancelled.ProtoReflect.Descriptor instead. func (*WorkflowRunCancelled) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{165} + return file_brent_proto_rawDescGZIP(), []int{166} } func (x *WorkflowRunCancelled) GetWorkflowRunId() string { @@ -15353,7 +15445,7 @@ type SlackWebhook struct { func (x *SlackWebhook) Reset() { *x = SlackWebhook{} - mi := &file_brent_proto_msgTypes[166] + mi := &file_brent_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15365,7 +15457,7 @@ func (x *SlackWebhook) String() string { func (*SlackWebhook) ProtoMessage() {} func (x *SlackWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[166] + mi := &file_brent_proto_msgTypes[167] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15378,7 +15470,7 @@ func (x *SlackWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use SlackWebhook.ProtoReflect.Descriptor instead. func (*SlackWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{166} + return file_brent_proto_rawDescGZIP(), []int{167} } func (x *SlackWebhook) GetDeliveryId() string { @@ -15454,7 +15546,7 @@ type LinearWebhook struct { func (x *LinearWebhook) Reset() { *x = LinearWebhook{} - mi := &file_brent_proto_msgTypes[167] + mi := &file_brent_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15466,7 +15558,7 @@ func (x *LinearWebhook) String() string { func (*LinearWebhook) ProtoMessage() {} func (x *LinearWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[167] + mi := &file_brent_proto_msgTypes[168] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15479,7 +15571,7 @@ func (x *LinearWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use LinearWebhook.ProtoReflect.Descriptor instead. func (*LinearWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{167} + return file_brent_proto_rawDescGZIP(), []int{168} } func (x *LinearWebhook) GetDeliveryId() string { @@ -15557,7 +15649,7 @@ type ComposioTriggerMessage struct { func (x *ComposioTriggerMessage) Reset() { *x = ComposioTriggerMessage{} - mi := &file_brent_proto_msgTypes[168] + mi := &file_brent_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15569,7 +15661,7 @@ func (x *ComposioTriggerMessage) String() string { func (*ComposioTriggerMessage) ProtoMessage() {} func (x *ComposioTriggerMessage) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[168] + mi := &file_brent_proto_msgTypes[169] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15582,7 +15674,7 @@ func (x *ComposioTriggerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ComposioTriggerMessage.ProtoReflect.Descriptor instead. func (*ComposioTriggerMessage) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{168} + return file_brent_proto_rawDescGZIP(), []int{169} } func (x *ComposioTriggerMessage) GetDeliveryId() string { @@ -15649,7 +15741,7 @@ type GitHubWebhook struct { func (x *GitHubWebhook) Reset() { *x = GitHubWebhook{} - mi := &file_brent_proto_msgTypes[169] + mi := &file_brent_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15661,7 +15753,7 @@ func (x *GitHubWebhook) String() string { func (*GitHubWebhook) ProtoMessage() {} func (x *GitHubWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[169] + mi := &file_brent_proto_msgTypes[170] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15674,7 +15766,7 @@ func (x *GitHubWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use GitHubWebhook.ProtoReflect.Descriptor instead. func (*GitHubWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{169} + return file_brent_proto_rawDescGZIP(), []int{170} } func (x *GitHubWebhook) GetDeliveryId() string { @@ -15735,7 +15827,7 @@ type GitLabWebhook struct { func (x *GitLabWebhook) Reset() { *x = GitLabWebhook{} - mi := &file_brent_proto_msgTypes[170] + mi := &file_brent_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15747,7 +15839,7 @@ func (x *GitLabWebhook) String() string { func (*GitLabWebhook) ProtoMessage() {} func (x *GitLabWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[170] + mi := &file_brent_proto_msgTypes[171] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15760,7 +15852,7 @@ func (x *GitLabWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use GitLabWebhook.ProtoReflect.Descriptor instead. func (*GitLabWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{170} + return file_brent_proto_rawDescGZIP(), []int{171} } func (x *GitLabWebhook) GetDeliveryId() string { @@ -15816,7 +15908,7 @@ type BitbucketWebhook struct { func (x *BitbucketWebhook) Reset() { *x = BitbucketWebhook{} - mi := &file_brent_proto_msgTypes[171] + mi := &file_brent_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15828,7 +15920,7 @@ func (x *BitbucketWebhook) String() string { func (*BitbucketWebhook) ProtoMessage() {} func (x *BitbucketWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[171] + mi := &file_brent_proto_msgTypes[172] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15841,7 +15933,7 @@ func (x *BitbucketWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use BitbucketWebhook.ProtoReflect.Descriptor instead. func (*BitbucketWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{171} + return file_brent_proto_rawDescGZIP(), []int{172} } func (x *BitbucketWebhook) GetDeliveryId() string { @@ -15884,7 +15976,7 @@ type EmbeddedJsonCELFixture struct { func (x *EmbeddedJsonCELFixture) Reset() { *x = EmbeddedJsonCELFixture{} - mi := &file_brent_proto_msgTypes[172] + mi := &file_brent_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15896,7 +15988,7 @@ func (x *EmbeddedJsonCELFixture) String() string { func (*EmbeddedJsonCELFixture) ProtoMessage() {} func (x *EmbeddedJsonCELFixture) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[172] + mi := &file_brent_proto_msgTypes[173] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15909,7 +16001,7 @@ func (x *EmbeddedJsonCELFixture) ProtoReflect() protoreflect.Message { // Deprecated: Use EmbeddedJsonCELFixture.ProtoReflect.Descriptor instead. func (*EmbeddedJsonCELFixture) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{172} + return file_brent_proto_rawDescGZIP(), []int{173} } func (x *EmbeddedJsonCELFixture) GetId() string { @@ -15962,7 +16054,7 @@ type SlackMentionReceived struct { func (x *SlackMentionReceived) Reset() { *x = SlackMentionReceived{} - mi := &file_brent_proto_msgTypes[173] + mi := &file_brent_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15974,7 +16066,7 @@ func (x *SlackMentionReceived) String() string { func (*SlackMentionReceived) ProtoMessage() {} func (x *SlackMentionReceived) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[173] + mi := &file_brent_proto_msgTypes[174] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15987,7 +16079,7 @@ func (x *SlackMentionReceived) ProtoReflect() protoreflect.Message { // Deprecated: Use SlackMentionReceived.ProtoReflect.Descriptor instead. func (*SlackMentionReceived) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{173} + return file_brent_proto_rawDescGZIP(), []int{174} } func (x *SlackMentionReceived) GetTeamId() string { @@ -16059,7 +16151,7 @@ type OrganisationAppInstallationUpserted struct { func (x *OrganisationAppInstallationUpserted) Reset() { *x = OrganisationAppInstallationUpserted{} - mi := &file_brent_proto_msgTypes[174] + mi := &file_brent_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16071,7 +16163,7 @@ func (x *OrganisationAppInstallationUpserted) String() string { func (*OrganisationAppInstallationUpserted) ProtoMessage() {} func (x *OrganisationAppInstallationUpserted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[174] + mi := &file_brent_proto_msgTypes[175] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16084,7 +16176,7 @@ func (x *OrganisationAppInstallationUpserted) ProtoReflect() protoreflect.Messag // Deprecated: Use OrganisationAppInstallationUpserted.ProtoReflect.Descriptor instead. func (*OrganisationAppInstallationUpserted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{174} + return file_brent_proto_rawDescGZIP(), []int{175} } func (x *OrganisationAppInstallationUpserted) GetProvider() string { @@ -16120,7 +16212,7 @@ type OrganisationAppInstallationDeleted struct { func (x *OrganisationAppInstallationDeleted) Reset() { *x = OrganisationAppInstallationDeleted{} - mi := &file_brent_proto_msgTypes[175] + mi := &file_brent_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16132,7 +16224,7 @@ func (x *OrganisationAppInstallationDeleted) String() string { func (*OrganisationAppInstallationDeleted) ProtoMessage() {} func (x *OrganisationAppInstallationDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[175] + mi := &file_brent_proto_msgTypes[176] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16145,7 +16237,7 @@ func (x *OrganisationAppInstallationDeleted) ProtoReflect() protoreflect.Message // Deprecated: Use OrganisationAppInstallationDeleted.ProtoReflect.Descriptor instead. func (*OrganisationAppInstallationDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{175} + return file_brent_proto_rawDescGZIP(), []int{176} } func (x *OrganisationAppInstallationDeleted) GetProvider() string { @@ -16187,7 +16279,7 @@ type SlackReactionAdded struct { func (x *SlackReactionAdded) Reset() { *x = SlackReactionAdded{} - mi := &file_brent_proto_msgTypes[176] + mi := &file_brent_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16199,7 +16291,7 @@ func (x *SlackReactionAdded) String() string { func (*SlackReactionAdded) ProtoMessage() {} func (x *SlackReactionAdded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[176] + mi := &file_brent_proto_msgTypes[177] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16212,7 +16304,7 @@ func (x *SlackReactionAdded) ProtoReflect() protoreflect.Message { // Deprecated: Use SlackReactionAdded.ProtoReflect.Descriptor instead. func (*SlackReactionAdded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{176} + return file_brent_proto_rawDescGZIP(), []int{177} } func (x *SlackReactionAdded) GetTeamId() string { @@ -16268,7 +16360,7 @@ type ListWorkflowsRequest struct { func (x *ListWorkflowsRequest) Reset() { *x = ListWorkflowsRequest{} - mi := &file_brent_proto_msgTypes[177] + mi := &file_brent_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16280,7 +16372,7 @@ func (x *ListWorkflowsRequest) String() string { func (*ListWorkflowsRequest) ProtoMessage() {} func (x *ListWorkflowsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[177] + mi := &file_brent_proto_msgTypes[178] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16293,7 +16385,7 @@ func (x *ListWorkflowsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowsRequest.ProtoReflect.Descriptor instead. func (*ListWorkflowsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{177} + return file_brent_proto_rawDescGZIP(), []int{178} } func (x *ListWorkflowsRequest) GetAccountName() string { @@ -16312,7 +16404,7 @@ type ListWorkflowsResponse struct { func (x *ListWorkflowsResponse) Reset() { *x = ListWorkflowsResponse{} - mi := &file_brent_proto_msgTypes[178] + mi := &file_brent_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16324,7 +16416,7 @@ func (x *ListWorkflowsResponse) String() string { func (*ListWorkflowsResponse) ProtoMessage() {} func (x *ListWorkflowsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[178] + mi := &file_brent_proto_msgTypes[179] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16337,7 +16429,7 @@ func (x *ListWorkflowsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowsResponse.ProtoReflect.Descriptor instead. func (*ListWorkflowsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{178} + return file_brent_proto_rawDescGZIP(), []int{179} } func (x *ListWorkflowsResponse) GetWorkflows() []*WorkflowSummary { @@ -16375,7 +16467,7 @@ type WorkflowSummary struct { func (x *WorkflowSummary) Reset() { *x = WorkflowSummary{} - mi := &file_brent_proto_msgTypes[179] + mi := &file_brent_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16387,7 +16479,7 @@ func (x *WorkflowSummary) String() string { func (*WorkflowSummary) ProtoMessage() {} func (x *WorkflowSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[179] + mi := &file_brent_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16400,7 +16492,7 @@ func (x *WorkflowSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowSummary.ProtoReflect.Descriptor instead. func (*WorkflowSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{179} + return file_brent_proto_rawDescGZIP(), []int{180} } func (x *WorkflowSummary) GetId() string { @@ -16497,7 +16589,7 @@ type GetWorkflowRequest struct { func (x *GetWorkflowRequest) Reset() { *x = GetWorkflowRequest{} - mi := &file_brent_proto_msgTypes[180] + mi := &file_brent_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16509,7 +16601,7 @@ func (x *GetWorkflowRequest) String() string { func (*GetWorkflowRequest) ProtoMessage() {} func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[180] + mi := &file_brent_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16522,7 +16614,7 @@ func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowRequest.ProtoReflect.Descriptor instead. func (*GetWorkflowRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{180} + return file_brent_proto_rawDescGZIP(), []int{181} } func (x *GetWorkflowRequest) GetId() string { @@ -16541,7 +16633,7 @@ type GetWorkflowResponse struct { func (x *GetWorkflowResponse) Reset() { *x = GetWorkflowResponse{} - mi := &file_brent_proto_msgTypes[181] + mi := &file_brent_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16553,7 +16645,7 @@ func (x *GetWorkflowResponse) String() string { func (*GetWorkflowResponse) ProtoMessage() {} func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[181] + mi := &file_brent_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16566,7 +16658,7 @@ func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowResponse.ProtoReflect.Descriptor instead. func (*GetWorkflowResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{181} + return file_brent_proto_rawDescGZIP(), []int{182} } func (x *GetWorkflowResponse) GetWorkflow() *Workflow { @@ -16608,7 +16700,7 @@ type Workflow struct { func (x *Workflow) Reset() { *x = Workflow{} - mi := &file_brent_proto_msgTypes[182] + mi := &file_brent_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16620,7 +16712,7 @@ func (x *Workflow) String() string { func (*Workflow) ProtoMessage() {} func (x *Workflow) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[182] + mi := &file_brent_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16633,7 +16725,7 @@ func (x *Workflow) ProtoReflect() protoreflect.Message { // Deprecated: Use Workflow.ProtoReflect.Descriptor instead. func (*Workflow) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{182} + return file_brent_proto_rawDescGZIP(), []int{183} } func (x *Workflow) GetId() string { @@ -16761,7 +16853,7 @@ type ListWorkflowRunsRequest struct { func (x *ListWorkflowRunsRequest) Reset() { *x = ListWorkflowRunsRequest{} - mi := &file_brent_proto_msgTypes[183] + mi := &file_brent_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16773,7 +16865,7 @@ func (x *ListWorkflowRunsRequest) String() string { func (*ListWorkflowRunsRequest) ProtoMessage() {} func (x *ListWorkflowRunsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[183] + mi := &file_brent_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16786,7 +16878,7 @@ func (x *ListWorkflowRunsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowRunsRequest.ProtoReflect.Descriptor instead. func (*ListWorkflowRunsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{183} + return file_brent_proto_rawDescGZIP(), []int{184} } func (x *ListWorkflowRunsRequest) GetWorkflowName() string { @@ -16836,7 +16928,7 @@ type ListWorkflowRunsResponse struct { func (x *ListWorkflowRunsResponse) Reset() { *x = ListWorkflowRunsResponse{} - mi := &file_brent_proto_msgTypes[184] + mi := &file_brent_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16848,7 +16940,7 @@ func (x *ListWorkflowRunsResponse) String() string { func (*ListWorkflowRunsResponse) ProtoMessage() {} func (x *ListWorkflowRunsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[184] + mi := &file_brent_proto_msgTypes[185] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16861,7 +16953,7 @@ func (x *ListWorkflowRunsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowRunsResponse.ProtoReflect.Descriptor instead. func (*ListWorkflowRunsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{184} + return file_brent_proto_rawDescGZIP(), []int{185} } func (x *ListWorkflowRunsResponse) GetRuns() []*WorkflowRunSummary { @@ -16935,7 +17027,7 @@ type WorkflowRunSummary struct { func (x *WorkflowRunSummary) Reset() { *x = WorkflowRunSummary{} - mi := &file_brent_proto_msgTypes[185] + mi := &file_brent_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16947,7 +17039,7 @@ func (x *WorkflowRunSummary) String() string { func (*WorkflowRunSummary) ProtoMessage() {} func (x *WorkflowRunSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[185] + mi := &file_brent_proto_msgTypes[186] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16960,7 +17052,7 @@ func (x *WorkflowRunSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunSummary.ProtoReflect.Descriptor instead. func (*WorkflowRunSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{185} + return file_brent_proto_rawDescGZIP(), []int{186} } func (x *WorkflowRunSummary) GetId() string { @@ -17140,7 +17232,7 @@ type GetWorkflowRunRequest struct { func (x *GetWorkflowRunRequest) Reset() { *x = GetWorkflowRunRequest{} - mi := &file_brent_proto_msgTypes[186] + mi := &file_brent_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17152,7 +17244,7 @@ func (x *GetWorkflowRunRequest) String() string { func (*GetWorkflowRunRequest) ProtoMessage() {} func (x *GetWorkflowRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[186] + mi := &file_brent_proto_msgTypes[187] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17165,7 +17257,7 @@ func (x *GetWorkflowRunRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowRunRequest.ProtoReflect.Descriptor instead. func (*GetWorkflowRunRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{186} + return file_brent_proto_rawDescGZIP(), []int{187} } func (x *GetWorkflowRunRequest) GetId() string { @@ -17185,7 +17277,7 @@ type GetWorkflowRunThreadHistoryRequest struct { func (x *GetWorkflowRunThreadHistoryRequest) Reset() { *x = GetWorkflowRunThreadHistoryRequest{} - mi := &file_brent_proto_msgTypes[187] + mi := &file_brent_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17197,7 +17289,7 @@ func (x *GetWorkflowRunThreadHistoryRequest) String() string { func (*GetWorkflowRunThreadHistoryRequest) ProtoMessage() {} func (x *GetWorkflowRunThreadHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[187] + mi := &file_brent_proto_msgTypes[188] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17210,7 +17302,7 @@ func (x *GetWorkflowRunThreadHistoryRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetWorkflowRunThreadHistoryRequest.ProtoReflect.Descriptor instead. func (*GetWorkflowRunThreadHistoryRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{187} + return file_brent_proto_rawDescGZIP(), []int{188} } func (x *GetWorkflowRunThreadHistoryRequest) GetId() string { @@ -17230,7 +17322,7 @@ type WorkflowRunThreadSegment struct { func (x *WorkflowRunThreadSegment) Reset() { *x = WorkflowRunThreadSegment{} - mi := &file_brent_proto_msgTypes[188] + mi := &file_brent_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17242,7 +17334,7 @@ func (x *WorkflowRunThreadSegment) String() string { func (*WorkflowRunThreadSegment) ProtoMessage() {} func (x *WorkflowRunThreadSegment) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[188] + mi := &file_brent_proto_msgTypes[189] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17255,7 +17347,7 @@ func (x *WorkflowRunThreadSegment) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunThreadSegment.ProtoReflect.Descriptor instead. func (*WorkflowRunThreadSegment) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{188} + return file_brent_proto_rawDescGZIP(), []int{189} } func (x *WorkflowRunThreadSegment) GetRun() *WorkflowRunSummary { @@ -17284,7 +17376,7 @@ type GetWorkflowRunThreadHistoryResponse struct { func (x *GetWorkflowRunThreadHistoryResponse) Reset() { *x = GetWorkflowRunThreadHistoryResponse{} - mi := &file_brent_proto_msgTypes[189] + mi := &file_brent_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17296,7 +17388,7 @@ func (x *GetWorkflowRunThreadHistoryResponse) String() string { func (*GetWorkflowRunThreadHistoryResponse) ProtoMessage() {} func (x *GetWorkflowRunThreadHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[189] + mi := &file_brent_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17309,7 +17401,7 @@ func (x *GetWorkflowRunThreadHistoryResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetWorkflowRunThreadHistoryResponse.ProtoReflect.Descriptor instead. func (*GetWorkflowRunThreadHistoryResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{189} + return file_brent_proto_rawDescGZIP(), []int{190} } func (x *GetWorkflowRunThreadHistoryResponse) GetSegments() []*WorkflowRunThreadSegment { @@ -17339,7 +17431,7 @@ type GetWorkflowRunResponse struct { func (x *GetWorkflowRunResponse) Reset() { *x = GetWorkflowRunResponse{} - mi := &file_brent_proto_msgTypes[190] + mi := &file_brent_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17351,7 +17443,7 @@ func (x *GetWorkflowRunResponse) String() string { func (*GetWorkflowRunResponse) ProtoMessage() {} func (x *GetWorkflowRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[190] + mi := &file_brent_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17364,7 +17456,7 @@ func (x *GetWorkflowRunResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowRunResponse.ProtoReflect.Descriptor instead. func (*GetWorkflowRunResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{190} + return file_brent_proto_rawDescGZIP(), []int{191} } func (x *GetWorkflowRunResponse) GetRun() *WorkflowRun { @@ -17441,7 +17533,7 @@ type WorkflowRun struct { func (x *WorkflowRun) Reset() { *x = WorkflowRun{} - mi := &file_brent_proto_msgTypes[191] + mi := &file_brent_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17453,7 +17545,7 @@ func (x *WorkflowRun) String() string { func (*WorkflowRun) ProtoMessage() {} func (x *WorkflowRun) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[191] + mi := &file_brent_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17466,7 +17558,7 @@ func (x *WorkflowRun) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRun.ProtoReflect.Descriptor instead. func (*WorkflowRun) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{191} + return file_brent_proto_rawDescGZIP(), []int{192} } func (x *WorkflowRun) GetId() string { @@ -17659,7 +17751,7 @@ type GetPrincipalStatusRequest struct { func (x *GetPrincipalStatusRequest) Reset() { *x = GetPrincipalStatusRequest{} - mi := &file_brent_proto_msgTypes[192] + mi := &file_brent_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17671,7 +17763,7 @@ func (x *GetPrincipalStatusRequest) String() string { func (*GetPrincipalStatusRequest) ProtoMessage() {} func (x *GetPrincipalStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[192] + mi := &file_brent_proto_msgTypes[193] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17684,7 +17776,7 @@ func (x *GetPrincipalStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrincipalStatusRequest.ProtoReflect.Descriptor instead. func (*GetPrincipalStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{192} + return file_brent_proto_rawDescGZIP(), []int{193} } type GetPrincipalStatusResponse struct { @@ -17700,7 +17792,7 @@ type GetPrincipalStatusResponse struct { func (x *GetPrincipalStatusResponse) Reset() { *x = GetPrincipalStatusResponse{} - mi := &file_brent_proto_msgTypes[193] + mi := &file_brent_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17712,7 +17804,7 @@ func (x *GetPrincipalStatusResponse) String() string { func (*GetPrincipalStatusResponse) ProtoMessage() {} func (x *GetPrincipalStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[193] + mi := &file_brent_proto_msgTypes[194] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17725,7 +17817,7 @@ func (x *GetPrincipalStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrincipalStatusResponse.ProtoReflect.Descriptor instead. func (*GetPrincipalStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{193} + return file_brent_proto_rawDescGZIP(), []int{194} } func (x *GetPrincipalStatusResponse) GetState() PrincipalStatusState { @@ -17763,7 +17855,7 @@ type GetIntegrationConnectURLRequest struct { func (x *GetIntegrationConnectURLRequest) Reset() { *x = GetIntegrationConnectURLRequest{} - mi := &file_brent_proto_msgTypes[194] + mi := &file_brent_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17775,7 +17867,7 @@ func (x *GetIntegrationConnectURLRequest) String() string { func (*GetIntegrationConnectURLRequest) ProtoMessage() {} func (x *GetIntegrationConnectURLRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[194] + mi := &file_brent_proto_msgTypes[195] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17788,7 +17880,7 @@ func (x *GetIntegrationConnectURLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIntegrationConnectURLRequest.ProtoReflect.Descriptor instead. func (*GetIntegrationConnectURLRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{194} + return file_brent_proto_rawDescGZIP(), []int{195} } func (x *GetIntegrationConnectURLRequest) GetProvider() IntegrationProvider { @@ -17821,7 +17913,7 @@ type GetIntegrationConnectURLResponse struct { func (x *GetIntegrationConnectURLResponse) Reset() { *x = GetIntegrationConnectURLResponse{} - mi := &file_brent_proto_msgTypes[195] + mi := &file_brent_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17833,7 +17925,7 @@ func (x *GetIntegrationConnectURLResponse) String() string { func (*GetIntegrationConnectURLResponse) ProtoMessage() {} func (x *GetIntegrationConnectURLResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[195] + mi := &file_brent_proto_msgTypes[196] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17846,7 +17938,7 @@ func (x *GetIntegrationConnectURLResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIntegrationConnectURLResponse.ProtoReflect.Descriptor instead. func (*GetIntegrationConnectURLResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{195} + return file_brent_proto_rawDescGZIP(), []int{196} } func (x *GetIntegrationConnectURLResponse) GetUrl() string { @@ -17872,7 +17964,7 @@ type DisconnectIntegrationRequest struct { func (x *DisconnectIntegrationRequest) Reset() { *x = DisconnectIntegrationRequest{} - mi := &file_brent_proto_msgTypes[196] + mi := &file_brent_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17884,7 +17976,7 @@ func (x *DisconnectIntegrationRequest) String() string { func (*DisconnectIntegrationRequest) ProtoMessage() {} func (x *DisconnectIntegrationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[196] + mi := &file_brent_proto_msgTypes[197] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17897,7 +17989,7 @@ func (x *DisconnectIntegrationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisconnectIntegrationRequest.ProtoReflect.Descriptor instead. func (*DisconnectIntegrationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{196} + return file_brent_proto_rawDescGZIP(), []int{197} } func (x *DisconnectIntegrationRequest) GetProvider() IntegrationProvider { @@ -17929,7 +18021,7 @@ type DisconnectIntegrationResponse struct { func (x *DisconnectIntegrationResponse) Reset() { *x = DisconnectIntegrationResponse{} - mi := &file_brent_proto_msgTypes[197] + mi := &file_brent_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17941,7 +18033,7 @@ func (x *DisconnectIntegrationResponse) String() string { func (*DisconnectIntegrationResponse) ProtoMessage() {} func (x *DisconnectIntegrationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[197] + mi := &file_brent_proto_msgTypes[198] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17954,7 +18046,7 @@ func (x *DisconnectIntegrationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisconnectIntegrationResponse.ProtoReflect.Descriptor instead. func (*DisconnectIntegrationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{197} + return file_brent_proto_rawDescGZIP(), []int{198} } type ConnectByoHttpMcpRequest struct { @@ -17975,7 +18067,7 @@ type ConnectByoHttpMcpRequest struct { func (x *ConnectByoHttpMcpRequest) Reset() { *x = ConnectByoHttpMcpRequest{} - mi := &file_brent_proto_msgTypes[198] + mi := &file_brent_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17987,7 +18079,7 @@ func (x *ConnectByoHttpMcpRequest) String() string { func (*ConnectByoHttpMcpRequest) ProtoMessage() {} func (x *ConnectByoHttpMcpRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[198] + mi := &file_brent_proto_msgTypes[199] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18000,7 +18092,7 @@ func (x *ConnectByoHttpMcpRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectByoHttpMcpRequest.ProtoReflect.Descriptor instead. func (*ConnectByoHttpMcpRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{198} + return file_brent_proto_rawDescGZIP(), []int{199} } func (x *ConnectByoHttpMcpRequest) GetEndpoint() string { @@ -18051,7 +18143,7 @@ type ConnectByoHttpMcpResponse struct { func (x *ConnectByoHttpMcpResponse) Reset() { *x = ConnectByoHttpMcpResponse{} - mi := &file_brent_proto_msgTypes[199] + mi := &file_brent_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18063,7 +18155,7 @@ func (x *ConnectByoHttpMcpResponse) String() string { func (*ConnectByoHttpMcpResponse) ProtoMessage() {} func (x *ConnectByoHttpMcpResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[199] + mi := &file_brent_proto_msgTypes[200] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18076,7 +18168,7 @@ func (x *ConnectByoHttpMcpResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectByoHttpMcpResponse.ProtoReflect.Descriptor instead. func (*ConnectByoHttpMcpResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{199} + return file_brent_proto_rawDescGZIP(), []int{200} } func (x *ConnectByoHttpMcpResponse) GetDiscoveredToolCount() uint32 { @@ -18101,7 +18193,7 @@ type GetGitLabConnectionRequest struct { func (x *GetGitLabConnectionRequest) Reset() { *x = GetGitLabConnectionRequest{} - mi := &file_brent_proto_msgTypes[200] + mi := &file_brent_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18113,7 +18205,7 @@ func (x *GetGitLabConnectionRequest) String() string { func (*GetGitLabConnectionRequest) ProtoMessage() {} func (x *GetGitLabConnectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[200] + mi := &file_brent_proto_msgTypes[201] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18126,7 +18218,7 @@ func (x *GetGitLabConnectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGitLabConnectionRequest.ProtoReflect.Descriptor instead. func (*GetGitLabConnectionRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{200} + return file_brent_proto_rawDescGZIP(), []int{201} } type GetGitLabConnectionResponse struct { @@ -18141,7 +18233,7 @@ type GetGitLabConnectionResponse struct { func (x *GetGitLabConnectionResponse) Reset() { *x = GetGitLabConnectionResponse{} - mi := &file_brent_proto_msgTypes[201] + mi := &file_brent_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18153,7 +18245,7 @@ func (x *GetGitLabConnectionResponse) String() string { func (*GetGitLabConnectionResponse) ProtoMessage() {} func (x *GetGitLabConnectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[201] + mi := &file_brent_proto_msgTypes[202] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18166,7 +18258,7 @@ func (x *GetGitLabConnectionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGitLabConnectionResponse.ProtoReflect.Descriptor instead. func (*GetGitLabConnectionResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{201} + return file_brent_proto_rawDescGZIP(), []int{202} } func (x *GetGitLabConnectionResponse) GetConnected() bool { @@ -18200,7 +18292,7 @@ type ConnectGitLabRequest struct { func (x *ConnectGitLabRequest) Reset() { *x = ConnectGitLabRequest{} - mi := &file_brent_proto_msgTypes[202] + mi := &file_brent_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18212,7 +18304,7 @@ func (x *ConnectGitLabRequest) String() string { func (*ConnectGitLabRequest) ProtoMessage() {} func (x *ConnectGitLabRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[202] + mi := &file_brent_proto_msgTypes[203] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18225,7 +18317,7 @@ func (x *ConnectGitLabRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectGitLabRequest.ProtoReflect.Descriptor instead. func (*ConnectGitLabRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{202} + return file_brent_proto_rawDescGZIP(), []int{203} } func (x *ConnectGitLabRequest) GetBaseUrl() string { @@ -18253,7 +18345,7 @@ type ConnectGitLabResponse struct { func (x *ConnectGitLabResponse) Reset() { *x = ConnectGitLabResponse{} - mi := &file_brent_proto_msgTypes[203] + mi := &file_brent_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18265,7 +18357,7 @@ func (x *ConnectGitLabResponse) String() string { func (*ConnectGitLabResponse) ProtoMessage() {} func (x *ConnectGitLabResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[203] + mi := &file_brent_proto_msgTypes[204] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18278,7 +18370,7 @@ func (x *ConnectGitLabResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectGitLabResponse.ProtoReflect.Descriptor instead. func (*ConnectGitLabResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{203} + return file_brent_proto_rawDescGZIP(), []int{204} } func (x *ConnectGitLabResponse) GetWebhookUrl() string { @@ -18306,7 +18398,7 @@ type SaveGitLabSigningTokenRequest struct { func (x *SaveGitLabSigningTokenRequest) Reset() { *x = SaveGitLabSigningTokenRequest{} - mi := &file_brent_proto_msgTypes[204] + mi := &file_brent_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18318,7 +18410,7 @@ func (x *SaveGitLabSigningTokenRequest) String() string { func (*SaveGitLabSigningTokenRequest) ProtoMessage() {} func (x *SaveGitLabSigningTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[204] + mi := &file_brent_proto_msgTypes[205] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18331,7 +18423,7 @@ func (x *SaveGitLabSigningTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveGitLabSigningTokenRequest.ProtoReflect.Descriptor instead. func (*SaveGitLabSigningTokenRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{204} + return file_brent_proto_rawDescGZIP(), []int{205} } func (x *SaveGitLabSigningTokenRequest) GetSigningToken() string { @@ -18349,7 +18441,7 @@ type SaveGitLabSigningTokenResponse struct { func (x *SaveGitLabSigningTokenResponse) Reset() { *x = SaveGitLabSigningTokenResponse{} - mi := &file_brent_proto_msgTypes[205] + mi := &file_brent_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18361,7 +18453,7 @@ func (x *SaveGitLabSigningTokenResponse) String() string { func (*SaveGitLabSigningTokenResponse) ProtoMessage() {} func (x *SaveGitLabSigningTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[205] + mi := &file_brent_proto_msgTypes[206] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18374,7 +18466,7 @@ func (x *SaveGitLabSigningTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveGitLabSigningTokenResponse.ProtoReflect.Descriptor instead. func (*SaveGitLabSigningTokenResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{205} + return file_brent_proto_rawDescGZIP(), []int{206} } type GitHubPendingInstall struct { @@ -18390,7 +18482,7 @@ type GitHubPendingInstall struct { func (x *GitHubPendingInstall) Reset() { *x = GitHubPendingInstall{} - mi := &file_brent_proto_msgTypes[206] + mi := &file_brent_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18402,7 +18494,7 @@ func (x *GitHubPendingInstall) String() string { func (*GitHubPendingInstall) ProtoMessage() {} func (x *GitHubPendingInstall) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[206] + mi := &file_brent_proto_msgTypes[207] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18415,7 +18507,7 @@ func (x *GitHubPendingInstall) ProtoReflect() protoreflect.Message { // Deprecated: Use GitHubPendingInstall.ProtoReflect.Descriptor instead. func (*GitHubPendingInstall) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{206} + return file_brent_proto_rawDescGZIP(), []int{207} } func (x *GitHubPendingInstall) GetOrgName() string { @@ -18480,7 +18572,7 @@ type IntegrationStatus struct { func (x *IntegrationStatus) Reset() { *x = IntegrationStatus{} - mi := &file_brent_proto_msgTypes[207] + mi := &file_brent_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18492,7 +18584,7 @@ func (x *IntegrationStatus) String() string { func (*IntegrationStatus) ProtoMessage() {} func (x *IntegrationStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[207] + mi := &file_brent_proto_msgTypes[208] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18505,7 +18597,7 @@ func (x *IntegrationStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationStatus.ProtoReflect.Descriptor instead. func (*IntegrationStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{207} + return file_brent_proto_rawDescGZIP(), []int{208} } func (x *IntegrationStatus) GetProvider() IntegrationProvider { @@ -18579,7 +18671,7 @@ type GetWorkspaceIntegrationRolesRequest struct { func (x *GetWorkspaceIntegrationRolesRequest) Reset() { *x = GetWorkspaceIntegrationRolesRequest{} - mi := &file_brent_proto_msgTypes[208] + mi := &file_brent_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18591,7 +18683,7 @@ func (x *GetWorkspaceIntegrationRolesRequest) String() string { func (*GetWorkspaceIntegrationRolesRequest) ProtoMessage() {} func (x *GetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[208] + mi := &file_brent_proto_msgTypes[209] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18604,7 +18696,7 @@ func (x *GetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. func (*GetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{208} + return file_brent_proto_rawDescGZIP(), []int{209} } type GetWorkspaceIntegrationRolesResponse struct { @@ -18620,7 +18712,7 @@ type GetWorkspaceIntegrationRolesResponse struct { func (x *GetWorkspaceIntegrationRolesResponse) Reset() { *x = GetWorkspaceIntegrationRolesResponse{} - mi := &file_brent_proto_msgTypes[209] + mi := &file_brent_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18632,7 +18724,7 @@ func (x *GetWorkspaceIntegrationRolesResponse) String() string { func (*GetWorkspaceIntegrationRolesResponse) ProtoMessage() {} func (x *GetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[209] + mi := &file_brent_proto_msgTypes[210] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18645,7 +18737,7 @@ func (x *GetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. func (*GetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{209} + return file_brent_proto_rawDescGZIP(), []int{210} } func (x *GetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { @@ -18674,7 +18766,7 @@ type SetWorkspaceIntegrationRolesRequest struct { func (x *SetWorkspaceIntegrationRolesRequest) Reset() { *x = SetWorkspaceIntegrationRolesRequest{} - mi := &file_brent_proto_msgTypes[210] + mi := &file_brent_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18686,7 +18778,7 @@ func (x *SetWorkspaceIntegrationRolesRequest) String() string { func (*SetWorkspaceIntegrationRolesRequest) ProtoMessage() {} func (x *SetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[210] + mi := &file_brent_proto_msgTypes[211] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18699,7 +18791,7 @@ func (x *SetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. func (*SetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{210} + return file_brent_proto_rawDescGZIP(), []int{211} } func (x *SetWorkspaceIntegrationRolesRequest) GetGitProvider() IntegrationProvider { @@ -18719,7 +18811,7 @@ type SetWorkspaceIntegrationRolesResponse struct { func (x *SetWorkspaceIntegrationRolesResponse) Reset() { *x = SetWorkspaceIntegrationRolesResponse{} - mi := &file_brent_proto_msgTypes[211] + mi := &file_brent_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18731,7 +18823,7 @@ func (x *SetWorkspaceIntegrationRolesResponse) String() string { func (*SetWorkspaceIntegrationRolesResponse) ProtoMessage() {} func (x *SetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[211] + mi := &file_brent_proto_msgTypes[212] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18744,7 +18836,7 @@ func (x *SetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use SetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. func (*SetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{211} + return file_brent_proto_rawDescGZIP(), []int{212} } func (x *SetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { @@ -18784,7 +18876,7 @@ type Principal struct { func (x *Principal) Reset() { *x = Principal{} - mi := &file_brent_proto_msgTypes[212] + mi := &file_brent_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18796,7 +18888,7 @@ func (x *Principal) String() string { func (*Principal) ProtoMessage() {} func (x *Principal) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[212] + mi := &file_brent_proto_msgTypes[213] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18809,7 +18901,7 @@ func (x *Principal) ProtoReflect() protoreflect.Message { // Deprecated: Use Principal.ProtoReflect.Descriptor instead. func (*Principal) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{212} + return file_brent_proto_rawDescGZIP(), []int{213} } func (x *Principal) GetExternalId() string { @@ -18888,7 +18980,7 @@ type Workspace struct { func (x *Workspace) Reset() { *x = Workspace{} - mi := &file_brent_proto_msgTypes[213] + mi := &file_brent_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18900,7 +18992,7 @@ func (x *Workspace) String() string { func (*Workspace) ProtoMessage() {} func (x *Workspace) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[213] + mi := &file_brent_proto_msgTypes[214] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18913,7 +19005,7 @@ func (x *Workspace) ProtoReflect() protoreflect.Message { // Deprecated: Use Workspace.ProtoReflect.Descriptor instead. func (*Workspace) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{213} + return file_brent_proto_rawDescGZIP(), []int{214} } func (x *Workspace) GetWorkspaceId() string { @@ -18981,7 +19073,7 @@ type CreateWorkspaceRequest struct { func (x *CreateWorkspaceRequest) Reset() { *x = CreateWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[214] + mi := &file_brent_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18993,7 +19085,7 @@ func (x *CreateWorkspaceRequest) String() string { func (*CreateWorkspaceRequest) ProtoMessage() {} func (x *CreateWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[214] + mi := &file_brent_proto_msgTypes[215] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19006,7 +19098,7 @@ func (x *CreateWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWorkspaceRequest.ProtoReflect.Descriptor instead. func (*CreateWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{214} + return file_brent_proto_rawDescGZIP(), []int{215} } func (x *CreateWorkspaceRequest) GetDisplayName() string { @@ -19025,7 +19117,7 @@ type CreateWorkspaceResponse struct { func (x *CreateWorkspaceResponse) Reset() { *x = CreateWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[215] + mi := &file_brent_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19037,7 +19129,7 @@ func (x *CreateWorkspaceResponse) String() string { func (*CreateWorkspaceResponse) ProtoMessage() {} func (x *CreateWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[215] + mi := &file_brent_proto_msgTypes[216] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19050,7 +19142,7 @@ func (x *CreateWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWorkspaceResponse.ProtoReflect.Descriptor instead. func (*CreateWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{215} + return file_brent_proto_rawDescGZIP(), []int{216} } func (x *CreateWorkspaceResponse) GetWorkspace() *Workspace { @@ -19068,7 +19160,7 @@ type ListMyWorkspacesRequest struct { func (x *ListMyWorkspacesRequest) Reset() { *x = ListMyWorkspacesRequest{} - mi := &file_brent_proto_msgTypes[216] + mi := &file_brent_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19080,7 +19172,7 @@ func (x *ListMyWorkspacesRequest) String() string { func (*ListMyWorkspacesRequest) ProtoMessage() {} func (x *ListMyWorkspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[216] + mi := &file_brent_proto_msgTypes[217] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19093,7 +19185,7 @@ func (x *ListMyWorkspacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyWorkspacesRequest.ProtoReflect.Descriptor instead. func (*ListMyWorkspacesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{216} + return file_brent_proto_rawDescGZIP(), []int{217} } type ListMyWorkspacesResponse struct { @@ -19105,7 +19197,7 @@ type ListMyWorkspacesResponse struct { func (x *ListMyWorkspacesResponse) Reset() { *x = ListMyWorkspacesResponse{} - mi := &file_brent_proto_msgTypes[217] + mi := &file_brent_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19117,7 +19209,7 @@ func (x *ListMyWorkspacesResponse) String() string { func (*ListMyWorkspacesResponse) ProtoMessage() {} func (x *ListMyWorkspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[217] + mi := &file_brent_proto_msgTypes[218] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19130,7 +19222,7 @@ func (x *ListMyWorkspacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyWorkspacesResponse.ProtoReflect.Descriptor instead. func (*ListMyWorkspacesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{217} + return file_brent_proto_rawDescGZIP(), []int{218} } func (x *ListMyWorkspacesResponse) GetWorkspaces() []*Workspace { @@ -19148,7 +19240,7 @@ type DiscoverLoginRecoveryCandidatesRequest struct { func (x *DiscoverLoginRecoveryCandidatesRequest) Reset() { *x = DiscoverLoginRecoveryCandidatesRequest{} - mi := &file_brent_proto_msgTypes[218] + mi := &file_brent_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19160,7 +19252,7 @@ func (x *DiscoverLoginRecoveryCandidatesRequest) String() string { func (*DiscoverLoginRecoveryCandidatesRequest) ProtoMessage() {} func (x *DiscoverLoginRecoveryCandidatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[218] + mi := &file_brent_proto_msgTypes[219] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19173,7 +19265,7 @@ func (x *DiscoverLoginRecoveryCandidatesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use DiscoverLoginRecoveryCandidatesRequest.ProtoReflect.Descriptor instead. func (*DiscoverLoginRecoveryCandidatesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{218} + return file_brent_proto_rawDescGZIP(), []int{219} } // A single recovery candidate. Exposes only the allowlisted Auth0 connection @@ -19190,7 +19282,7 @@ type LoginRecoveryCandidate struct { func (x *LoginRecoveryCandidate) Reset() { *x = LoginRecoveryCandidate{} - mi := &file_brent_proto_msgTypes[219] + mi := &file_brent_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19202,7 +19294,7 @@ func (x *LoginRecoveryCandidate) String() string { func (*LoginRecoveryCandidate) ProtoMessage() {} func (x *LoginRecoveryCandidate) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[219] + mi := &file_brent_proto_msgTypes[220] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19215,7 +19307,7 @@ func (x *LoginRecoveryCandidate) ProtoReflect() protoreflect.Message { // Deprecated: Use LoginRecoveryCandidate.ProtoReflect.Descriptor instead. func (*LoginRecoveryCandidate) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{219} + return file_brent_proto_rawDescGZIP(), []int{220} } func (x *LoginRecoveryCandidate) GetProvider() LoginProvider { @@ -19252,7 +19344,7 @@ type DiscoverLoginRecoveryCandidatesResponse struct { func (x *DiscoverLoginRecoveryCandidatesResponse) Reset() { *x = DiscoverLoginRecoveryCandidatesResponse{} - mi := &file_brent_proto_msgTypes[220] + mi := &file_brent_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19264,7 +19356,7 @@ func (x *DiscoverLoginRecoveryCandidatesResponse) String() string { func (*DiscoverLoginRecoveryCandidatesResponse) ProtoMessage() {} func (x *DiscoverLoginRecoveryCandidatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[220] + mi := &file_brent_proto_msgTypes[221] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19277,7 +19369,7 @@ func (x *DiscoverLoginRecoveryCandidatesResponse) ProtoReflect() protoreflect.Me // Deprecated: Use DiscoverLoginRecoveryCandidatesResponse.ProtoReflect.Descriptor instead. func (*DiscoverLoginRecoveryCandidatesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{220} + return file_brent_proto_rawDescGZIP(), []int{221} } func (x *DiscoverLoginRecoveryCandidatesResponse) GetArrivingProvider() LoginProvider { @@ -19307,7 +19399,7 @@ type RenameWorkspaceRequest struct { func (x *RenameWorkspaceRequest) Reset() { *x = RenameWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[221] + mi := &file_brent_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19319,7 +19411,7 @@ func (x *RenameWorkspaceRequest) String() string { func (*RenameWorkspaceRequest) ProtoMessage() {} func (x *RenameWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[221] + mi := &file_brent_proto_msgTypes[222] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19332,7 +19424,7 @@ func (x *RenameWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameWorkspaceRequest.ProtoReflect.Descriptor instead. func (*RenameWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{221} + return file_brent_proto_rawDescGZIP(), []int{222} } func (x *RenameWorkspaceRequest) GetDisplayName() string { @@ -19351,7 +19443,7 @@ type RenameWorkspaceResponse struct { func (x *RenameWorkspaceResponse) Reset() { *x = RenameWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[222] + mi := &file_brent_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19363,7 +19455,7 @@ func (x *RenameWorkspaceResponse) String() string { func (*RenameWorkspaceResponse) ProtoMessage() {} func (x *RenameWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[222] + mi := &file_brent_proto_msgTypes[223] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19376,7 +19468,7 @@ func (x *RenameWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameWorkspaceResponse.ProtoReflect.Descriptor instead. func (*RenameWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{222} + return file_brent_proto_rawDescGZIP(), []int{223} } func (x *RenameWorkspaceResponse) GetWorkspace() *Workspace { @@ -19397,7 +19489,7 @@ type DeleteWorkspaceRequest struct { func (x *DeleteWorkspaceRequest) Reset() { *x = DeleteWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[223] + mi := &file_brent_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19409,7 +19501,7 @@ func (x *DeleteWorkspaceRequest) String() string { func (*DeleteWorkspaceRequest) ProtoMessage() {} func (x *DeleteWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[223] + mi := &file_brent_proto_msgTypes[224] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19422,7 +19514,7 @@ func (x *DeleteWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteWorkspaceRequest.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{223} + return file_brent_proto_rawDescGZIP(), []int{224} } func (x *DeleteWorkspaceRequest) GetWorkspaceId() string { @@ -19440,7 +19532,7 @@ type DeleteWorkspaceResponse struct { func (x *DeleteWorkspaceResponse) Reset() { *x = DeleteWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[224] + mi := &file_brent_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19452,7 +19544,7 @@ func (x *DeleteWorkspaceResponse) String() string { func (*DeleteWorkspaceResponse) ProtoMessage() {} func (x *DeleteWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[224] + mi := &file_brent_proto_msgTypes[225] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19465,7 +19557,7 @@ func (x *DeleteWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteWorkspaceResponse.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{224} + return file_brent_proto_rawDescGZIP(), []int{225} } type ListJoinableWorkspacesRequest struct { @@ -19476,7 +19568,7 @@ type ListJoinableWorkspacesRequest struct { func (x *ListJoinableWorkspacesRequest) Reset() { *x = ListJoinableWorkspacesRequest{} - mi := &file_brent_proto_msgTypes[225] + mi := &file_brent_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19488,7 +19580,7 @@ func (x *ListJoinableWorkspacesRequest) String() string { func (*ListJoinableWorkspacesRequest) ProtoMessage() {} func (x *ListJoinableWorkspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[225] + mi := &file_brent_proto_msgTypes[226] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19501,7 +19593,7 @@ func (x *ListJoinableWorkspacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListJoinableWorkspacesRequest.ProtoReflect.Descriptor instead. func (*ListJoinableWorkspacesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{225} + return file_brent_proto_rawDescGZIP(), []int{226} } type ListJoinableWorkspacesResponse struct { @@ -19513,7 +19605,7 @@ type ListJoinableWorkspacesResponse struct { func (x *ListJoinableWorkspacesResponse) Reset() { *x = ListJoinableWorkspacesResponse{} - mi := &file_brent_proto_msgTypes[226] + mi := &file_brent_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19525,7 +19617,7 @@ func (x *ListJoinableWorkspacesResponse) String() string { func (*ListJoinableWorkspacesResponse) ProtoMessage() {} func (x *ListJoinableWorkspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[226] + mi := &file_brent_proto_msgTypes[227] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19538,7 +19630,7 @@ func (x *ListJoinableWorkspacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListJoinableWorkspacesResponse.ProtoReflect.Descriptor instead. func (*ListJoinableWorkspacesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{226} + return file_brent_proto_rawDescGZIP(), []int{227} } func (x *ListJoinableWorkspacesResponse) GetWorkspaces() []*JoinableWorkspace { @@ -19566,7 +19658,7 @@ type JoinableWorkspace struct { func (x *JoinableWorkspace) Reset() { *x = JoinableWorkspace{} - mi := &file_brent_proto_msgTypes[227] + mi := &file_brent_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19578,7 +19670,7 @@ func (x *JoinableWorkspace) String() string { func (*JoinableWorkspace) ProtoMessage() {} func (x *JoinableWorkspace) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[227] + mi := &file_brent_proto_msgTypes[228] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19591,7 +19683,7 @@ func (x *JoinableWorkspace) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinableWorkspace.ProtoReflect.Descriptor instead. func (*JoinableWorkspace) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{227} + return file_brent_proto_rawDescGZIP(), []int{228} } func (x *JoinableWorkspace) GetWorkspaceId() string { @@ -19667,7 +19759,7 @@ type JoinableWorkspaceMember struct { func (x *JoinableWorkspaceMember) Reset() { *x = JoinableWorkspaceMember{} - mi := &file_brent_proto_msgTypes[228] + mi := &file_brent_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19679,7 +19771,7 @@ func (x *JoinableWorkspaceMember) String() string { func (*JoinableWorkspaceMember) ProtoMessage() {} func (x *JoinableWorkspaceMember) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[228] + mi := &file_brent_proto_msgTypes[229] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19692,7 +19784,7 @@ func (x *JoinableWorkspaceMember) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinableWorkspaceMember.ProtoReflect.Descriptor instead. func (*JoinableWorkspaceMember) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{228} + return file_brent_proto_rawDescGZIP(), []int{229} } func (x *JoinableWorkspaceMember) GetDisplayName() string { @@ -19718,7 +19810,7 @@ type JoinWorkspaceRequest struct { func (x *JoinWorkspaceRequest) Reset() { *x = JoinWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[229] + mi := &file_brent_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19730,7 +19822,7 @@ func (x *JoinWorkspaceRequest) String() string { func (*JoinWorkspaceRequest) ProtoMessage() {} func (x *JoinWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[229] + mi := &file_brent_proto_msgTypes[230] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19743,7 +19835,7 @@ func (x *JoinWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinWorkspaceRequest.ProtoReflect.Descriptor instead. func (*JoinWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{229} + return file_brent_proto_rawDescGZIP(), []int{230} } func (x *JoinWorkspaceRequest) GetWorkspaceId() string { @@ -19762,7 +19854,7 @@ type JoinWorkspaceResponse struct { func (x *JoinWorkspaceResponse) Reset() { *x = JoinWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[230] + mi := &file_brent_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19774,7 +19866,7 @@ func (x *JoinWorkspaceResponse) String() string { func (*JoinWorkspaceResponse) ProtoMessage() {} func (x *JoinWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[230] + mi := &file_brent_proto_msgTypes[231] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19787,7 +19879,7 @@ func (x *JoinWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinWorkspaceResponse.ProtoReflect.Descriptor instead. func (*JoinWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{230} + return file_brent_proto_rawDescGZIP(), []int{231} } func (x *JoinWorkspaceResponse) GetWorkspace() *Workspace { @@ -19816,7 +19908,7 @@ type ApprovedEmailDomain struct { func (x *ApprovedEmailDomain) Reset() { *x = ApprovedEmailDomain{} - mi := &file_brent_proto_msgTypes[231] + mi := &file_brent_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19828,7 +19920,7 @@ func (x *ApprovedEmailDomain) String() string { func (*ApprovedEmailDomain) ProtoMessage() {} func (x *ApprovedEmailDomain) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[231] + mi := &file_brent_proto_msgTypes[232] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19841,7 +19933,7 @@ func (x *ApprovedEmailDomain) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomain.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomain) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{231} + return file_brent_proto_rawDescGZIP(), []int{232} } func (x *ApprovedEmailDomain) GetId() string { @@ -19894,7 +19986,7 @@ type ListApprovedEmailDomainsRequest struct { func (x *ListApprovedEmailDomainsRequest) Reset() { *x = ListApprovedEmailDomainsRequest{} - mi := &file_brent_proto_msgTypes[232] + mi := &file_brent_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19906,7 +19998,7 @@ func (x *ListApprovedEmailDomainsRequest) String() string { func (*ListApprovedEmailDomainsRequest) ProtoMessage() {} func (x *ListApprovedEmailDomainsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[232] + mi := &file_brent_proto_msgTypes[233] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19919,7 +20011,7 @@ func (x *ListApprovedEmailDomainsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApprovedEmailDomainsRequest.ProtoReflect.Descriptor instead. func (*ListApprovedEmailDomainsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{232} + return file_brent_proto_rawDescGZIP(), []int{233} } type ListApprovedEmailDomainsResponse struct { @@ -19931,7 +20023,7 @@ type ListApprovedEmailDomainsResponse struct { func (x *ListApprovedEmailDomainsResponse) Reset() { *x = ListApprovedEmailDomainsResponse{} - mi := &file_brent_proto_msgTypes[233] + mi := &file_brent_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19943,7 +20035,7 @@ func (x *ListApprovedEmailDomainsResponse) String() string { func (*ListApprovedEmailDomainsResponse) ProtoMessage() {} func (x *ListApprovedEmailDomainsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[233] + mi := &file_brent_proto_msgTypes[234] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19956,7 +20048,7 @@ func (x *ListApprovedEmailDomainsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApprovedEmailDomainsResponse.ProtoReflect.Descriptor instead. func (*ListApprovedEmailDomainsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{233} + return file_brent_proto_rawDescGZIP(), []int{234} } func (x *ListApprovedEmailDomainsResponse) GetDomains() []*ApprovedEmailDomain { @@ -19980,7 +20072,7 @@ type AddApprovedEmailDomainRequest struct { func (x *AddApprovedEmailDomainRequest) Reset() { *x = AddApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[234] + mi := &file_brent_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19992,7 +20084,7 @@ func (x *AddApprovedEmailDomainRequest) String() string { func (*AddApprovedEmailDomainRequest) ProtoMessage() {} func (x *AddApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[234] + mi := &file_brent_proto_msgTypes[235] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20005,7 +20097,7 @@ func (x *AddApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. func (*AddApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{234} + return file_brent_proto_rawDescGZIP(), []int{235} } func (x *AddApprovedEmailDomainRequest) GetDomain() string { @@ -20031,7 +20123,7 @@ type AddApprovedEmailDomainResponse struct { func (x *AddApprovedEmailDomainResponse) Reset() { *x = AddApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[235] + mi := &file_brent_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20043,7 +20135,7 @@ func (x *AddApprovedEmailDomainResponse) String() string { func (*AddApprovedEmailDomainResponse) ProtoMessage() {} func (x *AddApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[235] + mi := &file_brent_proto_msgTypes[236] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20056,7 +20148,7 @@ func (x *AddApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. func (*AddApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{235} + return file_brent_proto_rawDescGZIP(), []int{236} } func (x *AddApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { @@ -20078,7 +20170,7 @@ type VerifyApprovedEmailDomainRequest struct { func (x *VerifyApprovedEmailDomainRequest) Reset() { *x = VerifyApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[236] + mi := &file_brent_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20090,7 +20182,7 @@ func (x *VerifyApprovedEmailDomainRequest) String() string { func (*VerifyApprovedEmailDomainRequest) ProtoMessage() {} func (x *VerifyApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[236] + mi := &file_brent_proto_msgTypes[237] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20103,7 +20195,7 @@ func (x *VerifyApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. func (*VerifyApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{236} + return file_brent_proto_rawDescGZIP(), []int{237} } func (x *VerifyApprovedEmailDomainRequest) GetId() string { @@ -20129,7 +20221,7 @@ type VerifyApprovedEmailDomainResponse struct { func (x *VerifyApprovedEmailDomainResponse) Reset() { *x = VerifyApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[237] + mi := &file_brent_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20141,7 +20233,7 @@ func (x *VerifyApprovedEmailDomainResponse) String() string { func (*VerifyApprovedEmailDomainResponse) ProtoMessage() {} func (x *VerifyApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[237] + mi := &file_brent_proto_msgTypes[238] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20154,7 +20246,7 @@ func (x *VerifyApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message // Deprecated: Use VerifyApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. func (*VerifyApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{237} + return file_brent_proto_rawDescGZIP(), []int{238} } func (x *VerifyApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { @@ -20174,7 +20266,7 @@ type ResendApprovedEmailDomainCodeRequest struct { func (x *ResendApprovedEmailDomainCodeRequest) Reset() { *x = ResendApprovedEmailDomainCodeRequest{} - mi := &file_brent_proto_msgTypes[238] + mi := &file_brent_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20186,7 +20278,7 @@ func (x *ResendApprovedEmailDomainCodeRequest) String() string { func (*ResendApprovedEmailDomainCodeRequest) ProtoMessage() {} func (x *ResendApprovedEmailDomainCodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[238] + mi := &file_brent_proto_msgTypes[239] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20199,7 +20291,7 @@ func (x *ResendApprovedEmailDomainCodeRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ResendApprovedEmailDomainCodeRequest.ProtoReflect.Descriptor instead. func (*ResendApprovedEmailDomainCodeRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{238} + return file_brent_proto_rawDescGZIP(), []int{239} } func (x *ResendApprovedEmailDomainCodeRequest) GetId() string { @@ -20217,7 +20309,7 @@ type ResendApprovedEmailDomainCodeResponse struct { func (x *ResendApprovedEmailDomainCodeResponse) Reset() { *x = ResendApprovedEmailDomainCodeResponse{} - mi := &file_brent_proto_msgTypes[239] + mi := &file_brent_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20229,7 +20321,7 @@ func (x *ResendApprovedEmailDomainCodeResponse) String() string { func (*ResendApprovedEmailDomainCodeResponse) ProtoMessage() {} func (x *ResendApprovedEmailDomainCodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[239] + mi := &file_brent_proto_msgTypes[240] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20242,7 +20334,7 @@ func (x *ResendApprovedEmailDomainCodeResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ResendApprovedEmailDomainCodeResponse.ProtoReflect.Descriptor instead. func (*ResendApprovedEmailDomainCodeResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{239} + return file_brent_proto_rawDescGZIP(), []int{240} } // ResendVerificationEmailRequest carries no fields: the recipient identity is @@ -20255,7 +20347,7 @@ type ResendVerificationEmailRequest struct { func (x *ResendVerificationEmailRequest) Reset() { *x = ResendVerificationEmailRequest{} - mi := &file_brent_proto_msgTypes[240] + mi := &file_brent_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20267,7 +20359,7 @@ func (x *ResendVerificationEmailRequest) String() string { func (*ResendVerificationEmailRequest) ProtoMessage() {} func (x *ResendVerificationEmailRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[240] + mi := &file_brent_proto_msgTypes[241] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20280,7 +20372,7 @@ func (x *ResendVerificationEmailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendVerificationEmailRequest.ProtoReflect.Descriptor instead. func (*ResendVerificationEmailRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{240} + return file_brent_proto_rawDescGZIP(), []int{241} } type ResendVerificationEmailResponse struct { @@ -20291,7 +20383,7 @@ type ResendVerificationEmailResponse struct { func (x *ResendVerificationEmailResponse) Reset() { *x = ResendVerificationEmailResponse{} - mi := &file_brent_proto_msgTypes[241] + mi := &file_brent_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20303,7 +20395,7 @@ func (x *ResendVerificationEmailResponse) String() string { func (*ResendVerificationEmailResponse) ProtoMessage() {} func (x *ResendVerificationEmailResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[241] + mi := &file_brent_proto_msgTypes[242] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20316,7 +20408,7 @@ func (x *ResendVerificationEmailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendVerificationEmailResponse.ProtoReflect.Descriptor instead. func (*ResendVerificationEmailResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{241} + return file_brent_proto_rawDescGZIP(), []int{242} } type DeleteApprovedEmailDomainRequest struct { @@ -20329,7 +20421,7 @@ type DeleteApprovedEmailDomainRequest struct { func (x *DeleteApprovedEmailDomainRequest) Reset() { *x = DeleteApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[242] + mi := &file_brent_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20341,7 +20433,7 @@ func (x *DeleteApprovedEmailDomainRequest) String() string { func (*DeleteApprovedEmailDomainRequest) ProtoMessage() {} func (x *DeleteApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[242] + mi := &file_brent_proto_msgTypes[243] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20354,7 +20446,7 @@ func (x *DeleteApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. func (*DeleteApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{242} + return file_brent_proto_rawDescGZIP(), []int{243} } func (x *DeleteApprovedEmailDomainRequest) GetId() string { @@ -20372,7 +20464,7 @@ type DeleteApprovedEmailDomainResponse struct { func (x *DeleteApprovedEmailDomainResponse) Reset() { *x = DeleteApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[243] + mi := &file_brent_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20384,7 +20476,7 @@ func (x *DeleteApprovedEmailDomainResponse) String() string { func (*DeleteApprovedEmailDomainResponse) ProtoMessage() {} func (x *DeleteApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[243] + mi := &file_brent_proto_msgTypes[244] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20397,7 +20489,7 @@ func (x *DeleteApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. func (*DeleteApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{243} + return file_brent_proto_rawDescGZIP(), []int{244} } // WorkspaceLLMCredentialStatus is the metadata-only view of a stored workspace @@ -20421,7 +20513,7 @@ type WorkspaceLLMCredentialStatus struct { func (x *WorkspaceLLMCredentialStatus) Reset() { *x = WorkspaceLLMCredentialStatus{} - mi := &file_brent_proto_msgTypes[244] + mi := &file_brent_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20433,7 +20525,7 @@ func (x *WorkspaceLLMCredentialStatus) String() string { func (*WorkspaceLLMCredentialStatus) ProtoMessage() {} func (x *WorkspaceLLMCredentialStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[244] + mi := &file_brent_proto_msgTypes[245] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20446,7 +20538,7 @@ func (x *WorkspaceLLMCredentialStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceLLMCredentialStatus.ProtoReflect.Descriptor instead. func (*WorkspaceLLMCredentialStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{244} + return file_brent_proto_rawDescGZIP(), []int{245} } func (x *WorkspaceLLMCredentialStatus) GetProvider() string { @@ -20494,7 +20586,7 @@ type GetWorkspaceLLMCredentialStatusRequest struct { func (x *GetWorkspaceLLMCredentialStatusRequest) Reset() { *x = GetWorkspaceLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[245] + mi := &file_brent_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20506,7 +20598,7 @@ func (x *GetWorkspaceLLMCredentialStatusRequest) String() string { func (*GetWorkspaceLLMCredentialStatusRequest) ProtoMessage() {} func (x *GetWorkspaceLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[245] + mi := &file_brent_proto_msgTypes[246] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20519,7 +20611,7 @@ func (x *GetWorkspaceLLMCredentialStatusRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use GetWorkspaceLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*GetWorkspaceLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{245} + return file_brent_proto_rawDescGZIP(), []int{246} } func (x *GetWorkspaceLLMCredentialStatusRequest) GetProvider() string { @@ -20538,7 +20630,7 @@ type GetWorkspaceLLMCredentialStatusResponse struct { func (x *GetWorkspaceLLMCredentialStatusResponse) Reset() { *x = GetWorkspaceLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[246] + mi := &file_brent_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20550,7 +20642,7 @@ func (x *GetWorkspaceLLMCredentialStatusResponse) String() string { func (*GetWorkspaceLLMCredentialStatusResponse) ProtoMessage() {} func (x *GetWorkspaceLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[246] + mi := &file_brent_proto_msgTypes[247] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20563,7 +20655,7 @@ func (x *GetWorkspaceLLMCredentialStatusResponse) ProtoReflect() protoreflect.Me // Deprecated: Use GetWorkspaceLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*GetWorkspaceLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{246} + return file_brent_proto_rawDescGZIP(), []int{247} } func (x *GetWorkspaceLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -20585,7 +20677,7 @@ type SetWorkspaceLLMCredentialRequest struct { func (x *SetWorkspaceLLMCredentialRequest) Reset() { *x = SetWorkspaceLLMCredentialRequest{} - mi := &file_brent_proto_msgTypes[247] + mi := &file_brent_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20597,7 +20689,7 @@ func (x *SetWorkspaceLLMCredentialRequest) String() string { func (*SetWorkspaceLLMCredentialRequest) ProtoMessage() {} func (x *SetWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[247] + mi := &file_brent_proto_msgTypes[248] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20610,7 +20702,7 @@ func (x *SetWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. func (*SetWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{247} + return file_brent_proto_rawDescGZIP(), []int{248} } func (x *SetWorkspaceLLMCredentialRequest) GetProvider() string { @@ -20641,7 +20733,7 @@ type SetWorkspaceLLMCredentialResponse struct { func (x *SetWorkspaceLLMCredentialResponse) Reset() { *x = SetWorkspaceLLMCredentialResponse{} - mi := &file_brent_proto_msgTypes[248] + mi := &file_brent_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20653,7 +20745,7 @@ func (x *SetWorkspaceLLMCredentialResponse) String() string { func (*SetWorkspaceLLMCredentialResponse) ProtoMessage() {} func (x *SetWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[248] + mi := &file_brent_proto_msgTypes[249] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20666,7 +20758,7 @@ func (x *SetWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message // Deprecated: Use SetWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. func (*SetWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{248} + return file_brent_proto_rawDescGZIP(), []int{249} } func (x *SetWorkspaceLLMCredentialResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -20693,7 +20785,7 @@ type DeleteWorkspaceLLMCredentialRequest struct { func (x *DeleteWorkspaceLLMCredentialRequest) Reset() { *x = DeleteWorkspaceLLMCredentialRequest{} - mi := &file_brent_proto_msgTypes[249] + mi := &file_brent_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20705,7 +20797,7 @@ func (x *DeleteWorkspaceLLMCredentialRequest) String() string { func (*DeleteWorkspaceLLMCredentialRequest) ProtoMessage() {} func (x *DeleteWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[249] + mi := &file_brent_proto_msgTypes[250] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20718,7 +20810,7 @@ func (x *DeleteWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use DeleteWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{249} + return file_brent_proto_rawDescGZIP(), []int{250} } func (x *DeleteWorkspaceLLMCredentialRequest) GetProvider() string { @@ -20736,7 +20828,7 @@ type DeleteWorkspaceLLMCredentialResponse struct { func (x *DeleteWorkspaceLLMCredentialResponse) Reset() { *x = DeleteWorkspaceLLMCredentialResponse{} - mi := &file_brent_proto_msgTypes[250] + mi := &file_brent_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20748,7 +20840,7 @@ func (x *DeleteWorkspaceLLMCredentialResponse) String() string { func (*DeleteWorkspaceLLMCredentialResponse) ProtoMessage() {} func (x *DeleteWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[250] + mi := &file_brent_proto_msgTypes[251] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20761,7 +20853,7 @@ func (x *DeleteWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use DeleteWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{250} + return file_brent_proto_rawDescGZIP(), []int{251} } type MyCursorCredentialStatus struct { @@ -20778,7 +20870,7 @@ type MyCursorCredentialStatus struct { func (x *MyCursorCredentialStatus) Reset() { *x = MyCursorCredentialStatus{} - mi := &file_brent_proto_msgTypes[251] + mi := &file_brent_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20790,7 +20882,7 @@ func (x *MyCursorCredentialStatus) String() string { func (*MyCursorCredentialStatus) ProtoMessage() {} func (x *MyCursorCredentialStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[251] + mi := &file_brent_proto_msgTypes[252] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20803,7 +20895,7 @@ func (x *MyCursorCredentialStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use MyCursorCredentialStatus.ProtoReflect.Descriptor instead. func (*MyCursorCredentialStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{251} + return file_brent_proto_rawDescGZIP(), []int{252} } func (x *MyCursorCredentialStatus) GetConnected() bool { @@ -20835,7 +20927,7 @@ type GetMyCursorCredentialStatusRequest struct { func (x *GetMyCursorCredentialStatusRequest) Reset() { *x = GetMyCursorCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[252] + mi := &file_brent_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20847,7 +20939,7 @@ func (x *GetMyCursorCredentialStatusRequest) String() string { func (*GetMyCursorCredentialStatusRequest) ProtoMessage() {} func (x *GetMyCursorCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[252] + mi := &file_brent_proto_msgTypes[253] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20860,7 +20952,7 @@ func (x *GetMyCursorCredentialStatusRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetMyCursorCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*GetMyCursorCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{252} + return file_brent_proto_rawDescGZIP(), []int{253} } type GetMyCursorCredentialStatusResponse struct { @@ -20872,7 +20964,7 @@ type GetMyCursorCredentialStatusResponse struct { func (x *GetMyCursorCredentialStatusResponse) Reset() { *x = GetMyCursorCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[253] + mi := &file_brent_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20884,7 +20976,7 @@ func (x *GetMyCursorCredentialStatusResponse) String() string { func (*GetMyCursorCredentialStatusResponse) ProtoMessage() {} func (x *GetMyCursorCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[253] + mi := &file_brent_proto_msgTypes[254] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20897,7 +20989,7 @@ func (x *GetMyCursorCredentialStatusResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetMyCursorCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*GetMyCursorCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{253} + return file_brent_proto_rawDescGZIP(), []int{254} } func (x *GetMyCursorCredentialStatusResponse) GetStatus() *MyCursorCredentialStatus { @@ -20917,7 +21009,7 @@ type SetMyCursorCredentialRequest struct { func (x *SetMyCursorCredentialRequest) Reset() { *x = SetMyCursorCredentialRequest{} - mi := &file_brent_proto_msgTypes[254] + mi := &file_brent_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20929,7 +21021,7 @@ func (x *SetMyCursorCredentialRequest) String() string { func (*SetMyCursorCredentialRequest) ProtoMessage() {} func (x *SetMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[254] + mi := &file_brent_proto_msgTypes[255] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20942,7 +21034,7 @@ func (x *SetMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMyCursorCredentialRequest.ProtoReflect.Descriptor instead. func (*SetMyCursorCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{254} + return file_brent_proto_rawDescGZIP(), []int{255} } func (x *SetMyCursorCredentialRequest) GetSecret() string { @@ -20961,7 +21053,7 @@ type SetMyCursorCredentialResponse struct { func (x *SetMyCursorCredentialResponse) Reset() { *x = SetMyCursorCredentialResponse{} - mi := &file_brent_proto_msgTypes[255] + mi := &file_brent_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20973,7 +21065,7 @@ func (x *SetMyCursorCredentialResponse) String() string { func (*SetMyCursorCredentialResponse) ProtoMessage() {} func (x *SetMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[255] + mi := &file_brent_proto_msgTypes[256] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20986,7 +21078,7 @@ func (x *SetMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMyCursorCredentialResponse.ProtoReflect.Descriptor instead. func (*SetMyCursorCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{255} + return file_brent_proto_rawDescGZIP(), []int{256} } func (x *SetMyCursorCredentialResponse) GetStatus() *MyCursorCredentialStatus { @@ -21004,7 +21096,7 @@ type DeleteMyCursorCredentialRequest struct { func (x *DeleteMyCursorCredentialRequest) Reset() { *x = DeleteMyCursorCredentialRequest{} - mi := &file_brent_proto_msgTypes[256] + mi := &file_brent_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21016,7 +21108,7 @@ func (x *DeleteMyCursorCredentialRequest) String() string { func (*DeleteMyCursorCredentialRequest) ProtoMessage() {} func (x *DeleteMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[256] + mi := &file_brent_proto_msgTypes[257] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21029,7 +21121,7 @@ func (x *DeleteMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMyCursorCredentialRequest.ProtoReflect.Descriptor instead. func (*DeleteMyCursorCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{256} + return file_brent_proto_rawDescGZIP(), []int{257} } type DeleteMyCursorCredentialResponse struct { @@ -21040,7 +21132,7 @@ type DeleteMyCursorCredentialResponse struct { func (x *DeleteMyCursorCredentialResponse) Reset() { *x = DeleteMyCursorCredentialResponse{} - mi := &file_brent_proto_msgTypes[257] + mi := &file_brent_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21052,7 +21144,7 @@ func (x *DeleteMyCursorCredentialResponse) String() string { func (*DeleteMyCursorCredentialResponse) ProtoMessage() {} func (x *DeleteMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[257] + mi := &file_brent_proto_msgTypes[258] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21065,7 +21157,7 @@ func (x *DeleteMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMyCursorCredentialResponse.ProtoReflect.Descriptor instead. func (*DeleteMyCursorCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{257} + return file_brent_proto_rawDescGZIP(), []int{258} } type UpdateWorkspaceBrandingRequest struct { @@ -21081,7 +21173,7 @@ type UpdateWorkspaceBrandingRequest struct { func (x *UpdateWorkspaceBrandingRequest) Reset() { *x = UpdateWorkspaceBrandingRequest{} - mi := &file_brent_proto_msgTypes[258] + mi := &file_brent_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21093,7 +21185,7 @@ func (x *UpdateWorkspaceBrandingRequest) String() string { func (*UpdateWorkspaceBrandingRequest) ProtoMessage() {} func (x *UpdateWorkspaceBrandingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[258] + mi := &file_brent_proto_msgTypes[259] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21106,7 +21198,7 @@ func (x *UpdateWorkspaceBrandingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkspaceBrandingRequest.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceBrandingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{258} + return file_brent_proto_rawDescGZIP(), []int{259} } func (x *UpdateWorkspaceBrandingRequest) GetThemeColor() string { @@ -21125,7 +21217,7 @@ type UpdateWorkspaceBrandingResponse struct { func (x *UpdateWorkspaceBrandingResponse) Reset() { *x = UpdateWorkspaceBrandingResponse{} - mi := &file_brent_proto_msgTypes[259] + mi := &file_brent_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21137,7 +21229,7 @@ func (x *UpdateWorkspaceBrandingResponse) String() string { func (*UpdateWorkspaceBrandingResponse) ProtoMessage() {} func (x *UpdateWorkspaceBrandingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[259] + mi := &file_brent_proto_msgTypes[260] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21150,7 +21242,7 @@ func (x *UpdateWorkspaceBrandingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkspaceBrandingResponse.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceBrandingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{259} + return file_brent_proto_rawDescGZIP(), []int{260} } func (x *UpdateWorkspaceBrandingResponse) GetWorkspace() *Workspace { @@ -21171,7 +21263,7 @@ type CompleteWorkspaceOnboardingRequest struct { func (x *CompleteWorkspaceOnboardingRequest) Reset() { *x = CompleteWorkspaceOnboardingRequest{} - mi := &file_brent_proto_msgTypes[260] + mi := &file_brent_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21183,7 +21275,7 @@ func (x *CompleteWorkspaceOnboardingRequest) String() string { func (*CompleteWorkspaceOnboardingRequest) ProtoMessage() {} func (x *CompleteWorkspaceOnboardingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[260] + mi := &file_brent_proto_msgTypes[261] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21196,7 +21288,7 @@ func (x *CompleteWorkspaceOnboardingRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CompleteWorkspaceOnboardingRequest.ProtoReflect.Descriptor instead. func (*CompleteWorkspaceOnboardingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{260} + return file_brent_proto_rawDescGZIP(), []int{261} } func (x *CompleteWorkspaceOnboardingRequest) GetWorkspaceId() string { @@ -21215,7 +21307,7 @@ type CompleteWorkspaceOnboardingResponse struct { func (x *CompleteWorkspaceOnboardingResponse) Reset() { *x = CompleteWorkspaceOnboardingResponse{} - mi := &file_brent_proto_msgTypes[261] + mi := &file_brent_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21227,7 +21319,7 @@ func (x *CompleteWorkspaceOnboardingResponse) String() string { func (*CompleteWorkspaceOnboardingResponse) ProtoMessage() {} func (x *CompleteWorkspaceOnboardingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[261] + mi := &file_brent_proto_msgTypes[262] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21240,7 +21332,7 @@ func (x *CompleteWorkspaceOnboardingResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CompleteWorkspaceOnboardingResponse.ProtoReflect.Descriptor instead. func (*CompleteWorkspaceOnboardingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{261} + return file_brent_proto_rawDescGZIP(), []int{262} } func (x *CompleteWorkspaceOnboardingResponse) GetWorkspace() *Workspace { @@ -21261,7 +21353,7 @@ type CreateInvitationRequest struct { func (x *CreateInvitationRequest) Reset() { *x = CreateInvitationRequest{} - mi := &file_brent_proto_msgTypes[262] + mi := &file_brent_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21273,7 +21365,7 @@ func (x *CreateInvitationRequest) String() string { func (*CreateInvitationRequest) ProtoMessage() {} func (x *CreateInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[262] + mi := &file_brent_proto_msgTypes[263] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21286,7 +21378,7 @@ func (x *CreateInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationRequest.ProtoReflect.Descriptor instead. func (*CreateInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{262} + return file_brent_proto_rawDescGZIP(), []int{263} } func (x *CreateInvitationRequest) GetWorkspaceId() string { @@ -21322,7 +21414,7 @@ type CreateInvitationResponse struct { func (x *CreateInvitationResponse) Reset() { *x = CreateInvitationResponse{} - mi := &file_brent_proto_msgTypes[263] + mi := &file_brent_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21334,7 +21426,7 @@ func (x *CreateInvitationResponse) String() string { func (*CreateInvitationResponse) ProtoMessage() {} func (x *CreateInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[263] + mi := &file_brent_proto_msgTypes[264] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21347,7 +21439,7 @@ func (x *CreateInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationResponse.ProtoReflect.Descriptor instead. func (*CreateInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{263} + return file_brent_proto_rawDescGZIP(), []int{264} } func (x *CreateInvitationResponse) GetAcceptUrl() string { @@ -21389,7 +21481,7 @@ type CreateInvitationsRequest struct { func (x *CreateInvitationsRequest) Reset() { *x = CreateInvitationsRequest{} - mi := &file_brent_proto_msgTypes[264] + mi := &file_brent_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21401,7 +21493,7 @@ func (x *CreateInvitationsRequest) String() string { func (*CreateInvitationsRequest) ProtoMessage() {} func (x *CreateInvitationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[264] + mi := &file_brent_proto_msgTypes[265] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21414,7 +21506,7 @@ func (x *CreateInvitationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationsRequest.ProtoReflect.Descriptor instead. func (*CreateInvitationsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{264} + return file_brent_proto_rawDescGZIP(), []int{265} } func (x *CreateInvitationsRequest) GetWorkspaceId() string { @@ -21450,7 +21542,7 @@ type InvitationResult struct { func (x *InvitationResult) Reset() { *x = InvitationResult{} - mi := &file_brent_proto_msgTypes[265] + mi := &file_brent_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21462,7 +21554,7 @@ func (x *InvitationResult) String() string { func (*InvitationResult) ProtoMessage() {} func (x *InvitationResult) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[265] + mi := &file_brent_proto_msgTypes[266] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21475,7 +21567,7 @@ func (x *InvitationResult) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationResult.ProtoReflect.Descriptor instead. func (*InvitationResult) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{265} + return file_brent_proto_rawDescGZIP(), []int{266} } func (x *InvitationResult) GetEmail() string { @@ -21515,7 +21607,7 @@ type CreateInvitationsResponse struct { func (x *CreateInvitationsResponse) Reset() { *x = CreateInvitationsResponse{} - mi := &file_brent_proto_msgTypes[266] + mi := &file_brent_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21527,7 +21619,7 @@ func (x *CreateInvitationsResponse) String() string { func (*CreateInvitationsResponse) ProtoMessage() {} func (x *CreateInvitationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[266] + mi := &file_brent_proto_msgTypes[267] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21540,7 +21632,7 @@ func (x *CreateInvitationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationsResponse.ProtoReflect.Descriptor instead. func (*CreateInvitationsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{266} + return file_brent_proto_rawDescGZIP(), []int{267} } func (x *CreateInvitationsResponse) GetResults() []*InvitationResult { @@ -21559,7 +21651,7 @@ type AcceptInvitationRequest struct { func (x *AcceptInvitationRequest) Reset() { *x = AcceptInvitationRequest{} - mi := &file_brent_proto_msgTypes[267] + mi := &file_brent_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21571,7 +21663,7 @@ func (x *AcceptInvitationRequest) String() string { func (*AcceptInvitationRequest) ProtoMessage() {} func (x *AcceptInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[267] + mi := &file_brent_proto_msgTypes[268] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21584,7 +21676,7 @@ func (x *AcceptInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceptInvitationRequest.ProtoReflect.Descriptor instead. func (*AcceptInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{267} + return file_brent_proto_rawDescGZIP(), []int{268} } func (x *AcceptInvitationRequest) GetToken() string { @@ -21603,7 +21695,7 @@ type AcceptInvitationResponse struct { func (x *AcceptInvitationResponse) Reset() { *x = AcceptInvitationResponse{} - mi := &file_brent_proto_msgTypes[268] + mi := &file_brent_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21615,7 +21707,7 @@ func (x *AcceptInvitationResponse) String() string { func (*AcceptInvitationResponse) ProtoMessage() {} func (x *AcceptInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[268] + mi := &file_brent_proto_msgTypes[269] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21628,7 +21720,7 @@ func (x *AcceptInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceptInvitationResponse.ProtoReflect.Descriptor instead. func (*AcceptInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{268} + return file_brent_proto_rawDescGZIP(), []int{269} } func (x *AcceptInvitationResponse) GetWorkspace() *Workspace { @@ -21647,7 +21739,7 @@ type ListWorkspaceMembersRequest struct { func (x *ListWorkspaceMembersRequest) Reset() { *x = ListWorkspaceMembersRequest{} - mi := &file_brent_proto_msgTypes[269] + mi := &file_brent_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21659,7 +21751,7 @@ func (x *ListWorkspaceMembersRequest) String() string { func (*ListWorkspaceMembersRequest) ProtoMessage() {} func (x *ListWorkspaceMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[269] + mi := &file_brent_proto_msgTypes[270] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21672,7 +21764,7 @@ func (x *ListWorkspaceMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkspaceMembersRequest.ProtoReflect.Descriptor instead. func (*ListWorkspaceMembersRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{269} + return file_brent_proto_rawDescGZIP(), []int{270} } func (x *ListWorkspaceMembersRequest) GetWorkspaceId() string { @@ -21691,7 +21783,7 @@ type ListWorkspaceMembersResponse struct { func (x *ListWorkspaceMembersResponse) Reset() { *x = ListWorkspaceMembersResponse{} - mi := &file_brent_proto_msgTypes[270] + mi := &file_brent_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21703,7 +21795,7 @@ func (x *ListWorkspaceMembersResponse) String() string { func (*ListWorkspaceMembersResponse) ProtoMessage() {} func (x *ListWorkspaceMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[270] + mi := &file_brent_proto_msgTypes[271] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21716,7 +21808,7 @@ func (x *ListWorkspaceMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkspaceMembersResponse.ProtoReflect.Descriptor instead. func (*ListWorkspaceMembersResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{270} + return file_brent_proto_rawDescGZIP(), []int{271} } func (x *ListWorkspaceMembersResponse) GetMembers() []*WorkspaceMember { @@ -21741,7 +21833,7 @@ type WorkspaceMember struct { func (x *WorkspaceMember) Reset() { *x = WorkspaceMember{} - mi := &file_brent_proto_msgTypes[271] + mi := &file_brent_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21753,7 +21845,7 @@ func (x *WorkspaceMember) String() string { func (*WorkspaceMember) ProtoMessage() {} func (x *WorkspaceMember) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[271] + mi := &file_brent_proto_msgTypes[272] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21766,7 +21858,7 @@ func (x *WorkspaceMember) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceMember.ProtoReflect.Descriptor instead. func (*WorkspaceMember) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{271} + return file_brent_proto_rawDescGZIP(), []int{272} } func (x *WorkspaceMember) GetPrincipalId() string { @@ -21822,7 +21914,7 @@ type ResendInvitationRequest struct { func (x *ResendInvitationRequest) Reset() { *x = ResendInvitationRequest{} - mi := &file_brent_proto_msgTypes[272] + mi := &file_brent_proto_msgTypes[273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21834,7 +21926,7 @@ func (x *ResendInvitationRequest) String() string { func (*ResendInvitationRequest) ProtoMessage() {} func (x *ResendInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[272] + mi := &file_brent_proto_msgTypes[273] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21847,7 +21939,7 @@ func (x *ResendInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendInvitationRequest.ProtoReflect.Descriptor instead. func (*ResendInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{272} + return file_brent_proto_rawDescGZIP(), []int{273} } func (x *ResendInvitationRequest) GetWorkspaceId() string { @@ -21874,7 +21966,7 @@ type ResendInvitationResponse struct { func (x *ResendInvitationResponse) Reset() { *x = ResendInvitationResponse{} - mi := &file_brent_proto_msgTypes[273] + mi := &file_brent_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21886,7 +21978,7 @@ func (x *ResendInvitationResponse) String() string { func (*ResendInvitationResponse) ProtoMessage() {} func (x *ResendInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[273] + mi := &file_brent_proto_msgTypes[274] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21899,7 +21991,7 @@ func (x *ResendInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendInvitationResponse.ProtoReflect.Descriptor instead. func (*ResendInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{273} + return file_brent_proto_rawDescGZIP(), []int{274} } func (x *ResendInvitationResponse) GetAcceptUrl() string { @@ -21926,7 +22018,7 @@ type RevokeInvitationRequest struct { func (x *RevokeInvitationRequest) Reset() { *x = RevokeInvitationRequest{} - mi := &file_brent_proto_msgTypes[274] + mi := &file_brent_proto_msgTypes[275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21938,7 +22030,7 @@ func (x *RevokeInvitationRequest) String() string { func (*RevokeInvitationRequest) ProtoMessage() {} func (x *RevokeInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[274] + mi := &file_brent_proto_msgTypes[275] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21951,7 +22043,7 @@ func (x *RevokeInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeInvitationRequest.ProtoReflect.Descriptor instead. func (*RevokeInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{274} + return file_brent_proto_rawDescGZIP(), []int{275} } func (x *RevokeInvitationRequest) GetWorkspaceId() string { @@ -21976,7 +22068,7 @@ type RevokeInvitationResponse struct { func (x *RevokeInvitationResponse) Reset() { *x = RevokeInvitationResponse{} - mi := &file_brent_proto_msgTypes[275] + mi := &file_brent_proto_msgTypes[276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21988,7 +22080,7 @@ func (x *RevokeInvitationResponse) String() string { func (*RevokeInvitationResponse) ProtoMessage() {} func (x *RevokeInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[275] + mi := &file_brent_proto_msgTypes[276] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22001,7 +22093,7 @@ func (x *RevokeInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeInvitationResponse.ProtoReflect.Descriptor instead. func (*RevokeInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{275} + return file_brent_proto_rawDescGZIP(), []int{276} } type RemoveWorkspaceMemberRequest struct { @@ -22014,7 +22106,7 @@ type RemoveWorkspaceMemberRequest struct { func (x *RemoveWorkspaceMemberRequest) Reset() { *x = RemoveWorkspaceMemberRequest{} - mi := &file_brent_proto_msgTypes[276] + mi := &file_brent_proto_msgTypes[277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22026,7 +22118,7 @@ func (x *RemoveWorkspaceMemberRequest) String() string { func (*RemoveWorkspaceMemberRequest) ProtoMessage() {} func (x *RemoveWorkspaceMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[276] + mi := &file_brent_proto_msgTypes[277] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22039,7 +22131,7 @@ func (x *RemoveWorkspaceMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWorkspaceMemberRequest.ProtoReflect.Descriptor instead. func (*RemoveWorkspaceMemberRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{276} + return file_brent_proto_rawDescGZIP(), []int{277} } func (x *RemoveWorkspaceMemberRequest) GetWorkspaceId() string { @@ -22064,7 +22156,7 @@ type RemoveWorkspaceMemberResponse struct { func (x *RemoveWorkspaceMemberResponse) Reset() { *x = RemoveWorkspaceMemberResponse{} - mi := &file_brent_proto_msgTypes[277] + mi := &file_brent_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22076,7 +22168,7 @@ func (x *RemoveWorkspaceMemberResponse) String() string { func (*RemoveWorkspaceMemberResponse) ProtoMessage() {} func (x *RemoveWorkspaceMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[277] + mi := &file_brent_proto_msgTypes[278] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22089,7 +22181,7 @@ func (x *RemoveWorkspaceMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWorkspaceMemberResponse.ProtoReflect.Descriptor instead. func (*RemoveWorkspaceMemberResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{277} + return file_brent_proto_rawDescGZIP(), []int{278} } type UpdateWorkspaceMemberRoleRequest struct { @@ -22103,7 +22195,7 @@ type UpdateWorkspaceMemberRoleRequest struct { func (x *UpdateWorkspaceMemberRoleRequest) Reset() { *x = UpdateWorkspaceMemberRoleRequest{} - mi := &file_brent_proto_msgTypes[278] + mi := &file_brent_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22115,7 +22207,7 @@ func (x *UpdateWorkspaceMemberRoleRequest) String() string { func (*UpdateWorkspaceMemberRoleRequest) ProtoMessage() {} func (x *UpdateWorkspaceMemberRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[278] + mi := &file_brent_proto_msgTypes[279] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22128,7 +22220,7 @@ func (x *UpdateWorkspaceMemberRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkspaceMemberRoleRequest.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceMemberRoleRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{278} + return file_brent_proto_rawDescGZIP(), []int{279} } func (x *UpdateWorkspaceMemberRoleRequest) GetWorkspaceId() string { @@ -22160,7 +22252,7 @@ type UpdateWorkspaceMemberRoleResponse struct { func (x *UpdateWorkspaceMemberRoleResponse) Reset() { *x = UpdateWorkspaceMemberRoleResponse{} - mi := &file_brent_proto_msgTypes[279] + mi := &file_brent_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22172,7 +22264,7 @@ func (x *UpdateWorkspaceMemberRoleResponse) String() string { func (*UpdateWorkspaceMemberRoleResponse) ProtoMessage() {} func (x *UpdateWorkspaceMemberRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[279] + mi := &file_brent_proto_msgTypes[280] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22185,7 +22277,7 @@ func (x *UpdateWorkspaceMemberRoleResponse) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateWorkspaceMemberRoleResponse.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceMemberRoleResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{279} + return file_brent_proto_rawDescGZIP(), []int{280} } type GetInvitationRequest struct { @@ -22197,7 +22289,7 @@ type GetInvitationRequest struct { func (x *GetInvitationRequest) Reset() { *x = GetInvitationRequest{} - mi := &file_brent_proto_msgTypes[280] + mi := &file_brent_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22209,7 +22301,7 @@ func (x *GetInvitationRequest) String() string { func (*GetInvitationRequest) ProtoMessage() {} func (x *GetInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[280] + mi := &file_brent_proto_msgTypes[281] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22222,7 +22314,7 @@ func (x *GetInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvitationRequest.ProtoReflect.Descriptor instead. func (*GetInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{280} + return file_brent_proto_rawDescGZIP(), []int{281} } func (x *GetInvitationRequest) GetToken() string { @@ -22248,7 +22340,7 @@ type GetInvitationResponse struct { func (x *GetInvitationResponse) Reset() { *x = GetInvitationResponse{} - mi := &file_brent_proto_msgTypes[281] + mi := &file_brent_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22260,7 +22352,7 @@ func (x *GetInvitationResponse) String() string { func (*GetInvitationResponse) ProtoMessage() {} func (x *GetInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[281] + mi := &file_brent_proto_msgTypes[282] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22273,7 +22365,7 @@ func (x *GetInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvitationResponse.ProtoReflect.Descriptor instead. func (*GetInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{281} + return file_brent_proto_rawDescGZIP(), []int{282} } func (x *GetInvitationResponse) GetStatus() InvitationStatus { @@ -22342,7 +22434,7 @@ type UpsertMyVerifiedBindingRequest struct { func (x *UpsertMyVerifiedBindingRequest) Reset() { *x = UpsertMyVerifiedBindingRequest{} - mi := &file_brent_proto_msgTypes[282] + mi := &file_brent_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22354,7 +22446,7 @@ func (x *UpsertMyVerifiedBindingRequest) String() string { func (*UpsertMyVerifiedBindingRequest) ProtoMessage() {} func (x *UpsertMyVerifiedBindingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[282] + mi := &file_brent_proto_msgTypes[283] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22367,7 +22459,7 @@ func (x *UpsertMyVerifiedBindingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertMyVerifiedBindingRequest.ProtoReflect.Descriptor instead. func (*UpsertMyVerifiedBindingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{282} + return file_brent_proto_rawDescGZIP(), []int{283} } func (x *UpsertMyVerifiedBindingRequest) GetProvider() string { @@ -22393,7 +22485,7 @@ type UpsertMyVerifiedBindingResponse struct { func (x *UpsertMyVerifiedBindingResponse) Reset() { *x = UpsertMyVerifiedBindingResponse{} - mi := &file_brent_proto_msgTypes[283] + mi := &file_brent_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22405,7 +22497,7 @@ func (x *UpsertMyVerifiedBindingResponse) String() string { func (*UpsertMyVerifiedBindingResponse) ProtoMessage() {} func (x *UpsertMyVerifiedBindingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[283] + mi := &file_brent_proto_msgTypes[284] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22418,7 +22510,7 @@ func (x *UpsertMyVerifiedBindingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertMyVerifiedBindingResponse.ProtoReflect.Descriptor instead. func (*UpsertMyVerifiedBindingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{283} + return file_brent_proto_rawDescGZIP(), []int{284} } func (x *UpsertMyVerifiedBindingResponse) GetBinding() *Binding { @@ -22439,7 +22531,7 @@ type UpdateMyDisplayNameRequest struct { func (x *UpdateMyDisplayNameRequest) Reset() { *x = UpdateMyDisplayNameRequest{} - mi := &file_brent_proto_msgTypes[284] + mi := &file_brent_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22451,7 +22543,7 @@ func (x *UpdateMyDisplayNameRequest) String() string { func (*UpdateMyDisplayNameRequest) ProtoMessage() {} func (x *UpdateMyDisplayNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[284] + mi := &file_brent_proto_msgTypes[285] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22464,7 +22556,7 @@ func (x *UpdateMyDisplayNameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateMyDisplayNameRequest.ProtoReflect.Descriptor instead. func (*UpdateMyDisplayNameRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{284} + return file_brent_proto_rawDescGZIP(), []int{285} } func (x *UpdateMyDisplayNameRequest) GetDisplayName() string { @@ -22485,7 +22577,7 @@ type UpdateMyDisplayNameResponse struct { func (x *UpdateMyDisplayNameResponse) Reset() { *x = UpdateMyDisplayNameResponse{} - mi := &file_brent_proto_msgTypes[285] + mi := &file_brent_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22497,7 +22589,7 @@ func (x *UpdateMyDisplayNameResponse) String() string { func (*UpdateMyDisplayNameResponse) ProtoMessage() {} func (x *UpdateMyDisplayNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[285] + mi := &file_brent_proto_msgTypes[286] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22510,7 +22602,7 @@ func (x *UpdateMyDisplayNameResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateMyDisplayNameResponse.ProtoReflect.Descriptor instead. func (*UpdateMyDisplayNameResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{285} + return file_brent_proto_rawDescGZIP(), []int{286} } func (x *UpdateMyDisplayNameResponse) GetPrincipal() *Principal { @@ -22528,7 +22620,7 @@ type ListMyBindingsRequest struct { func (x *ListMyBindingsRequest) Reset() { *x = ListMyBindingsRequest{} - mi := &file_brent_proto_msgTypes[286] + mi := &file_brent_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22540,7 +22632,7 @@ func (x *ListMyBindingsRequest) String() string { func (*ListMyBindingsRequest) ProtoMessage() {} func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[286] + mi := &file_brent_proto_msgTypes[287] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22553,7 +22645,7 @@ func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyBindingsRequest.ProtoReflect.Descriptor instead. func (*ListMyBindingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{286} + return file_brent_proto_rawDescGZIP(), []int{287} } type ListMyBindingsResponse struct { @@ -22565,7 +22657,7 @@ type ListMyBindingsResponse struct { func (x *ListMyBindingsResponse) Reset() { *x = ListMyBindingsResponse{} - mi := &file_brent_proto_msgTypes[287] + mi := &file_brent_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22577,7 +22669,7 @@ func (x *ListMyBindingsResponse) String() string { func (*ListMyBindingsResponse) ProtoMessage() {} func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[287] + mi := &file_brent_proto_msgTypes[288] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22590,7 +22682,7 @@ func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyBindingsResponse.ProtoReflect.Descriptor instead. func (*ListMyBindingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{287} + return file_brent_proto_rawDescGZIP(), []int{288} } func (x *ListMyBindingsResponse) GetBindings() []*Binding { @@ -22610,7 +22702,7 @@ type NotificationPreferences struct { func (x *NotificationPreferences) Reset() { *x = NotificationPreferences{} - mi := &file_brent_proto_msgTypes[288] + mi := &file_brent_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22622,7 +22714,7 @@ func (x *NotificationPreferences) String() string { func (*NotificationPreferences) ProtoMessage() {} func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[288] + mi := &file_brent_proto_msgTypes[289] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22635,7 +22727,7 @@ func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationPreferences.ProtoReflect.Descriptor instead. func (*NotificationPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{288} + return file_brent_proto_rawDescGZIP(), []int{289} } func (x *NotificationPreferences) GetPreferences() map[string]*ChannelPreferences { @@ -22654,7 +22746,7 @@ type ChannelPreferences struct { func (x *ChannelPreferences) Reset() { *x = ChannelPreferences{} - mi := &file_brent_proto_msgTypes[289] + mi := &file_brent_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22666,7 +22758,7 @@ func (x *ChannelPreferences) String() string { func (*ChannelPreferences) ProtoMessage() {} func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[289] + mi := &file_brent_proto_msgTypes[290] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22679,7 +22771,7 @@ func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use ChannelPreferences.ProtoReflect.Descriptor instead. func (*ChannelPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{289} + return file_brent_proto_rawDescGZIP(), []int{290} } func (x *ChannelPreferences) GetChannels() map[string]bool { @@ -22697,7 +22789,7 @@ type GetMyNotificationPreferencesRequest struct { func (x *GetMyNotificationPreferencesRequest) Reset() { *x = GetMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22709,7 +22801,7 @@ func (x *GetMyNotificationPreferencesRequest) String() string { func (*GetMyNotificationPreferencesRequest) ProtoMessage() {} func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[291] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22722,7 +22814,7 @@ func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. func (*GetMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{290} + return file_brent_proto_rawDescGZIP(), []int{291} } type GetMyNotificationPreferencesResponse struct { @@ -22734,7 +22826,7 @@ type GetMyNotificationPreferencesResponse struct { func (x *GetMyNotificationPreferencesResponse) Reset() { *x = GetMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22746,7 +22838,7 @@ func (x *GetMyNotificationPreferencesResponse) String() string { func (*GetMyNotificationPreferencesResponse) ProtoMessage() {} func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[292] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22759,7 +22851,7 @@ func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. func (*GetMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{291} + return file_brent_proto_rawDescGZIP(), []int{292} } func (x *GetMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { @@ -22779,7 +22871,7 @@ type UpdateMyNotificationPreferencesRequest struct { func (x *UpdateMyNotificationPreferencesRequest) Reset() { *x = UpdateMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22791,7 +22883,7 @@ func (x *UpdateMyNotificationPreferencesRequest) String() string { func (*UpdateMyNotificationPreferencesRequest) ProtoMessage() {} func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[293] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22804,7 +22896,7 @@ func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use UpdateMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. func (*UpdateMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{292} + return file_brent_proto_rawDescGZIP(), []int{293} } func (x *UpdateMyNotificationPreferencesRequest) GetPreferences() *NotificationPreferences { @@ -22824,7 +22916,7 @@ type UpdateMyNotificationPreferencesResponse struct { func (x *UpdateMyNotificationPreferencesResponse) Reset() { *x = UpdateMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22836,7 +22928,7 @@ func (x *UpdateMyNotificationPreferencesResponse) String() string { func (*UpdateMyNotificationPreferencesResponse) ProtoMessage() {} func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[294] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22849,7 +22941,7 @@ func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Me // Deprecated: Use UpdateMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. func (*UpdateMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{293} + return file_brent_proto_rawDescGZIP(), []int{294} } func (x *UpdateMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { @@ -22873,7 +22965,7 @@ type RegisterMyPushSubscriptionRequest struct { func (x *RegisterMyPushSubscriptionRequest) Reset() { *x = RegisterMyPushSubscriptionRequest{} - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22885,7 +22977,7 @@ func (x *RegisterMyPushSubscriptionRequest) String() string { func (*RegisterMyPushSubscriptionRequest) ProtoMessage() {} func (x *RegisterMyPushSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[295] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22898,7 +22990,7 @@ func (x *RegisterMyPushSubscriptionRequest) ProtoReflect() protoreflect.Message // Deprecated: Use RegisterMyPushSubscriptionRequest.ProtoReflect.Descriptor instead. func (*RegisterMyPushSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{294} + return file_brent_proto_rawDescGZIP(), []int{295} } func (x *RegisterMyPushSubscriptionRequest) GetEndpoint() string { @@ -22931,7 +23023,7 @@ type RegisterMyPushSubscriptionResponse struct { func (x *RegisterMyPushSubscriptionResponse) Reset() { *x = RegisterMyPushSubscriptionResponse{} - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22943,7 +23035,7 @@ func (x *RegisterMyPushSubscriptionResponse) String() string { func (*RegisterMyPushSubscriptionResponse) ProtoMessage() {} func (x *RegisterMyPushSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[296] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22956,7 +23048,7 @@ func (x *RegisterMyPushSubscriptionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use RegisterMyPushSubscriptionResponse.ProtoReflect.Descriptor instead. func (*RegisterMyPushSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{295} + return file_brent_proto_rawDescGZIP(), []int{296} } type GetWebPushPublicKeyRequest struct { @@ -22967,7 +23059,7 @@ type GetWebPushPublicKeyRequest struct { func (x *GetWebPushPublicKeyRequest) Reset() { *x = GetWebPushPublicKeyRequest{} - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22979,7 +23071,7 @@ func (x *GetWebPushPublicKeyRequest) String() string { func (*GetWebPushPublicKeyRequest) ProtoMessage() {} func (x *GetWebPushPublicKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[297] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22992,7 +23084,7 @@ func (x *GetWebPushPublicKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWebPushPublicKeyRequest.ProtoReflect.Descriptor instead. func (*GetWebPushPublicKeyRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{296} + return file_brent_proto_rawDescGZIP(), []int{297} } type GetWebPushPublicKeyResponse struct { @@ -23006,7 +23098,7 @@ type GetWebPushPublicKeyResponse struct { func (x *GetWebPushPublicKeyResponse) Reset() { *x = GetWebPushPublicKeyResponse{} - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23018,7 +23110,7 @@ func (x *GetWebPushPublicKeyResponse) String() string { func (*GetWebPushPublicKeyResponse) ProtoMessage() {} func (x *GetWebPushPublicKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23031,7 +23123,7 @@ func (x *GetWebPushPublicKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWebPushPublicKeyResponse.ProtoReflect.Descriptor instead. func (*GetWebPushPublicKeyResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{297} + return file_brent_proto_rawDescGZIP(), []int{298} } func (x *GetWebPushPublicKeyResponse) GetPublicKey() string { @@ -23058,7 +23150,7 @@ type Binding struct { func (x *Binding) Reset() { *x = Binding{} - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23070,7 +23162,7 @@ func (x *Binding) String() string { func (*Binding) ProtoMessage() {} func (x *Binding) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23083,7 +23175,7 @@ func (x *Binding) ProtoReflect() protoreflect.Message { // Deprecated: Use Binding.ProtoReflect.Descriptor instead. func (*Binding) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{298} + return file_brent_proto_rawDescGZIP(), []int{299} } func (x *Binding) GetExternalId() string { @@ -23144,7 +23236,7 @@ type RedFindingKindsPatch struct { func (x *RedFindingKindsPatch) Reset() { *x = RedFindingKindsPatch{} - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23156,7 +23248,7 @@ func (x *RedFindingKindsPatch) String() string { func (*RedFindingKindsPatch) ProtoMessage() {} func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[300] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23169,7 +23261,7 @@ func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { // Deprecated: Use RedFindingKindsPatch.ProtoReflect.Descriptor instead. func (*RedFindingKindsPatch) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{299} + return file_brent_proto_rawDescGZIP(), []int{300} } func (x *RedFindingKindsPatch) GetKinds() []string { @@ -23188,7 +23280,7 @@ type GetBrentSettingsRequest struct { func (x *GetBrentSettingsRequest) Reset() { *x = GetBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23200,7 +23292,7 @@ func (x *GetBrentSettingsRequest) String() string { func (*GetBrentSettingsRequest) ProtoMessage() {} func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23213,7 +23305,7 @@ func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*GetBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{300} + return file_brent_proto_rawDescGZIP(), []int{301} } func (x *GetBrentSettingsRequest) GetAccountName() string { @@ -23234,7 +23326,7 @@ type GetBrentSettingsResponse struct { func (x *GetBrentSettingsResponse) Reset() { *x = GetBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23246,7 +23338,7 @@ func (x *GetBrentSettingsResponse) String() string { func (*GetBrentSettingsResponse) ProtoMessage() {} func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23259,7 +23351,7 @@ func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*GetBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{301} + return file_brent_proto_rawDescGZIP(), []int{302} } func (x *GetBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23293,7 +23385,7 @@ type UpdateBrentSettingsRequest struct { func (x *UpdateBrentSettingsRequest) Reset() { *x = UpdateBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23305,7 +23397,7 @@ func (x *UpdateBrentSettingsRequest) String() string { func (*UpdateBrentSettingsRequest) ProtoMessage() {} func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23318,7 +23410,7 @@ func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{302} + return file_brent_proto_rawDescGZIP(), []int{303} } func (x *UpdateBrentSettingsRequest) GetAccountName() string { @@ -23346,7 +23438,7 @@ type UpdateBrentSettingsResponse struct { func (x *UpdateBrentSettingsResponse) Reset() { *x = UpdateBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23358,7 +23450,7 @@ func (x *UpdateBrentSettingsResponse) String() string { func (*UpdateBrentSettingsResponse) ProtoMessage() {} func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23371,7 +23463,7 @@ func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{303} + return file_brent_proto_rawDescGZIP(), []int{304} } func (x *UpdateBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23407,7 +23499,7 @@ type AdminGetAccountBrentSettingsRequest struct { func (x *AdminGetAccountBrentSettingsRequest) Reset() { *x = AdminGetAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23419,7 +23511,7 @@ func (x *AdminGetAccountBrentSettingsRequest) String() string { func (*AdminGetAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23432,7 +23524,7 @@ func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AdminGetAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{304} + return file_brent_proto_rawDescGZIP(), []int{305} } func (x *AdminGetAccountBrentSettingsRequest) GetAccountName() string { @@ -23455,7 +23547,7 @@ type AdminUpdateAccountBrentSettingsRequest struct { func (x *AdminUpdateAccountBrentSettingsRequest) Reset() { *x = AdminUpdateAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23467,7 +23559,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) String() string { func (*AdminUpdateAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23480,7 +23572,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AdminUpdateAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminUpdateAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{305} + return file_brent_proto_rawDescGZIP(), []int{306} } func (x *AdminUpdateAccountBrentSettingsRequest) GetAccountName() string { @@ -23512,7 +23604,7 @@ type AdminGetAccountLLMCredentialStatusRequest struct { func (x *AdminGetAccountLLMCredentialStatusRequest) Reset() { *x = AdminGetAccountLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23524,7 +23616,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) String() string { func (*AdminGetAccountLLMCredentialStatusRequest) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23537,7 +23629,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect. // Deprecated: Use AdminGetAccountLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{306} + return file_brent_proto_rawDescGZIP(), []int{307} } func (x *AdminGetAccountLLMCredentialStatusRequest) GetAccountName() string { @@ -23569,7 +23661,7 @@ type AdminGetAccountLLMCredentialStatusResponse struct { func (x *AdminGetAccountLLMCredentialStatusResponse) Reset() { *x = AdminGetAccountLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[307] + mi := &file_brent_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23581,7 +23673,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) String() string { func (*AdminGetAccountLLMCredentialStatusResponse) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[307] + mi := &file_brent_proto_msgTypes[308] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23594,7 +23686,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect // Deprecated: Use AdminGetAccountLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{307} + return file_brent_proto_rawDescGZIP(), []int{308} } func (x *AdminGetAccountLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -23622,7 +23714,7 @@ type AdminListAccountIntegrationsRequest struct { func (x *AdminListAccountIntegrationsRequest) Reset() { *x = AdminListAccountIntegrationsRequest{} - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23634,7 +23726,7 @@ func (x *AdminListAccountIntegrationsRequest) String() string { func (*AdminListAccountIntegrationsRequest) ProtoMessage() {} func (x *AdminListAccountIntegrationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[309] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23647,7 +23739,7 @@ func (x *AdminListAccountIntegrationsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AdminListAccountIntegrationsRequest.ProtoReflect.Descriptor instead. func (*AdminListAccountIntegrationsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{308} + return file_brent_proto_rawDescGZIP(), []int{309} } func (x *AdminListAccountIntegrationsRequest) GetAccountName() string { @@ -23682,7 +23774,7 @@ type AdminAccountIntegrationInstall struct { func (x *AdminAccountIntegrationInstall) Reset() { *x = AdminAccountIntegrationInstall{} - mi := &file_brent_proto_msgTypes[309] + mi := &file_brent_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23694,7 +23786,7 @@ func (x *AdminAccountIntegrationInstall) String() string { func (*AdminAccountIntegrationInstall) ProtoMessage() {} func (x *AdminAccountIntegrationInstall) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[309] + mi := &file_brent_proto_msgTypes[310] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23707,7 +23799,7 @@ func (x *AdminAccountIntegrationInstall) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminAccountIntegrationInstall.ProtoReflect.Descriptor instead. func (*AdminAccountIntegrationInstall) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{309} + return file_brent_proto_rawDescGZIP(), []int{310} } func (x *AdminAccountIntegrationInstall) GetInstallId() int64 { @@ -23808,7 +23900,7 @@ type AdminListAccountIntegrationsResponse struct { func (x *AdminListAccountIntegrationsResponse) Reset() { *x = AdminListAccountIntegrationsResponse{} - mi := &file_brent_proto_msgTypes[310] + mi := &file_brent_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23820,7 +23912,7 @@ func (x *AdminListAccountIntegrationsResponse) String() string { func (*AdminListAccountIntegrationsResponse) ProtoMessage() {} func (x *AdminListAccountIntegrationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[310] + mi := &file_brent_proto_msgTypes[311] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23833,7 +23925,7 @@ func (x *AdminListAccountIntegrationsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use AdminListAccountIntegrationsResponse.ProtoReflect.Descriptor instead. func (*AdminListAccountIntegrationsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{310} + return file_brent_proto_rawDescGZIP(), []int{311} } func (x *AdminListAccountIntegrationsResponse) GetInstalls() []*AdminAccountIntegrationInstall { @@ -23872,7 +23964,7 @@ type ListIntegrationCatalogueRequest struct { func (x *ListIntegrationCatalogueRequest) Reset() { *x = ListIntegrationCatalogueRequest{} - mi := &file_brent_proto_msgTypes[311] + mi := &file_brent_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23884,7 +23976,7 @@ func (x *ListIntegrationCatalogueRequest) String() string { func (*ListIntegrationCatalogueRequest) ProtoMessage() {} func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[311] + mi := &file_brent_proto_msgTypes[312] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23897,7 +23989,7 @@ func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{311} + return file_brent_proto_rawDescGZIP(), []int{312} } type ListIntegrationCatalogueResponse struct { @@ -23909,7 +24001,7 @@ type ListIntegrationCatalogueResponse struct { func (x *ListIntegrationCatalogueResponse) Reset() { *x = ListIntegrationCatalogueResponse{} - mi := &file_brent_proto_msgTypes[312] + mi := &file_brent_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23921,7 +24013,7 @@ func (x *ListIntegrationCatalogueResponse) String() string { func (*ListIntegrationCatalogueResponse) ProtoMessage() {} func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[312] + mi := &file_brent_proto_msgTypes[313] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23934,7 +24026,7 @@ func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{312} + return file_brent_proto_rawDescGZIP(), []int{313} } func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { @@ -23978,7 +24070,7 @@ type IntegrationCatalogueEntry struct { func (x *IntegrationCatalogueEntry) Reset() { *x = IntegrationCatalogueEntry{} - mi := &file_brent_proto_msgTypes[313] + mi := &file_brent_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23990,7 +24082,7 @@ func (x *IntegrationCatalogueEntry) String() string { func (*IntegrationCatalogueEntry) ProtoMessage() {} func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[313] + mi := &file_brent_proto_msgTypes[314] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24003,7 +24095,7 @@ func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{313} + return file_brent_proto_rawDescGZIP(), []int{314} } func (x *IntegrationCatalogueEntry) GetStableId() string { @@ -24107,7 +24199,7 @@ type GetPlanPromptRequest struct { func (x *GetPlanPromptRequest) Reset() { *x = GetPlanPromptRequest{} - mi := &file_brent_proto_msgTypes[314] + mi := &file_brent_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24119,7 +24211,7 @@ func (x *GetPlanPromptRequest) String() string { func (*GetPlanPromptRequest) ProtoMessage() {} func (x *GetPlanPromptRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[314] + mi := &file_brent_proto_msgTypes[315] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24132,7 +24224,7 @@ func (x *GetPlanPromptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPlanPromptRequest.ProtoReflect.Descriptor instead. func (*GetPlanPromptRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{314} + return file_brent_proto_rawDescGZIP(), []int{315} } func (x *GetPlanPromptRequest) GetWorkspaceId() string { @@ -24159,7 +24251,7 @@ type GetPlanPromptResponse struct { func (x *GetPlanPromptResponse) Reset() { *x = GetPlanPromptResponse{} - mi := &file_brent_proto_msgTypes[315] + mi := &file_brent_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24171,7 +24263,7 @@ func (x *GetPlanPromptResponse) String() string { func (*GetPlanPromptResponse) ProtoMessage() {} func (x *GetPlanPromptResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[315] + mi := &file_brent_proto_msgTypes[316] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24184,7 +24276,7 @@ func (x *GetPlanPromptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPlanPromptResponse.ProtoReflect.Descriptor instead. func (*GetPlanPromptResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{315} + return file_brent_proto_rawDescGZIP(), []int{316} } func (x *GetPlanPromptResponse) GetPlanFriendlyId() string { @@ -24780,7 +24872,7 @@ const file_brent_proto_rawDesc = "" + "\tartifacts\x18\x12 \x03(\v2 .brent.MetricsComparisonArtifactR\tartifacts\x12E\n" + "\x0fcomparison_mode\x18\x13 \x01(\x0e2\x1c.brent.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + "\x17planned_unplanned_start\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + - "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\xc98\n" + + "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\x8b9\n" + "\x05Event\x12\x19\n" + "\bevent_id\x18\x01 \x01(\tR\aeventId\x12;\n" + "\voccurred_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + @@ -24872,7 +24964,8 @@ const file_brent_proto_rawDesc = "" + "\x18composio_trigger_message\x18W \x01(\v2\x1d.brent.ComposioTriggerMessageH\x00R\x16composioTriggerMessage\x12k\n" + "\x1edeviation_finding_acknowledged\x18X \x01(\v2#.brent.DeviationFindingAcknowledgedH\x00R\x1cdeviationFindingAcknowledged\x12\x8a\x01\n" + ")deviation_finding_acknowledgement_cleared\x18Y \x01(\v2-.brent.DeviationFindingAcknowledgementClearedH\x00R&deviationFindingAcknowledgementCleared\x12]\n" + - "\x1aplan_review_policy_decided\x18Z \x01(\v2\x1e.brent.PlanReviewPolicyDecidedH\x00R\x17planReviewPolicyDecided\x12S\n" + + "\x1aplan_review_policy_decided\x18Z \x01(\v2\x1e.brent.PlanReviewPolicyDecidedH\x00R\x17planReviewPolicyDecided\x12@\n" + + "\x0freview_restored\x18[ \x01(\v2\x15.brent.ReviewRestoredH\x00R\x0ereviewRestored\x12S\n" + "\x16unknown_stored_payload\x18F \x01(\v2\x1b.brent.UnknownStoredPayloadH\x00R\x14unknownStoredPayloadB\t\n" + "\apayloadB\t\n" + "\a_objectB\x12\n" + @@ -24916,7 +25009,12 @@ const file_brent_proto_rawDesc = "" + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\x05 \x01(\tR\x0eplanFriendlyId\x122\n" + - "\x15reviewer_principal_id\x18\x04 \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04R\x1cactual_reviewer_principal_id\"\x85\x01\n" + + "\x15reviewer_principal_id\x18\x04 \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04R\x1cactual_reviewer_principal_id\"\xa8\x01\n" + + "\x0eReviewRestored\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + + "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x122\n" + + "\x15reviewer_principal_id\x18\x03 \x01(\tR\x13reviewerPrincipalId\x12(\n" + + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x85\x01\n" + "\fPlanRestored\x12\x1b\n" + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\x03 \x01(\tR\x0eplanFriendlyId\x12.\n" + @@ -26346,7 +26444,7 @@ func file_brent_proto_rawDescGZIP() []byte { } var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 330) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 331) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode @@ -26460,270 +26558,271 @@ var file_brent_proto_goTypes = []any{ (*PlanUpdated)(nil), // 109: brent.PlanUpdated (*PlanDeleted)(nil), // 110: brent.PlanDeleted (*ReviewDeleted)(nil), // 111: brent.ReviewDeleted - (*PlanRestored)(nil), // 112: brent.PlanRestored - (*ReviewRequested)(nil), // 113: brent.ReviewRequested - (*ReviewSubmitted)(nil), // 114: brent.ReviewSubmitted - (*ReviewNoEligibleReviewer)(nil), // 115: brent.ReviewNoEligibleReviewer - (*PlanReviewPolicyDecided)(nil), // 116: brent.PlanReviewPolicyDecided - (*PrincipalCreated)(nil), // 117: brent.PrincipalCreated - (*PrincipalUpdated)(nil), // 118: brent.PrincipalUpdated - (*PrincipalTombstoned)(nil), // 119: brent.PrincipalTombstoned - (*WorkspaceCreated)(nil), // 120: brent.WorkspaceCreated - (*WorkspaceOnboardingCompleted)(nil), // 121: brent.WorkspaceOnboardingCompleted - (*WorkspaceRenamed)(nil), // 122: brent.WorkspaceRenamed - (*WorkspaceDeleted)(nil), // 123: brent.WorkspaceDeleted - (*WorkspaceMemberJoined)(nil), // 124: brent.WorkspaceMemberJoined - (*WorkspaceMemberLeft)(nil), // 125: brent.WorkspaceMemberLeft - (*ApprovedEmailDomainAdded)(nil), // 126: brent.ApprovedEmailDomainAdded - (*ApprovedEmailDomainVerified)(nil), // 127: brent.ApprovedEmailDomainVerified - (*ApprovedEmailDomainDeleted)(nil), // 128: brent.ApprovedEmailDomainDeleted - (*MCPGrantWorkspaceBindingChanged)(nil), // 129: brent.MCPGrantWorkspaceBindingChanged - (*IdentityCreated)(nil), // 130: brent.IdentityCreated - (*IdentityDeleted)(nil), // 131: brent.IdentityDeleted - (*BindingCreated)(nil), // 132: brent.BindingCreated - (*BindingUpdated)(nil), // 133: brent.BindingUpdated - (*BindingDeleted)(nil), // 134: brent.BindingDeleted - (*CredentialConnected)(nil), // 135: brent.CredentialConnected - (*CredentialRevoked)(nil), // 136: brent.CredentialRevoked - (*WorkspaceLLMCredentialConnected)(nil), // 137: brent.WorkspaceLLMCredentialConnected - (*WorkspaceLLMCredentialRevoked)(nil), // 138: brent.WorkspaceLLMCredentialRevoked - (*ReviewDriveByStarted)(nil), // 139: brent.ReviewDriveByStarted - (*OtherEvent)(nil), // 140: brent.OtherEvent - (*UnknownStoredPayload)(nil), // 141: brent.UnknownStoredPayload - (*PullRequestOpened)(nil), // 142: brent.PullRequestOpened - (*PullRequestSynchronized)(nil), // 143: brent.PullRequestSynchronized - (*PullRequestUpdated)(nil), // 144: brent.PullRequestUpdated - (*PullRequestClosed)(nil), // 145: brent.PullRequestClosed - (*PullRequestLinkedToPlan)(nil), // 146: brent.PullRequestLinkedToPlan - (*PullRequestUnlinkedFromPlan)(nil), // 147: brent.PullRequestUnlinkedFromPlan - (*PullRequestLinkedToAgentRun)(nil), // 148: brent.PullRequestLinkedToAgentRun - (*PullRequestReviewRequested)(nil), // 149: brent.PullRequestReviewRequested - (*PullRequestApproved)(nil), // 150: brent.PullRequestApproved - (*PullRequestChangesRequested)(nil), // 151: brent.PullRequestChangesRequested - (*PullRequestReviewDismissed)(nil), // 152: brent.PullRequestReviewDismissed - (*PullRequestCommentCreated)(nil), // 153: brent.PullRequestCommentCreated - (*DeviationAnalysisStarted)(nil), // 154: brent.DeviationAnalysisStarted - (*FindingSummary)(nil), // 155: brent.FindingSummary - (*DeviationAnalysisCompleted)(nil), // 156: brent.DeviationAnalysisCompleted - (*DeviationAnalysisFailed)(nil), // 157: brent.DeviationAnalysisFailed - (*DeviationFindingRecorded)(nil), // 158: brent.DeviationFindingRecorded - (*DeviationFindingUpdated)(nil), // 159: brent.DeviationFindingUpdated - (*DeviationFindingResolved)(nil), // 160: brent.DeviationFindingResolved - (*DeviationFindingAcknowledged)(nil), // 161: brent.DeviationFindingAcknowledged - (*DeviationFindingAcknowledgementCleared)(nil), // 162: brent.DeviationFindingAcknowledgementCleared - (*AgentRunDispatched)(nil), // 163: brent.AgentRunDispatched - (*AgentRunStarted)(nil), // 164: brent.AgentRunStarted - (*AgentRunPullRequestMatched)(nil), // 165: brent.AgentRunPullRequestMatched - (*AgentRunFlaggedNeedsYou)(nil), // 166: brent.AgentRunFlaggedNeedsYou - (*AgentRunGatePassed)(nil), // 167: brent.AgentRunGatePassed - (*AgentRunMerged)(nil), // 168: brent.AgentRunMerged - (*AgentRunCancelled)(nil), // 169: brent.AgentRunCancelled - (*AgentRunDeclined)(nil), // 170: brent.AgentRunDeclined - (*AgentRunAnnotated)(nil), // 171: brent.AgentRunAnnotated - (*WorkflowIngested)(nil), // 172: brent.WorkflowIngested - (*WorkflowRunQueued)(nil), // 173: brent.WorkflowRunQueued - (*WorkflowRunStarted)(nil), // 174: brent.WorkflowRunStarted - (*WorkflowRunCompleted)(nil), // 175: brent.WorkflowRunCompleted - (*WorkflowRunFailed)(nil), // 176: brent.WorkflowRunFailed - (*WorkflowRunCancelled)(nil), // 177: brent.WorkflowRunCancelled - (*SlackWebhook)(nil), // 178: brent.SlackWebhook - (*LinearWebhook)(nil), // 179: brent.LinearWebhook - (*ComposioTriggerMessage)(nil), // 180: brent.ComposioTriggerMessage - (*GitHubWebhook)(nil), // 181: brent.GitHubWebhook - (*GitLabWebhook)(nil), // 182: brent.GitLabWebhook - (*BitbucketWebhook)(nil), // 183: brent.BitbucketWebhook - (*EmbeddedJsonCELFixture)(nil), // 184: brent.EmbeddedJsonCELFixture - (*SlackMentionReceived)(nil), // 185: brent.SlackMentionReceived - (*OrganisationAppInstallationUpserted)(nil), // 186: brent.OrganisationAppInstallationUpserted - (*OrganisationAppInstallationDeleted)(nil), // 187: brent.OrganisationAppInstallationDeleted - (*SlackReactionAdded)(nil), // 188: brent.SlackReactionAdded - (*ListWorkflowsRequest)(nil), // 189: brent.ListWorkflowsRequest - (*ListWorkflowsResponse)(nil), // 190: brent.ListWorkflowsResponse - (*WorkflowSummary)(nil), // 191: brent.WorkflowSummary - (*GetWorkflowRequest)(nil), // 192: brent.GetWorkflowRequest - (*GetWorkflowResponse)(nil), // 193: brent.GetWorkflowResponse - (*Workflow)(nil), // 194: brent.Workflow - (*ListWorkflowRunsRequest)(nil), // 195: brent.ListWorkflowRunsRequest - (*ListWorkflowRunsResponse)(nil), // 196: brent.ListWorkflowRunsResponse - (*WorkflowRunSummary)(nil), // 197: brent.WorkflowRunSummary - (*GetWorkflowRunRequest)(nil), // 198: brent.GetWorkflowRunRequest - (*GetWorkflowRunThreadHistoryRequest)(nil), // 199: brent.GetWorkflowRunThreadHistoryRequest - (*WorkflowRunThreadSegment)(nil), // 200: brent.WorkflowRunThreadSegment - (*GetWorkflowRunThreadHistoryResponse)(nil), // 201: brent.GetWorkflowRunThreadHistoryResponse - (*GetWorkflowRunResponse)(nil), // 202: brent.GetWorkflowRunResponse - (*WorkflowRun)(nil), // 203: brent.WorkflowRun - (*GetPrincipalStatusRequest)(nil), // 204: brent.GetPrincipalStatusRequest - (*GetPrincipalStatusResponse)(nil), // 205: brent.GetPrincipalStatusResponse - (*GetIntegrationConnectURLRequest)(nil), // 206: brent.GetIntegrationConnectURLRequest - (*GetIntegrationConnectURLResponse)(nil), // 207: brent.GetIntegrationConnectURLResponse - (*DisconnectIntegrationRequest)(nil), // 208: brent.DisconnectIntegrationRequest - (*DisconnectIntegrationResponse)(nil), // 209: brent.DisconnectIntegrationResponse - (*ConnectByoHttpMcpRequest)(nil), // 210: brent.ConnectByoHttpMcpRequest - (*ConnectByoHttpMcpResponse)(nil), // 211: brent.ConnectByoHttpMcpResponse - (*GetGitLabConnectionRequest)(nil), // 212: brent.GetGitLabConnectionRequest - (*GetGitLabConnectionResponse)(nil), // 213: brent.GetGitLabConnectionResponse - (*ConnectGitLabRequest)(nil), // 214: brent.ConnectGitLabRequest - (*ConnectGitLabResponse)(nil), // 215: brent.ConnectGitLabResponse - (*SaveGitLabSigningTokenRequest)(nil), // 216: brent.SaveGitLabSigningTokenRequest - (*SaveGitLabSigningTokenResponse)(nil), // 217: brent.SaveGitLabSigningTokenResponse - (*GitHubPendingInstall)(nil), // 218: brent.GitHubPendingInstall - (*IntegrationStatus)(nil), // 219: brent.IntegrationStatus - (*GetWorkspaceIntegrationRolesRequest)(nil), // 220: brent.GetWorkspaceIntegrationRolesRequest - (*GetWorkspaceIntegrationRolesResponse)(nil), // 221: brent.GetWorkspaceIntegrationRolesResponse - (*SetWorkspaceIntegrationRolesRequest)(nil), // 222: brent.SetWorkspaceIntegrationRolesRequest - (*SetWorkspaceIntegrationRolesResponse)(nil), // 223: brent.SetWorkspaceIntegrationRolesResponse - (*Principal)(nil), // 224: brent.Principal - (*Workspace)(nil), // 225: brent.Workspace - (*CreateWorkspaceRequest)(nil), // 226: brent.CreateWorkspaceRequest - (*CreateWorkspaceResponse)(nil), // 227: brent.CreateWorkspaceResponse - (*ListMyWorkspacesRequest)(nil), // 228: brent.ListMyWorkspacesRequest - (*ListMyWorkspacesResponse)(nil), // 229: brent.ListMyWorkspacesResponse - (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 230: brent.DiscoverLoginRecoveryCandidatesRequest - (*LoginRecoveryCandidate)(nil), // 231: brent.LoginRecoveryCandidate - (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 232: brent.DiscoverLoginRecoveryCandidatesResponse - (*RenameWorkspaceRequest)(nil), // 233: brent.RenameWorkspaceRequest - (*RenameWorkspaceResponse)(nil), // 234: brent.RenameWorkspaceResponse - (*DeleteWorkspaceRequest)(nil), // 235: brent.DeleteWorkspaceRequest - (*DeleteWorkspaceResponse)(nil), // 236: brent.DeleteWorkspaceResponse - (*ListJoinableWorkspacesRequest)(nil), // 237: brent.ListJoinableWorkspacesRequest - (*ListJoinableWorkspacesResponse)(nil), // 238: brent.ListJoinableWorkspacesResponse - (*JoinableWorkspace)(nil), // 239: brent.JoinableWorkspace - (*JoinableWorkspaceMember)(nil), // 240: brent.JoinableWorkspaceMember - (*JoinWorkspaceRequest)(nil), // 241: brent.JoinWorkspaceRequest - (*JoinWorkspaceResponse)(nil), // 242: brent.JoinWorkspaceResponse - (*ApprovedEmailDomain)(nil), // 243: brent.ApprovedEmailDomain - (*ListApprovedEmailDomainsRequest)(nil), // 244: brent.ListApprovedEmailDomainsRequest - (*ListApprovedEmailDomainsResponse)(nil), // 245: brent.ListApprovedEmailDomainsResponse - (*AddApprovedEmailDomainRequest)(nil), // 246: brent.AddApprovedEmailDomainRequest - (*AddApprovedEmailDomainResponse)(nil), // 247: brent.AddApprovedEmailDomainResponse - (*VerifyApprovedEmailDomainRequest)(nil), // 248: brent.VerifyApprovedEmailDomainRequest - (*VerifyApprovedEmailDomainResponse)(nil), // 249: brent.VerifyApprovedEmailDomainResponse - (*ResendApprovedEmailDomainCodeRequest)(nil), // 250: brent.ResendApprovedEmailDomainCodeRequest - (*ResendApprovedEmailDomainCodeResponse)(nil), // 251: brent.ResendApprovedEmailDomainCodeResponse - (*ResendVerificationEmailRequest)(nil), // 252: brent.ResendVerificationEmailRequest - (*ResendVerificationEmailResponse)(nil), // 253: brent.ResendVerificationEmailResponse - (*DeleteApprovedEmailDomainRequest)(nil), // 254: brent.DeleteApprovedEmailDomainRequest - (*DeleteApprovedEmailDomainResponse)(nil), // 255: brent.DeleteApprovedEmailDomainResponse - (*WorkspaceLLMCredentialStatus)(nil), // 256: brent.WorkspaceLLMCredentialStatus - (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 257: brent.GetWorkspaceLLMCredentialStatusRequest - (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 258: brent.GetWorkspaceLLMCredentialStatusResponse - (*SetWorkspaceLLMCredentialRequest)(nil), // 259: brent.SetWorkspaceLLMCredentialRequest - (*SetWorkspaceLLMCredentialResponse)(nil), // 260: brent.SetWorkspaceLLMCredentialResponse - (*DeleteWorkspaceLLMCredentialRequest)(nil), // 261: brent.DeleteWorkspaceLLMCredentialRequest - (*DeleteWorkspaceLLMCredentialResponse)(nil), // 262: brent.DeleteWorkspaceLLMCredentialResponse - (*MyCursorCredentialStatus)(nil), // 263: brent.MyCursorCredentialStatus - (*GetMyCursorCredentialStatusRequest)(nil), // 264: brent.GetMyCursorCredentialStatusRequest - (*GetMyCursorCredentialStatusResponse)(nil), // 265: brent.GetMyCursorCredentialStatusResponse - (*SetMyCursorCredentialRequest)(nil), // 266: brent.SetMyCursorCredentialRequest - (*SetMyCursorCredentialResponse)(nil), // 267: brent.SetMyCursorCredentialResponse - (*DeleteMyCursorCredentialRequest)(nil), // 268: brent.DeleteMyCursorCredentialRequest - (*DeleteMyCursorCredentialResponse)(nil), // 269: brent.DeleteMyCursorCredentialResponse - (*UpdateWorkspaceBrandingRequest)(nil), // 270: brent.UpdateWorkspaceBrandingRequest - (*UpdateWorkspaceBrandingResponse)(nil), // 271: brent.UpdateWorkspaceBrandingResponse - (*CompleteWorkspaceOnboardingRequest)(nil), // 272: brent.CompleteWorkspaceOnboardingRequest - (*CompleteWorkspaceOnboardingResponse)(nil), // 273: brent.CompleteWorkspaceOnboardingResponse - (*CreateInvitationRequest)(nil), // 274: brent.CreateInvitationRequest - (*CreateInvitationResponse)(nil), // 275: brent.CreateInvitationResponse - (*CreateInvitationsRequest)(nil), // 276: brent.CreateInvitationsRequest - (*InvitationResult)(nil), // 277: brent.InvitationResult - (*CreateInvitationsResponse)(nil), // 278: brent.CreateInvitationsResponse - (*AcceptInvitationRequest)(nil), // 279: brent.AcceptInvitationRequest - (*AcceptInvitationResponse)(nil), // 280: brent.AcceptInvitationResponse - (*ListWorkspaceMembersRequest)(nil), // 281: brent.ListWorkspaceMembersRequest - (*ListWorkspaceMembersResponse)(nil), // 282: brent.ListWorkspaceMembersResponse - (*WorkspaceMember)(nil), // 283: brent.WorkspaceMember - (*ResendInvitationRequest)(nil), // 284: brent.ResendInvitationRequest - (*ResendInvitationResponse)(nil), // 285: brent.ResendInvitationResponse - (*RevokeInvitationRequest)(nil), // 286: brent.RevokeInvitationRequest - (*RevokeInvitationResponse)(nil), // 287: brent.RevokeInvitationResponse - (*RemoveWorkspaceMemberRequest)(nil), // 288: brent.RemoveWorkspaceMemberRequest - (*RemoveWorkspaceMemberResponse)(nil), // 289: brent.RemoveWorkspaceMemberResponse - (*UpdateWorkspaceMemberRoleRequest)(nil), // 290: brent.UpdateWorkspaceMemberRoleRequest - (*UpdateWorkspaceMemberRoleResponse)(nil), // 291: brent.UpdateWorkspaceMemberRoleResponse - (*GetInvitationRequest)(nil), // 292: brent.GetInvitationRequest - (*GetInvitationResponse)(nil), // 293: brent.GetInvitationResponse - (*UpsertMyVerifiedBindingRequest)(nil), // 294: brent.UpsertMyVerifiedBindingRequest - (*UpsertMyVerifiedBindingResponse)(nil), // 295: brent.UpsertMyVerifiedBindingResponse - (*UpdateMyDisplayNameRequest)(nil), // 296: brent.UpdateMyDisplayNameRequest - (*UpdateMyDisplayNameResponse)(nil), // 297: brent.UpdateMyDisplayNameResponse - (*ListMyBindingsRequest)(nil), // 298: brent.ListMyBindingsRequest - (*ListMyBindingsResponse)(nil), // 299: brent.ListMyBindingsResponse - (*NotificationPreferences)(nil), // 300: brent.NotificationPreferences - (*ChannelPreferences)(nil), // 301: brent.ChannelPreferences - (*GetMyNotificationPreferencesRequest)(nil), // 302: brent.GetMyNotificationPreferencesRequest - (*GetMyNotificationPreferencesResponse)(nil), // 303: brent.GetMyNotificationPreferencesResponse - (*UpdateMyNotificationPreferencesRequest)(nil), // 304: brent.UpdateMyNotificationPreferencesRequest - (*UpdateMyNotificationPreferencesResponse)(nil), // 305: brent.UpdateMyNotificationPreferencesResponse - (*RegisterMyPushSubscriptionRequest)(nil), // 306: brent.RegisterMyPushSubscriptionRequest - (*RegisterMyPushSubscriptionResponse)(nil), // 307: brent.RegisterMyPushSubscriptionResponse - (*GetWebPushPublicKeyRequest)(nil), // 308: brent.GetWebPushPublicKeyRequest - (*GetWebPushPublicKeyResponse)(nil), // 309: brent.GetWebPushPublicKeyResponse - (*Binding)(nil), // 310: brent.Binding - (*RedFindingKindsPatch)(nil), // 311: brent.RedFindingKindsPatch - (*GetBrentSettingsRequest)(nil), // 312: brent.GetBrentSettingsRequest - (*GetBrentSettingsResponse)(nil), // 313: brent.GetBrentSettingsResponse - (*UpdateBrentSettingsRequest)(nil), // 314: brent.UpdateBrentSettingsRequest - (*UpdateBrentSettingsResponse)(nil), // 315: brent.UpdateBrentSettingsResponse - (*AdminGetAccountBrentSettingsRequest)(nil), // 316: brent.AdminGetAccountBrentSettingsRequest - (*AdminUpdateAccountBrentSettingsRequest)(nil), // 317: brent.AdminUpdateAccountBrentSettingsRequest - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 318: brent.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 319: brent.AdminGetAccountLLMCredentialStatusResponse - (*AdminListAccountIntegrationsRequest)(nil), // 320: brent.AdminListAccountIntegrationsRequest - (*AdminAccountIntegrationInstall)(nil), // 321: brent.AdminAccountIntegrationInstall - (*AdminListAccountIntegrationsResponse)(nil), // 322: brent.AdminListAccountIntegrationsResponse - (*ListIntegrationCatalogueRequest)(nil), // 323: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 324: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 325: brent.IntegrationCatalogueEntry - (*GetPlanPromptRequest)(nil), // 326: brent.GetPlanPromptRequest - (*GetPlanPromptResponse)(nil), // 327: brent.GetPlanPromptResponse - nil, // 328: brent.PlanUpdated.PreviousEntry - nil, // 329: brent.PlanUpdated.AfterEntry - nil, // 330: brent.PrincipalUpdated.PreviousEntry - nil, // 331: brent.PrincipalUpdated.AfterEntry - nil, // 332: brent.BindingUpdated.PreviousEntry - nil, // 333: brent.BindingUpdated.AfterEntry - nil, // 334: brent.OtherEvent.FieldsEntry - nil, // 335: brent.PullRequestUpdated.PreviousEntry - nil, // 336: brent.PullRequestUpdated.AfterEntry - nil, // 337: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 338: brent.DeviationFindingUpdated.PreviousEntry - nil, // 339: brent.DeviationFindingUpdated.AfterEntry - nil, // 340: brent.NotificationPreferences.PreferencesEntry - nil, // 341: brent.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 342: google.protobuf.Timestamp - (*structpb.Value)(nil), // 343: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 344: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 345: google.protobuf.Empty + (*ReviewRestored)(nil), // 112: brent.ReviewRestored + (*PlanRestored)(nil), // 113: brent.PlanRestored + (*ReviewRequested)(nil), // 114: brent.ReviewRequested + (*ReviewSubmitted)(nil), // 115: brent.ReviewSubmitted + (*ReviewNoEligibleReviewer)(nil), // 116: brent.ReviewNoEligibleReviewer + (*PlanReviewPolicyDecided)(nil), // 117: brent.PlanReviewPolicyDecided + (*PrincipalCreated)(nil), // 118: brent.PrincipalCreated + (*PrincipalUpdated)(nil), // 119: brent.PrincipalUpdated + (*PrincipalTombstoned)(nil), // 120: brent.PrincipalTombstoned + (*WorkspaceCreated)(nil), // 121: brent.WorkspaceCreated + (*WorkspaceOnboardingCompleted)(nil), // 122: brent.WorkspaceOnboardingCompleted + (*WorkspaceRenamed)(nil), // 123: brent.WorkspaceRenamed + (*WorkspaceDeleted)(nil), // 124: brent.WorkspaceDeleted + (*WorkspaceMemberJoined)(nil), // 125: brent.WorkspaceMemberJoined + (*WorkspaceMemberLeft)(nil), // 126: brent.WorkspaceMemberLeft + (*ApprovedEmailDomainAdded)(nil), // 127: brent.ApprovedEmailDomainAdded + (*ApprovedEmailDomainVerified)(nil), // 128: brent.ApprovedEmailDomainVerified + (*ApprovedEmailDomainDeleted)(nil), // 129: brent.ApprovedEmailDomainDeleted + (*MCPGrantWorkspaceBindingChanged)(nil), // 130: brent.MCPGrantWorkspaceBindingChanged + (*IdentityCreated)(nil), // 131: brent.IdentityCreated + (*IdentityDeleted)(nil), // 132: brent.IdentityDeleted + (*BindingCreated)(nil), // 133: brent.BindingCreated + (*BindingUpdated)(nil), // 134: brent.BindingUpdated + (*BindingDeleted)(nil), // 135: brent.BindingDeleted + (*CredentialConnected)(nil), // 136: brent.CredentialConnected + (*CredentialRevoked)(nil), // 137: brent.CredentialRevoked + (*WorkspaceLLMCredentialConnected)(nil), // 138: brent.WorkspaceLLMCredentialConnected + (*WorkspaceLLMCredentialRevoked)(nil), // 139: brent.WorkspaceLLMCredentialRevoked + (*ReviewDriveByStarted)(nil), // 140: brent.ReviewDriveByStarted + (*OtherEvent)(nil), // 141: brent.OtherEvent + (*UnknownStoredPayload)(nil), // 142: brent.UnknownStoredPayload + (*PullRequestOpened)(nil), // 143: brent.PullRequestOpened + (*PullRequestSynchronized)(nil), // 144: brent.PullRequestSynchronized + (*PullRequestUpdated)(nil), // 145: brent.PullRequestUpdated + (*PullRequestClosed)(nil), // 146: brent.PullRequestClosed + (*PullRequestLinkedToPlan)(nil), // 147: brent.PullRequestLinkedToPlan + (*PullRequestUnlinkedFromPlan)(nil), // 148: brent.PullRequestUnlinkedFromPlan + (*PullRequestLinkedToAgentRun)(nil), // 149: brent.PullRequestLinkedToAgentRun + (*PullRequestReviewRequested)(nil), // 150: brent.PullRequestReviewRequested + (*PullRequestApproved)(nil), // 151: brent.PullRequestApproved + (*PullRequestChangesRequested)(nil), // 152: brent.PullRequestChangesRequested + (*PullRequestReviewDismissed)(nil), // 153: brent.PullRequestReviewDismissed + (*PullRequestCommentCreated)(nil), // 154: brent.PullRequestCommentCreated + (*DeviationAnalysisStarted)(nil), // 155: brent.DeviationAnalysisStarted + (*FindingSummary)(nil), // 156: brent.FindingSummary + (*DeviationAnalysisCompleted)(nil), // 157: brent.DeviationAnalysisCompleted + (*DeviationAnalysisFailed)(nil), // 158: brent.DeviationAnalysisFailed + (*DeviationFindingRecorded)(nil), // 159: brent.DeviationFindingRecorded + (*DeviationFindingUpdated)(nil), // 160: brent.DeviationFindingUpdated + (*DeviationFindingResolved)(nil), // 161: brent.DeviationFindingResolved + (*DeviationFindingAcknowledged)(nil), // 162: brent.DeviationFindingAcknowledged + (*DeviationFindingAcknowledgementCleared)(nil), // 163: brent.DeviationFindingAcknowledgementCleared + (*AgentRunDispatched)(nil), // 164: brent.AgentRunDispatched + (*AgentRunStarted)(nil), // 165: brent.AgentRunStarted + (*AgentRunPullRequestMatched)(nil), // 166: brent.AgentRunPullRequestMatched + (*AgentRunFlaggedNeedsYou)(nil), // 167: brent.AgentRunFlaggedNeedsYou + (*AgentRunGatePassed)(nil), // 168: brent.AgentRunGatePassed + (*AgentRunMerged)(nil), // 169: brent.AgentRunMerged + (*AgentRunCancelled)(nil), // 170: brent.AgentRunCancelled + (*AgentRunDeclined)(nil), // 171: brent.AgentRunDeclined + (*AgentRunAnnotated)(nil), // 172: brent.AgentRunAnnotated + (*WorkflowIngested)(nil), // 173: brent.WorkflowIngested + (*WorkflowRunQueued)(nil), // 174: brent.WorkflowRunQueued + (*WorkflowRunStarted)(nil), // 175: brent.WorkflowRunStarted + (*WorkflowRunCompleted)(nil), // 176: brent.WorkflowRunCompleted + (*WorkflowRunFailed)(nil), // 177: brent.WorkflowRunFailed + (*WorkflowRunCancelled)(nil), // 178: brent.WorkflowRunCancelled + (*SlackWebhook)(nil), // 179: brent.SlackWebhook + (*LinearWebhook)(nil), // 180: brent.LinearWebhook + (*ComposioTriggerMessage)(nil), // 181: brent.ComposioTriggerMessage + (*GitHubWebhook)(nil), // 182: brent.GitHubWebhook + (*GitLabWebhook)(nil), // 183: brent.GitLabWebhook + (*BitbucketWebhook)(nil), // 184: brent.BitbucketWebhook + (*EmbeddedJsonCELFixture)(nil), // 185: brent.EmbeddedJsonCELFixture + (*SlackMentionReceived)(nil), // 186: brent.SlackMentionReceived + (*OrganisationAppInstallationUpserted)(nil), // 187: brent.OrganisationAppInstallationUpserted + (*OrganisationAppInstallationDeleted)(nil), // 188: brent.OrganisationAppInstallationDeleted + (*SlackReactionAdded)(nil), // 189: brent.SlackReactionAdded + (*ListWorkflowsRequest)(nil), // 190: brent.ListWorkflowsRequest + (*ListWorkflowsResponse)(nil), // 191: brent.ListWorkflowsResponse + (*WorkflowSummary)(nil), // 192: brent.WorkflowSummary + (*GetWorkflowRequest)(nil), // 193: brent.GetWorkflowRequest + (*GetWorkflowResponse)(nil), // 194: brent.GetWorkflowResponse + (*Workflow)(nil), // 195: brent.Workflow + (*ListWorkflowRunsRequest)(nil), // 196: brent.ListWorkflowRunsRequest + (*ListWorkflowRunsResponse)(nil), // 197: brent.ListWorkflowRunsResponse + (*WorkflowRunSummary)(nil), // 198: brent.WorkflowRunSummary + (*GetWorkflowRunRequest)(nil), // 199: brent.GetWorkflowRunRequest + (*GetWorkflowRunThreadHistoryRequest)(nil), // 200: brent.GetWorkflowRunThreadHistoryRequest + (*WorkflowRunThreadSegment)(nil), // 201: brent.WorkflowRunThreadSegment + (*GetWorkflowRunThreadHistoryResponse)(nil), // 202: brent.GetWorkflowRunThreadHistoryResponse + (*GetWorkflowRunResponse)(nil), // 203: brent.GetWorkflowRunResponse + (*WorkflowRun)(nil), // 204: brent.WorkflowRun + (*GetPrincipalStatusRequest)(nil), // 205: brent.GetPrincipalStatusRequest + (*GetPrincipalStatusResponse)(nil), // 206: brent.GetPrincipalStatusResponse + (*GetIntegrationConnectURLRequest)(nil), // 207: brent.GetIntegrationConnectURLRequest + (*GetIntegrationConnectURLResponse)(nil), // 208: brent.GetIntegrationConnectURLResponse + (*DisconnectIntegrationRequest)(nil), // 209: brent.DisconnectIntegrationRequest + (*DisconnectIntegrationResponse)(nil), // 210: brent.DisconnectIntegrationResponse + (*ConnectByoHttpMcpRequest)(nil), // 211: brent.ConnectByoHttpMcpRequest + (*ConnectByoHttpMcpResponse)(nil), // 212: brent.ConnectByoHttpMcpResponse + (*GetGitLabConnectionRequest)(nil), // 213: brent.GetGitLabConnectionRequest + (*GetGitLabConnectionResponse)(nil), // 214: brent.GetGitLabConnectionResponse + (*ConnectGitLabRequest)(nil), // 215: brent.ConnectGitLabRequest + (*ConnectGitLabResponse)(nil), // 216: brent.ConnectGitLabResponse + (*SaveGitLabSigningTokenRequest)(nil), // 217: brent.SaveGitLabSigningTokenRequest + (*SaveGitLabSigningTokenResponse)(nil), // 218: brent.SaveGitLabSigningTokenResponse + (*GitHubPendingInstall)(nil), // 219: brent.GitHubPendingInstall + (*IntegrationStatus)(nil), // 220: brent.IntegrationStatus + (*GetWorkspaceIntegrationRolesRequest)(nil), // 221: brent.GetWorkspaceIntegrationRolesRequest + (*GetWorkspaceIntegrationRolesResponse)(nil), // 222: brent.GetWorkspaceIntegrationRolesResponse + (*SetWorkspaceIntegrationRolesRequest)(nil), // 223: brent.SetWorkspaceIntegrationRolesRequest + (*SetWorkspaceIntegrationRolesResponse)(nil), // 224: brent.SetWorkspaceIntegrationRolesResponse + (*Principal)(nil), // 225: brent.Principal + (*Workspace)(nil), // 226: brent.Workspace + (*CreateWorkspaceRequest)(nil), // 227: brent.CreateWorkspaceRequest + (*CreateWorkspaceResponse)(nil), // 228: brent.CreateWorkspaceResponse + (*ListMyWorkspacesRequest)(nil), // 229: brent.ListMyWorkspacesRequest + (*ListMyWorkspacesResponse)(nil), // 230: brent.ListMyWorkspacesResponse + (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 231: brent.DiscoverLoginRecoveryCandidatesRequest + (*LoginRecoveryCandidate)(nil), // 232: brent.LoginRecoveryCandidate + (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 233: brent.DiscoverLoginRecoveryCandidatesResponse + (*RenameWorkspaceRequest)(nil), // 234: brent.RenameWorkspaceRequest + (*RenameWorkspaceResponse)(nil), // 235: brent.RenameWorkspaceResponse + (*DeleteWorkspaceRequest)(nil), // 236: brent.DeleteWorkspaceRequest + (*DeleteWorkspaceResponse)(nil), // 237: brent.DeleteWorkspaceResponse + (*ListJoinableWorkspacesRequest)(nil), // 238: brent.ListJoinableWorkspacesRequest + (*ListJoinableWorkspacesResponse)(nil), // 239: brent.ListJoinableWorkspacesResponse + (*JoinableWorkspace)(nil), // 240: brent.JoinableWorkspace + (*JoinableWorkspaceMember)(nil), // 241: brent.JoinableWorkspaceMember + (*JoinWorkspaceRequest)(nil), // 242: brent.JoinWorkspaceRequest + (*JoinWorkspaceResponse)(nil), // 243: brent.JoinWorkspaceResponse + (*ApprovedEmailDomain)(nil), // 244: brent.ApprovedEmailDomain + (*ListApprovedEmailDomainsRequest)(nil), // 245: brent.ListApprovedEmailDomainsRequest + (*ListApprovedEmailDomainsResponse)(nil), // 246: brent.ListApprovedEmailDomainsResponse + (*AddApprovedEmailDomainRequest)(nil), // 247: brent.AddApprovedEmailDomainRequest + (*AddApprovedEmailDomainResponse)(nil), // 248: brent.AddApprovedEmailDomainResponse + (*VerifyApprovedEmailDomainRequest)(nil), // 249: brent.VerifyApprovedEmailDomainRequest + (*VerifyApprovedEmailDomainResponse)(nil), // 250: brent.VerifyApprovedEmailDomainResponse + (*ResendApprovedEmailDomainCodeRequest)(nil), // 251: brent.ResendApprovedEmailDomainCodeRequest + (*ResendApprovedEmailDomainCodeResponse)(nil), // 252: brent.ResendApprovedEmailDomainCodeResponse + (*ResendVerificationEmailRequest)(nil), // 253: brent.ResendVerificationEmailRequest + (*ResendVerificationEmailResponse)(nil), // 254: brent.ResendVerificationEmailResponse + (*DeleteApprovedEmailDomainRequest)(nil), // 255: brent.DeleteApprovedEmailDomainRequest + (*DeleteApprovedEmailDomainResponse)(nil), // 256: brent.DeleteApprovedEmailDomainResponse + (*WorkspaceLLMCredentialStatus)(nil), // 257: brent.WorkspaceLLMCredentialStatus + (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 258: brent.GetWorkspaceLLMCredentialStatusRequest + (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 259: brent.GetWorkspaceLLMCredentialStatusResponse + (*SetWorkspaceLLMCredentialRequest)(nil), // 260: brent.SetWorkspaceLLMCredentialRequest + (*SetWorkspaceLLMCredentialResponse)(nil), // 261: brent.SetWorkspaceLLMCredentialResponse + (*DeleteWorkspaceLLMCredentialRequest)(nil), // 262: brent.DeleteWorkspaceLLMCredentialRequest + (*DeleteWorkspaceLLMCredentialResponse)(nil), // 263: brent.DeleteWorkspaceLLMCredentialResponse + (*MyCursorCredentialStatus)(nil), // 264: brent.MyCursorCredentialStatus + (*GetMyCursorCredentialStatusRequest)(nil), // 265: brent.GetMyCursorCredentialStatusRequest + (*GetMyCursorCredentialStatusResponse)(nil), // 266: brent.GetMyCursorCredentialStatusResponse + (*SetMyCursorCredentialRequest)(nil), // 267: brent.SetMyCursorCredentialRequest + (*SetMyCursorCredentialResponse)(nil), // 268: brent.SetMyCursorCredentialResponse + (*DeleteMyCursorCredentialRequest)(nil), // 269: brent.DeleteMyCursorCredentialRequest + (*DeleteMyCursorCredentialResponse)(nil), // 270: brent.DeleteMyCursorCredentialResponse + (*UpdateWorkspaceBrandingRequest)(nil), // 271: brent.UpdateWorkspaceBrandingRequest + (*UpdateWorkspaceBrandingResponse)(nil), // 272: brent.UpdateWorkspaceBrandingResponse + (*CompleteWorkspaceOnboardingRequest)(nil), // 273: brent.CompleteWorkspaceOnboardingRequest + (*CompleteWorkspaceOnboardingResponse)(nil), // 274: brent.CompleteWorkspaceOnboardingResponse + (*CreateInvitationRequest)(nil), // 275: brent.CreateInvitationRequest + (*CreateInvitationResponse)(nil), // 276: brent.CreateInvitationResponse + (*CreateInvitationsRequest)(nil), // 277: brent.CreateInvitationsRequest + (*InvitationResult)(nil), // 278: brent.InvitationResult + (*CreateInvitationsResponse)(nil), // 279: brent.CreateInvitationsResponse + (*AcceptInvitationRequest)(nil), // 280: brent.AcceptInvitationRequest + (*AcceptInvitationResponse)(nil), // 281: brent.AcceptInvitationResponse + (*ListWorkspaceMembersRequest)(nil), // 282: brent.ListWorkspaceMembersRequest + (*ListWorkspaceMembersResponse)(nil), // 283: brent.ListWorkspaceMembersResponse + (*WorkspaceMember)(nil), // 284: brent.WorkspaceMember + (*ResendInvitationRequest)(nil), // 285: brent.ResendInvitationRequest + (*ResendInvitationResponse)(nil), // 286: brent.ResendInvitationResponse + (*RevokeInvitationRequest)(nil), // 287: brent.RevokeInvitationRequest + (*RevokeInvitationResponse)(nil), // 288: brent.RevokeInvitationResponse + (*RemoveWorkspaceMemberRequest)(nil), // 289: brent.RemoveWorkspaceMemberRequest + (*RemoveWorkspaceMemberResponse)(nil), // 290: brent.RemoveWorkspaceMemberResponse + (*UpdateWorkspaceMemberRoleRequest)(nil), // 291: brent.UpdateWorkspaceMemberRoleRequest + (*UpdateWorkspaceMemberRoleResponse)(nil), // 292: brent.UpdateWorkspaceMemberRoleResponse + (*GetInvitationRequest)(nil), // 293: brent.GetInvitationRequest + (*GetInvitationResponse)(nil), // 294: brent.GetInvitationResponse + (*UpsertMyVerifiedBindingRequest)(nil), // 295: brent.UpsertMyVerifiedBindingRequest + (*UpsertMyVerifiedBindingResponse)(nil), // 296: brent.UpsertMyVerifiedBindingResponse + (*UpdateMyDisplayNameRequest)(nil), // 297: brent.UpdateMyDisplayNameRequest + (*UpdateMyDisplayNameResponse)(nil), // 298: brent.UpdateMyDisplayNameResponse + (*ListMyBindingsRequest)(nil), // 299: brent.ListMyBindingsRequest + (*ListMyBindingsResponse)(nil), // 300: brent.ListMyBindingsResponse + (*NotificationPreferences)(nil), // 301: brent.NotificationPreferences + (*ChannelPreferences)(nil), // 302: brent.ChannelPreferences + (*GetMyNotificationPreferencesRequest)(nil), // 303: brent.GetMyNotificationPreferencesRequest + (*GetMyNotificationPreferencesResponse)(nil), // 304: brent.GetMyNotificationPreferencesResponse + (*UpdateMyNotificationPreferencesRequest)(nil), // 305: brent.UpdateMyNotificationPreferencesRequest + (*UpdateMyNotificationPreferencesResponse)(nil), // 306: brent.UpdateMyNotificationPreferencesResponse + (*RegisterMyPushSubscriptionRequest)(nil), // 307: brent.RegisterMyPushSubscriptionRequest + (*RegisterMyPushSubscriptionResponse)(nil), // 308: brent.RegisterMyPushSubscriptionResponse + (*GetWebPushPublicKeyRequest)(nil), // 309: brent.GetWebPushPublicKeyRequest + (*GetWebPushPublicKeyResponse)(nil), // 310: brent.GetWebPushPublicKeyResponse + (*Binding)(nil), // 311: brent.Binding + (*RedFindingKindsPatch)(nil), // 312: brent.RedFindingKindsPatch + (*GetBrentSettingsRequest)(nil), // 313: brent.GetBrentSettingsRequest + (*GetBrentSettingsResponse)(nil), // 314: brent.GetBrentSettingsResponse + (*UpdateBrentSettingsRequest)(nil), // 315: brent.UpdateBrentSettingsRequest + (*UpdateBrentSettingsResponse)(nil), // 316: brent.UpdateBrentSettingsResponse + (*AdminGetAccountBrentSettingsRequest)(nil), // 317: brent.AdminGetAccountBrentSettingsRequest + (*AdminUpdateAccountBrentSettingsRequest)(nil), // 318: brent.AdminUpdateAccountBrentSettingsRequest + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 319: brent.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 320: brent.AdminGetAccountLLMCredentialStatusResponse + (*AdminListAccountIntegrationsRequest)(nil), // 321: brent.AdminListAccountIntegrationsRequest + (*AdminAccountIntegrationInstall)(nil), // 322: brent.AdminAccountIntegrationInstall + (*AdminListAccountIntegrationsResponse)(nil), // 323: brent.AdminListAccountIntegrationsResponse + (*ListIntegrationCatalogueRequest)(nil), // 324: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 325: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 326: brent.IntegrationCatalogueEntry + (*GetPlanPromptRequest)(nil), // 327: brent.GetPlanPromptRequest + (*GetPlanPromptResponse)(nil), // 328: brent.GetPlanPromptResponse + nil, // 329: brent.PlanUpdated.PreviousEntry + nil, // 330: brent.PlanUpdated.AfterEntry + nil, // 331: brent.PrincipalUpdated.PreviousEntry + nil, // 332: brent.PrincipalUpdated.AfterEntry + nil, // 333: brent.BindingUpdated.PreviousEntry + nil, // 334: brent.BindingUpdated.AfterEntry + nil, // 335: brent.OtherEvent.FieldsEntry + nil, // 336: brent.PullRequestUpdated.PreviousEntry + nil, // 337: brent.PullRequestUpdated.AfterEntry + nil, // 338: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 339: brent.DeviationFindingUpdated.PreviousEntry + nil, // 340: brent.DeviationFindingUpdated.AfterEntry + nil, // 341: brent.NotificationPreferences.PreferencesEntry + nil, // 342: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 343: google.protobuf.Timestamp + (*structpb.Value)(nil), // 344: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 345: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 346: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ 22, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary 23, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest 24, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 342, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 343, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp 23, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest 19, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow 20, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 342, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 342, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 342, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 342, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 342, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 342, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 342, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 343, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 343, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 343, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 343, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 343, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 343, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 343, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp 25, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 342, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 343, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp 29, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 342, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 342, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 343, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 343, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp 105, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 342, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 342, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 343, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 343, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp 105, // 23: brent.ListEventsResponse.events:type_name -> brent.Event 41, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest 41, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 342, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 342, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 343, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 343, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp 43, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep 44, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep 45, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep @@ -26735,467 +26834,468 @@ var file_brent_proto_depIdxs = []int32{ 51, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep 52, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep 56, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 342, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 342, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 342, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 342, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 343, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 343, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 343, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 343, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp 59, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan 84, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary 22, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 342, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 342, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 342, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 224, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal - 224, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal + 343, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 343, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 343, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 225, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal + 225, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal 64, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity - 310, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 342, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 342, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 310, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding - 224, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal + 311, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding + 343, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 343, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 311, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding + 225, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal 64, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity 79, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 342, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 343, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp 84, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 342, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 342, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 343, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 343, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp 87, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review 56, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 342, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 342, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 342, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 342, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 343, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 343, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 343, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 343, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp 88, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 342, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 342, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 343, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 343, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp 91, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary 94, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 342, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 343, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp 97, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 342, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 342, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 342, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 342, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 343, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 343, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 343, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 343, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 342, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 342, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 342, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 342, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 343, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 343, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 343, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 343, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp 102, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 342, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 342, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 342, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 342, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 343, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 343, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 343, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 343, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp 103, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 342, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 342, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 342, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 343, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 343, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 343, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp 106, // 95: brent.Event.actor:type_name -> brent.Actor 107, // 96: brent.Event.object:type_name -> brent.ObjectReference - 342, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 343, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp 108, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated 109, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated 110, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted - 113, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested - 114, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted - 140, // 103: brent.Event.other:type_name -> brent.OtherEvent - 181, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook - 185, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived - 188, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded - 142, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened - 143, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized - 144, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated - 145, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed - 146, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan - 147, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan - 186, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted - 187, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted - 154, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted - 156, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted - 157, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed - 173, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued - 174, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted - 175, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted - 176, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed - 177, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled - 115, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer - 117, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated - 118, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated - 119, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned - 130, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated - 131, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted - 132, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated - 133, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated - 134, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted - 139, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted - 178, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook + 114, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested + 115, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted + 141, // 103: brent.Event.other:type_name -> brent.OtherEvent + 182, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook + 186, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived + 189, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded + 143, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened + 144, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized + 145, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated + 146, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed + 147, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan + 148, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan + 187, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted + 188, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted + 155, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted + 157, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted + 158, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed + 174, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued + 175, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted + 176, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted + 177, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed + 178, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled + 116, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer + 118, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated + 119, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated + 120, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned + 131, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated + 132, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted + 133, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated + 134, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated + 135, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted + 140, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted + 179, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook 111, // 134: brent.Event.review_deleted:type_name -> brent.ReviewDeleted - 112, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored - 179, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook - 153, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated - 158, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded - 159, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated - 160, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved - 163, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched - 164, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted - 165, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched - 166, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou - 168, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged - 170, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined - 169, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled - 167, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed - 148, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun - 172, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested - 149, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested - 150, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved - 151, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested - 152, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed - 135, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected - 136, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked - 171, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated - 120, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated - 129, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged - 121, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted - 122, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed - 123, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted - 126, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded - 127, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified - 128, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted - 182, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook - 137, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected - 138, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked - 183, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook - 124, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined - 125, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft - 180, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage - 161, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged - 162, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared - 116, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided - 141, // 176: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 328, // 177: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 329, // 178: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 342, // 179: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 330, // 180: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 331, // 181: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry - 7, // 182: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 332, // 183: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 333, // 184: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 334, // 185: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 335, // 186: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 336, // 187: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 342, // 188: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 337, // 189: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 342, // 190: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp - 155, // 191: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 342, // 192: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 342, // 193: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 338, // 194: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 339, // 195: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 342, // 196: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 342, // 197: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 342, // 198: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 342, // 199: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 342, // 200: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 342, // 201: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 342, // 202: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 342, // 203: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp - 191, // 204: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 342, // 205: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 342, // 206: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp - 194, // 207: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 342, // 208: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 342, // 209: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp - 197, // 210: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 342, // 211: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 342, // 212: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 342, // 213: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 342, // 214: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp - 197, // 215: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary - 42, // 216: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse - 200, // 217: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment - 203, // 218: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun - 191, // 219: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 342, // 220: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 342, // 221: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 342, // 222: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 342, // 223: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp - 105, // 224: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event - 2, // 225: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState - 224, // 226: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal - 219, // 227: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus - 3, // 228: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider - 4, // 229: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent - 3, // 230: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 342, // 231: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 342, // 232: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp - 3, // 233: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider - 218, // 234: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 342, // 235: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp - 5, // 236: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus - 3, // 237: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 238: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider - 3, // 239: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 342, // 240: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 342, // 241: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp - 225, // 242: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace - 225, // 243: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace - 6, // 244: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider - 6, // 245: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider - 231, // 246: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate - 225, // 247: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace - 239, // 248: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 342, // 249: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp - 240, // 250: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember - 7, // 251: brent.JoinableWorkspace.source:type_name -> brent.JoinSource - 225, // 252: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 342, // 253: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp - 243, // 254: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain - 243, // 255: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 243, // 256: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 342, // 257: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 342, // 258: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp - 256, // 259: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 256, // 260: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 342, // 261: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 263, // 262: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus - 263, // 263: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus - 225, // 264: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace - 225, // 265: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 342, // 266: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 9, // 267: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus - 277, // 268: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult - 225, // 269: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace - 283, // 270: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember - 10, // 271: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 342, // 272: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 8, // 273: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 310, // 274: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding - 224, // 275: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 310, // 276: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 340, // 277: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 341, // 278: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry - 300, // 279: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 300, // 280: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences - 300, // 281: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 342, // 282: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 342, // 283: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 342, // 284: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 311, // 285: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 342, // 286: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 311, // 287: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 256, // 288: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 342, // 289: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp - 5, // 290: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus - 321, // 291: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall - 3, // 292: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 293: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 294: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider - 325, // 295: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry - 11, // 296: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource - 3, // 297: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 342, // 298: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 343, // 299: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 300: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 301: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 302: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 303: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 304: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 305: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 306: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 343, // 307: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 343, // 308: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 301, // 309: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 344, // 310: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 37, // 311: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 39, // 312: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 204, // 313: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 326, // 314: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest - 206, // 315: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 208, // 316: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 210, // 317: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 212, // 318: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 214, // 319: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 216, // 320: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 294, // 321: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 298, // 322: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 302, // 323: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 304, // 324: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 306, // 325: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest - 308, // 326: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest - 296, // 327: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 312, // 328: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 314, // 329: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 323, // 330: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 226, // 331: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 228, // 332: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 230, // 333: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 233, // 334: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 270, // 335: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 272, // 336: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 235, // 337: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 237, // 338: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 241, // 339: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 274, // 340: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 276, // 341: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 279, // 342: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 281, // 343: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 284, // 344: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 286, // 345: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 288, // 346: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 290, // 347: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 244, // 348: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 246, // 349: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 248, // 350: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 250, // 351: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 254, // 352: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 257, // 353: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 259, // 354: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 261, // 355: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 264, // 356: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 266, // 357: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 268, // 358: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 220, // 359: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 222, // 360: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 252, // 361: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 292, // 362: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 26, // 363: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 27, // 364: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 30, // 365: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 31, // 366: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 33, // 367: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 35, // 368: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 53, // 369: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 54, // 370: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 57, // 371: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 82, // 372: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 85, // 373: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 345, // 374: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 90, // 375: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 93, // 376: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 96, // 377: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 99, // 378: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 101, // 379: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 316, // 380: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 317, // 381: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 318, // 382: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 320, // 383: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest - 189, // 384: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 192, // 385: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 195, // 386: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 198, // 387: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 199, // 388: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 12, // 389: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 14, // 390: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 16, // 391: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 60, // 392: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 62, // 393: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 65, // 394: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 67, // 395: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 69, // 396: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 71, // 397: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 73, // 398: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 75, // 399: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 77, // 400: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 80, // 401: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 18, // 402: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 38, // 403: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 40, // 404: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 205, // 405: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 327, // 406: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse - 207, // 407: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 209, // 408: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 211, // 409: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 213, // 410: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 215, // 411: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 217, // 412: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 295, // 413: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 299, // 414: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 303, // 415: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 305, // 416: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 307, // 417: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse - 309, // 418: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse - 297, // 419: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 313, // 420: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 421: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 324, // 422: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 227, // 423: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 229, // 424: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 232, // 425: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 234, // 426: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 271, // 427: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 273, // 428: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 236, // 429: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 238, // 430: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 242, // 431: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 275, // 432: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 278, // 433: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 280, // 434: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 282, // 435: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 285, // 436: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 287, // 437: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 289, // 438: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 291, // 439: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 245, // 440: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 247, // 441: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 249, // 442: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 251, // 443: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 255, // 444: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 258, // 445: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 260, // 446: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 262, // 447: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 265, // 448: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 267, // 449: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 269, // 450: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 221, // 451: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 223, // 452: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 253, // 453: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 293, // 454: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 42, // 455: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 28, // 456: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 42, // 457: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 32, // 458: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 34, // 459: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 36, // 460: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 42, // 461: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 55, // 462: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 58, // 463: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 83, // 464: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 86, // 465: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 89, // 466: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 92, // 467: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 95, // 468: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 98, // 469: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 100, // 470: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 104, // 471: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 313, // 472: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 315, // 473: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 319, // 474: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 322, // 475: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse - 190, // 476: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 193, // 477: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 196, // 478: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 202, // 479: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 201, // 480: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 13, // 481: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 15, // 482: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 17, // 483: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 61, // 484: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 63, // 485: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 66, // 486: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 68, // 487: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 70, // 488: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 72, // 489: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 74, // 490: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 76, // 491: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 78, // 492: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 81, // 493: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 21, // 494: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 403, // [403:495] is the sub-list for method output_type - 311, // [311:403] is the sub-list for method input_type - 311, // [311:311] is the sub-list for extension type_name - 310, // [310:311] is the sub-list for extension extendee - 0, // [0:310] is the sub-list for field type_name + 113, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored + 180, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook + 154, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated + 159, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded + 160, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated + 161, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved + 164, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched + 165, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted + 166, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched + 167, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou + 169, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged + 171, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined + 170, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled + 168, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed + 149, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun + 173, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested + 150, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested + 151, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved + 152, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested + 153, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed + 136, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected + 137, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked + 172, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated + 121, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated + 130, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged + 122, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted + 123, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed + 124, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted + 127, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded + 128, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified + 129, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted + 183, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook + 138, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected + 139, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked + 184, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook + 125, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined + 126, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft + 181, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage + 162, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged + 163, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared + 117, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided + 112, // 176: brent.Event.review_restored:type_name -> brent.ReviewRestored + 142, // 177: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload + 329, // 178: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 330, // 179: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 343, // 180: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 331, // 181: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 332, // 182: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 7, // 183: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource + 333, // 184: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 334, // 185: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 335, // 186: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 336, // 187: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 337, // 188: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 343, // 189: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 338, // 190: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 343, // 191: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 156, // 192: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary + 343, // 193: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 343, // 194: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 339, // 195: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 340, // 196: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 343, // 197: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 343, // 198: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 343, // 199: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 343, // 200: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 343, // 201: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 343, // 202: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 343, // 203: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 343, // 204: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 192, // 205: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary + 343, // 206: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 343, // 207: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 195, // 208: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow + 343, // 209: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 343, // 210: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 198, // 211: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary + 343, // 212: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 343, // 213: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 343, // 214: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 343, // 215: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 198, // 216: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary + 42, // 217: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse + 201, // 218: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment + 204, // 219: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun + 192, // 220: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary + 343, // 221: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 343, // 222: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 343, // 223: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 343, // 224: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 105, // 225: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event + 2, // 226: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState + 225, // 227: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal + 220, // 228: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus + 3, // 229: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider + 4, // 230: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent + 3, // 231: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider + 343, // 232: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 343, // 233: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 3, // 234: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider + 219, // 235: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall + 343, // 236: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 5, // 237: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus + 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 239: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider + 3, // 240: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 343, // 241: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 343, // 242: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 226, // 243: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace + 226, // 244: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace + 6, // 245: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider + 6, // 246: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider + 232, // 247: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate + 226, // 248: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace + 240, // 249: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace + 343, // 250: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 241, // 251: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember + 7, // 252: brent.JoinableWorkspace.source:type_name -> brent.JoinSource + 226, // 253: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace + 343, // 254: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 244, // 255: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain + 244, // 256: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 244, // 257: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 343, // 258: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 343, // 259: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 257, // 260: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 257, // 261: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 343, // 262: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 264, // 263: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus + 264, // 264: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus + 226, // 265: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace + 226, // 266: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace + 343, // 267: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 9, // 268: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus + 278, // 269: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult + 226, // 270: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace + 284, // 271: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember + 10, // 272: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState + 343, // 273: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 8, // 274: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus + 311, // 275: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 225, // 276: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal + 311, // 277: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 341, // 278: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 342, // 279: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 301, // 280: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 301, // 281: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences + 301, // 282: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 343, // 283: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 343, // 284: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 343, // 285: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 312, // 286: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 343, // 287: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 312, // 288: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 257, // 289: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 343, // 290: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp + 5, // 291: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus + 322, // 292: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall + 3, // 293: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 294: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 295: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider + 326, // 296: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 11, // 297: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource + 3, // 298: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider + 343, // 299: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 344, // 300: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 344, // 301: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 344, // 302: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 344, // 303: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 344, // 304: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 344, // 305: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 344, // 306: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 344, // 307: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 344, // 308: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 344, // 309: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 302, // 310: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 345, // 311: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 37, // 312: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 39, // 313: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 205, // 314: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 327, // 315: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest + 207, // 316: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 209, // 317: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 211, // 318: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 213, // 319: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 215, // 320: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 217, // 321: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 295, // 322: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 299, // 323: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 303, // 324: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 305, // 325: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 307, // 326: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest + 309, // 327: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest + 297, // 328: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 313, // 329: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 315, // 330: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 324, // 331: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 227, // 332: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 229, // 333: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 231, // 334: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 234, // 335: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 271, // 336: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 273, // 337: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 236, // 338: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 238, // 339: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 242, // 340: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 275, // 341: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 277, // 342: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 280, // 343: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 282, // 344: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 285, // 345: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 287, // 346: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 289, // 347: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 291, // 348: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 245, // 349: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 247, // 350: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 249, // 351: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 251, // 352: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 255, // 353: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 258, // 354: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 260, // 355: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 262, // 356: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 265, // 357: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 267, // 358: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 269, // 359: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 221, // 360: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 223, // 361: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 253, // 362: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 293, // 363: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 26, // 364: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 27, // 365: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 30, // 366: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 31, // 367: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 33, // 368: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 35, // 369: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 53, // 370: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 54, // 371: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 57, // 372: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 82, // 373: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 85, // 374: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 346, // 375: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 90, // 376: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 93, // 377: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 96, // 378: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 99, // 379: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 101, // 380: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 317, // 381: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 318, // 382: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 319, // 383: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 321, // 384: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest + 190, // 385: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 193, // 386: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 196, // 387: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 199, // 388: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 200, // 389: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 12, // 390: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 14, // 391: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 16, // 392: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 60, // 393: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 62, // 394: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 65, // 395: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 67, // 396: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 69, // 397: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 71, // 398: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 73, // 399: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 75, // 400: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 77, // 401: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 80, // 402: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 18, // 403: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 38, // 404: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 40, // 405: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 206, // 406: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 328, // 407: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse + 208, // 408: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 210, // 409: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 212, // 410: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 214, // 411: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 216, // 412: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 218, // 413: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 296, // 414: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 300, // 415: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 304, // 416: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 306, // 417: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 308, // 418: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse + 310, // 419: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse + 298, // 420: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 314, // 421: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 316, // 422: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 325, // 423: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 228, // 424: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 230, // 425: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 233, // 426: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 235, // 427: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 272, // 428: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 274, // 429: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 237, // 430: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 239, // 431: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 243, // 432: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 276, // 433: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 279, // 434: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 281, // 435: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 283, // 436: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 286, // 437: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 288, // 438: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 290, // 439: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 292, // 440: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 246, // 441: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 248, // 442: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 250, // 443: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 252, // 444: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 256, // 445: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 259, // 446: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 261, // 447: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 263, // 448: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 266, // 449: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 268, // 450: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 270, // 451: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 222, // 452: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 224, // 453: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 254, // 454: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 294, // 455: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 42, // 456: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 28, // 457: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 42, // 458: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 32, // 459: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 34, // 460: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 36, // 461: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 42, // 462: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 55, // 463: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 58, // 464: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 83, // 465: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 86, // 466: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 89, // 467: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 92, // 468: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 95, // 469: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 98, // 470: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 100, // 471: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 104, // 472: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 314, // 473: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 316, // 474: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 320, // 475: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 323, // 476: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse + 191, // 477: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 194, // 478: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 197, // 479: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 203, // 480: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 202, // 481: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 13, // 482: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 15, // 483: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 17, // 484: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 61, // 485: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 63, // 486: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 66, // 487: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 68, // 488: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 70, // 489: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 72, // 490: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 74, // 491: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 76, // 492: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 78, // 493: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 81, // 494: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 21, // 495: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 404, // [404:496] is the sub-list for method output_type + 312, // [312:404] is the sub-list for method input_type + 312, // [312:312] is the sub-list for extension type_name + 311, // [311:312] is the sub-list for extension extendee + 0, // [0:311] is the sub-list for field type_name } func init() { file_brent_proto_init() } @@ -27300,26 +27400,27 @@ func file_brent_proto_init() { (*Event_DeviationFindingAcknowledged)(nil), (*Event_DeviationFindingAcknowledgementCleared)(nil), (*Event_PlanReviewPolicyDecided)(nil), + (*Event_ReviewRestored)(nil), (*Event_UnknownStoredPayload)(nil), } - file_brent_proto_msgTypes[160].OneofWrappers = []any{} - file_brent_proto_msgTypes[185].OneofWrappers = []any{} - file_brent_proto_msgTypes[190].OneofWrappers = []any{} + file_brent_proto_msgTypes[161].OneofWrappers = []any{} + file_brent_proto_msgTypes[186].OneofWrappers = []any{} file_brent_proto_msgTypes[191].OneofWrappers = []any{} - file_brent_proto_msgTypes[193].OneofWrappers = []any{} - file_brent_proto_msgTypes[213].OneofWrappers = []any{} - file_brent_proto_msgTypes[227].OneofWrappers = []any{} + file_brent_proto_msgTypes[192].OneofWrappers = []any{} + file_brent_proto_msgTypes[194].OneofWrappers = []any{} + file_brent_proto_msgTypes[214].OneofWrappers = []any{} file_brent_proto_msgTypes[228].OneofWrappers = []any{} - file_brent_proto_msgTypes[281].OneofWrappers = []any{} - file_brent_proto_msgTypes[302].OneofWrappers = []any{} - file_brent_proto_msgTypes[305].OneofWrappers = []any{} + file_brent_proto_msgTypes[229].OneofWrappers = []any{} + file_brent_proto_msgTypes[282].OneofWrappers = []any{} + file_brent_proto_msgTypes[303].OneofWrappers = []any{} + file_brent_proto_msgTypes[306].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), NumEnums: 12, - NumMessages: 330, + NumMessages: 331, NumExtensions: 1, NumServices: 3, }, From 6069cedbadd7575f6250a93a8ea1f6c45f87509b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 10:12:11 +0300 Subject: [PATCH 13/36] fix(deps): update gcp sdk (#6171) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | Type | Update | |---|---|---|---|---|---| | [cloud.google.com/go/container](https://redirect.github.com/googleapis/google-cloud-go) | `v1.53.0` → `v1.53.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fcontainer/v1.53.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fcontainer/v1.53.0/v1.53.1?slim=true) | require | patch | | [cloud.google.com/go/spanner](https://redirect.github.com/googleapis/google-cloud-go) | `v1.93.0` → `v1.94.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fspanner/v1.94.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fspanner/v1.93.0/v1.94.0?slim=true) | require | minor | | [google.golang.org/api](https://redirect.github.com/googleapis/google-api-go-client) | `v0.290.0` → `v0.291.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.291.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.290.0/v0.291.0?slim=true) | require | minor | | [google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto) | `3fe39f3` → `8efbd57` | ![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20260729162451-8efbd57d26e0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20260723215102-3fe39f3c1018/v0.0.0-20260729162451-8efbd57d26e0?slim=true) | require | digest | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
googleapis/google-api-go-client (google.golang.org/api) ### [`v0.291.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.291.0) [Compare Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.290.0...v0.291.0) ##### Features - **all:** Auto-regenerate discovery clients ([#​3666](https://redirect.github.com/googleapis/google-api-go-client/issues/3666)) ([e3721ba](https://redirect.github.com/googleapis/google-api-go-client/commit/e3721ba5d733583d6999df8e179fd7c9d891c0a9)) - **all:** Auto-regenerate discovery clients ([#​3670](https://redirect.github.com/googleapis/google-api-go-client/issues/3670)) ([4067374](https://redirect.github.com/googleapis/google-api-go-client/commit/40673741ea906e5313a602459110dcfb17a54f7d)) - **all:** Auto-regenerate discovery clients ([#​3674](https://redirect.github.com/googleapis/google-api-go-client/issues/3674)) ([432658c](https://redirect.github.com/googleapis/google-api-go-client/commit/432658c5a9051b867b016979d6d948cdae99a401)) - **all:** Auto-regenerate discovery clients ([#​3676](https://redirect.github.com/googleapis/google-api-go-client/issues/3676)) ([9998a11](https://redirect.github.com/googleapis/google-api-go-client/commit/9998a114c63f1c113fb627e30597b02dee6301d5)) - **all:** Auto-regenerate discovery clients ([#​3678](https://redirect.github.com/googleapis/google-api-go-client/issues/3678)) ([b5c5526](https://redirect.github.com/googleapis/google-api-go-client/commit/b5c5526a1d862e21cf126b2287490e63ac52ee2c)) - **all:** Auto-regenerate discovery clients ([#​3679](https://redirect.github.com/googleapis/google-api-go-client/issues/3679)) ([499d9b1](https://redirect.github.com/googleapis/google-api-go-client/commit/499d9b17067ababff6992f1a0c50f8de794cff45)) ##### Bug Fixes - **transport:** Use ds.GetUniverseDomain() instead of raw ds.UniverseDomain field ([#​3660](https://redirect.github.com/googleapis/google-api-go-client/issues/3660)) ([6bad358](https://redirect.github.com/googleapis/google-api-go-client/commit/6bad35801f85c9915d8ad7635225a2b94e27082c))
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 25184bb0155c27776291728ae3fb50b6298cde9d --- go.mod | 12 ++++++------ go.sum | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index 0c1ad049..0227b676 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( cloud.google.com/go/certificatemanager v1.15.0 cloud.google.com/go/compute v1.65.0 cloud.google.com/go/compute/metadata v0.9.0 - cloud.google.com/go/container v1.53.0 + cloud.google.com/go/container v1.53.1 cloud.google.com/go/dataplex v1.36.0 cloud.google.com/go/dataproc/v2 v2.25.0 cloud.google.com/go/eventarc v1.25.0 @@ -53,7 +53,7 @@ require ( cloud.google.com/go/run v1.22.0 cloud.google.com/go/secretmanager v1.21.0 cloud.google.com/go/securitycentermanagement v1.6.0 - cloud.google.com/go/spanner v1.93.0 + cloud.google.com/go/spanner v1.94.0 cloud.google.com/go/storage v1.64.0 cloud.google.com/go/storagetransfer v1.19.0 connectrpc.com/connect v1.20.0 // v1.19.0 was faulty, wait until it is above this version @@ -214,8 +214,8 @@ require ( golang.org/x/text v0.40.0 golang.org/x/time v0.15.0 gonum.org/v1/gonum v0.17.0 - google.golang.org/api v0.290.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20260723215102-3fe39f3c1018 + google.golang.org/api v0.291.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0 google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af gopkg.in/ini.v1 v1.67.3 @@ -327,7 +327,7 @@ require ( github.com/google/jsonschema-go v0.4.3 // indirect github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 // indirect github.com/google/s2a-go v0.1.9 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.18 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.19 // indirect github.com/gookit/color v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect @@ -477,4 +477,4 @@ require ( require golang.org/x/image v0.44.0 -require github.com/SherClockHolmes/webpush-go v1.4.0 // indirect +require github.com/SherClockHolmes/webpush-go v1.4.0 diff --git a/go.sum b/go.sum index 8a744891..43d15a87 100644 --- a/go.sum +++ b/go.sum @@ -38,8 +38,8 @@ cloud.google.com/go/compute v1.65.0 h1:K0a3NRvazE7sZn5qswwI6BtlaZv1fgR5wFop5LZCL cloud.google.com/go/compute v1.65.0/go.mod h1:vFq+Ztj9Rzhc8zf1t6hGp/6NdrEVG1GakkyVRQPRgKc= 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/container v1.53.0 h1:3zUySblDfZI9c+5gUWVOacKrdsQwiEerK4HM8eS/Ud8= -cloud.google.com/go/container v1.53.0/go.mod h1:SBOylKhlKYCBFs/8kz2yqRdUW5ctVNHs82JKOTjrB9s= +cloud.google.com/go/container v1.53.1 h1:B/RHfOeKaf3vWSjtJO6DgwToCjHKzfeXmWYLCaowVoI= +cloud.google.com/go/container v1.53.1/go.mod h1:/ZI9J3uuAQh0O3/n9qxkdTVCDB6kuwxEpC9MvEWnf/Q= cloud.google.com/go/datacatalog v1.32.0 h1:fyYn8ODkGil5y3zTIqgIhOfzTu1ACaU2o+C750CO6Ac= cloud.google.com/go/datacatalog v1.32.0/go.mod h1:DE272tynQUwheJeQAyVfV+nO8yrdkuDyOgH2LtOrkWM= cloud.google.com/go/dataplex v1.36.0 h1:r4O6RHEkwHr41ItsTUym0ZgH1iDf48R+W8fI7KoMNl8= @@ -76,8 +76,8 @@ cloud.google.com/go/secretmanager v1.21.0 h1:e56QQaKWRyzBdUz40AeZaio/ZHAl268cFx3 cloud.google.com/go/secretmanager v1.21.0/go.mod h1:+nlV+GYqTD8DM+x7Kk3UF7ZPYgdYMowrkZxAmMXORQ8= cloud.google.com/go/securitycentermanagement v1.6.0 h1:1oH0hTRrwS0Er8QVhrUR2ScQNSmupUAMorFHt45QN24= cloud.google.com/go/securitycentermanagement v1.6.0/go.mod h1:2vT5sKJSeclefx8yku77inS/bAyEiLH9n1CHpshtDMQ= -cloud.google.com/go/spanner v1.93.0 h1:8cOXLMTECz1i906Nn500DuARUXrY8gH5dPSqqhQJZcY= -cloud.google.com/go/spanner v1.93.0/go.mod h1:ywpqBwFGEG3jBgqTPqo2KDWL2GzmZ6w5plQdO6iTvM4= +cloud.google.com/go/spanner v1.94.0 h1:tve2XojeMa32SsrDNkp3J08TW4TZUVrv8TvTqGUif4A= +cloud.google.com/go/spanner v1.94.0/go.mod h1:Z2+83J5oVDmd1n5ntVMmjEuiNoXOpAyNeG7y1tuEHk0= cloud.google.com/go/storage v1.64.0 h1:KLpxI/oX9LxeRsNqn877d2WyeT3ryiEwnGt8pwcSPZg= cloud.google.com/go/storage v1.64.0/go.mod h1:lWyAtwvDZHdL3k68WVKbESP6bmWaV23ZJJ/JEVw/ZaQ= cloud.google.com/go/storagetransfer v1.19.0 h1:jh+3SegMUulEhuJbkADCv8lmfRC8/pCpxja4oex2Ns8= @@ -505,8 +505,8 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaU github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= 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.18 h1:hvVi34VucdrV1IIsiWuqYM8kutw/92MxNEFxCJZEh0k= -github.com/googleapis/enterprise-certificate-proxy v0.3.18/go.mod h1:rSEsBUemEBZEexP2y6jPp16LUmUbjmSbcPMQizR0o4k= +github.com/googleapis/enterprise-certificate-proxy v0.3.19 h1:mMOE7DN2+p76/EdIrmAy9B9bH+yC4563vmnJ34QR8i4= +github.com/googleapis/enterprise-certificate-proxy v0.3.19/go.mod h1:rSEsBUemEBZEexP2y6jPp16LUmUbjmSbcPMQizR0o4k= github.com/googleapis/gax-go/v2 v2.23.0 h1:Tchl7qkvE7Ip3y+ztvNufYFvkfqTe7NfLTYGIdJRLuE= github.com/googleapis/gax-go/v2 v2.23.0/go.mod h1:rBQKOVJCdb8IFEzg+FCwlt1LP/xMDGuqUXhUG+XMXEg= github.com/gookit/assert v0.1.1 h1:lh3GcawXe/p+cU7ESTZ5Ui3Sm/x8JWpIis4/1aF0mY0= @@ -1113,8 +1113,8 @@ gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0 gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/api v0.290.0 h1:eMw0Xo+IfbbMlKmW7aHvpyQRv9RCXuWx/vs8AD+0x9A= -google.golang.org/api v0.290.0/go.mod h1:weJZ3lldHFYI0DBFNKpJelUDNnusTt5YaOEgxvt8ci8= +google.golang.org/api v0.291.0 h1:wfPbbY+mr9c7wZLqqzrHJLft/q8iFKREd6IgTBUene0= +google.golang.org/api v0.291.0/go.mod h1:at7kwWbuonglBFEBoeMDAV1bguHqL3qf0BHFsv3coa0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= @@ -1122,8 +1122,8 @@ google.golang.org/genproto v0.0.0-20260519071638-aa98bba5eb94 h1:YJjbgu+dkp5kUJL google.golang.org/genproto v0.0.0-20260519071638-aa98bba5eb94/go.mod h1:RRHjglSYABVCWpQ7USCpdfhcd9t4PkajvVwyynZizTc= google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 h1:jQ9p21COKWjP3VwuFrNRiiOTMh3mPpN45R7SLrH/HUU= google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7/go.mod h1:KqHwBx2upmfa1XSi1WuRvC+2VGCLtooKkfmyvRbUmqA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260723215102-3fe39f3c1018 h1:yXIvV9x4Vu2wUs2cCW8puVLHAjZkuipNK1MnTCZ0Jo0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260723215102-3fe39f3c1018/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0 h1:mJiOtnGp0k/BcSgdu03G2NwnscCfCH+h2QKUBZr18KI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= From d452b903eb0ca12254b597834bff13fbea4855bf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 10:13:46 +0300 Subject: [PATCH 14/36] chore(deps): update dependency goreleaser/goreleaser to v2.17.1 (#6165) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [goreleaser/goreleaser](https://redirect.github.com/goreleaser/goreleaser) | patch | `v2.17.0` → `v2.17.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
goreleaser/goreleaser (goreleaser/goreleaser) ### [`v2.17.1`](https://redirect.github.com/goreleaser/goreleaser/releases/tag/v2.17.1) [Compare Source](https://redirect.github.com/goreleaser/goreleaser/compare/v2.17.0...v2.17.1) ##### Announcement Read the official announcement: [Announcing GoReleaser v2.17](https://goreleaser.com/blog/goreleaser-v2.17/). ##### Changelog ##### Bug fixes - [`a734383`](https://redirect.github.com/goreleaser/goreleaser/commit/a734383d9f8d74f689097dbfd3c1086b3f56648f): fix(builder/go): parse GORISCV64 and GOPPC64 for riscv64 and ppc64le targets ([#​6698](https://redirect.github.com/goreleaser/goreleaser/issues/6698)) ([@​upuddu](https://redirect.github.com/upuddu)) - [`dfc7f06`](https://redirect.github.com/goreleaser/goreleaser/commit/dfc7f06a53441d9f0adb6f03e8f7afc2281f6d5d): fix(builders/go): sort targets ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`7630cd1`](https://redirect.github.com/goreleaser/goreleaser/commit/7630cd166fb4dbad0a29ea23cf5e941b66f72b09): fix(deps): go1.26.5 ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`9dbb266`](https://redirect.github.com/goreleaser/goreleaser/commit/9dbb2668c0e9a5bac1e14689f1024b2a7c741bc9): fix(notary): poll notarization status every 10s, not 10ns ([#​6726](https://redirect.github.com/goreleaser/goreleaser/issues/6726)) ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`1ebf881`](https://redirect.github.com/goreleaser/goreleaser/commit/1ebf881316f6c86be9d76b62026cca52d81e3480): fix: anchor goarm64 validation regex to reject invalid values ([#​6727](https://redirect.github.com/goreleaser/goreleaser/issues/6727)) ([@​semx](https://redirect.github.com/semx)) - [`70f6921`](https://redirect.github.com/goreleaser/goreleaser/commit/70f6921451146e62685da01bec4438dabe06bc22): fix: migrate from deprecated s3/manager to s3/transfermanager ([#​6706](https://redirect.github.com/goreleaser/goreleaser/issues/6706)) ([@​joeyberkovitz](https://redirect.github.com/joeyberkovitz)) ##### Documentation updates - [`eafb0ec`](https://redirect.github.com/goreleaser/goreleaser/commit/eafb0ec65125ea4bbc408e19e26886ed95715e2a): docs(users): update charm domain ([#​6699](https://redirect.github.com/goreleaser/goreleaser/issues/6699)) ([@​andreynering](https://redirect.github.com/andreynering)) - [`ae4debb`](https://redirect.github.com/goreleaser/goreleaser/commit/ae4debbe4383dcc565f9251df2ea719501b8d9ea): docs: add /.well-known/security.txt (RFC 9116) ([#​6710](https://redirect.github.com/goreleaser/goreleaser/issues/6710)) ([@​kobihikri](https://redirect.github.com/kobihikri)) - [`d3764c8`](https://redirect.github.com/goreleaser/goreleaser/commit/d3764c8bc8e6bc316ddf4032f0faa9e25c6fd98e): docs: fix typo ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`742ae5f`](https://redirect.github.com/goreleaser/goreleaser/commit/742ae5fc647cb61e689d333a4a15ec9dea8b5907): docs: move images to a bucket ([#​6691](https://redirect.github.com/goreleaser/goreleaser/issues/6691)) ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`55a466e`](https://redirect.github.com/goreleaser/goreleaser/commit/55a466e7fa9980ff75c206b8f98781652607ec38): docs: publish to GitLab package registries with the http upload pipe ([#​6697](https://redirect.github.com/goreleaser/goreleaser/issues/6697)) ([@​ajuijas](https://redirect.github.com/ajuijas)) - [`65240d8`](https://redirect.github.com/goreleaser/goreleaser/commit/65240d83f56f7de80716a62600c36178900c7d09): docs: update users ([@​caarlos0](https://redirect.github.com/caarlos0)) ##### Other work - [`0eb5b0f`](https://redirect.github.com/goreleaser/goreleaser/commit/0eb5b0fd4e5e03a0de538812a7ca607c0ceadfa8): chore(ci): update dependabot config ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`4bcb2a5`](https://redirect.github.com/goreleaser/goreleaser/commit/4bcb2a5c80de731d6ca1cee7e457ca70efc22c31): chore(ci): update deps ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`5f3f435`](https://redirect.github.com/goreleaser/goreleaser/commit/5f3f435f8856eacc4ee715ba8611d344790c68df): chore: auto-update generated files ([#​6693](https://redirect.github.com/goreleaser/goreleaser/issues/6693)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`9b85924`](https://redirect.github.com/goreleaser/goreleaser/commit/9b859248b101e24e6926db9e582472cfd1680ad1): chore: auto-update generated files ([#​6694](https://redirect.github.com/goreleaser/goreleaser/issues/6694)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`1aab79e`](https://redirect.github.com/goreleaser/goreleaser/commit/1aab79e70a1df58ec44741d6af64ff146d545eed): chore: auto-update generated files ([#​6700](https://redirect.github.com/goreleaser/goreleaser/issues/6700)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`11d0150`](https://redirect.github.com/goreleaser/goreleaser/commit/11d0150499154f03cdb849387f7d95fe00e89e0d): chore: auto-update generated files ([#​6705](https://redirect.github.com/goreleaser/goreleaser/issues/6705)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`5747ca7`](https://redirect.github.com/goreleaser/goreleaser/commit/5747ca742e182dabc45037271f8274baca40318b): chore: auto-update generated files ([#​6707](https://redirect.github.com/goreleaser/goreleaser/issues/6707)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`83f4c19`](https://redirect.github.com/goreleaser/goreleaser/commit/83f4c19a5c5c0b9efef6bf2aedc6805bbcb9dfe2): chore: auto-update generated files ([#​6730](https://redirect.github.com/goreleaser/goreleaser/issues/6730)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`f3a0e63`](https://redirect.github.com/goreleaser/goreleaser/commit/f3a0e631432afe54de6325935072b652cdac6039): chore: svu config ([@​caarlos0](https://redirect.github.com/caarlos0)) **Full Changelog**: ##### Helping out This release is only possible thanks to **all** the support of some **awesome people**! Want to be one of them? You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro License](https://goreleaser.com/pro) or [contribute with code](https://goreleaser.com/contributing). ##### Where to go next? - Find examples and commented usage of all options in our [website](https://goreleaser.com/intro/). - Reach out on [Discord](https://discord.gg/RGEBtg8vQ6), [Twitter](https://twitter.com/goreleaser), and [Telegram](https://t.me/goreleasernews)! GoReleaser logo
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 413cdd9e24a24c9fd079362d3fb9b5ce4d8fb3e4 --- .github/workflows/release.yml | 2 +- aws-source/module/provider/.github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c46df4ed..f3aa0b04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,7 +63,7 @@ jobs: uses: goreleaser/goreleaser-action@v7 with: # renovate: datasource=github-releases depName=goreleaser/goreleaser - version: "v2.17.0" + version: "v2.17.1" args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/aws-source/module/provider/.github/workflows/release.yml b/aws-source/module/provider/.github/workflows/release.yml index 88885da9..bf09de90 100644 --- a/aws-source/module/provider/.github/workflows/release.yml +++ b/aws-source/module/provider/.github/workflows/release.yml @@ -46,7 +46,7 @@ jobs: uses: goreleaser/goreleaser-action@v7 with: # renovate: datasource=github-releases depName=goreleaser/goreleaser - version: "v2.17.0" + version: "v2.17.1" args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 3d52c05c0361a78bfbca804d5bb80431229cb932 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 09:17:11 +0000 Subject: [PATCH 15/36] fix(deps): update module github.com/azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8 to v8.2.0 (#6188) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8](https://redirect.github.com/Azure/azure-sdk-for-go) | `v8.1.0` → `v8.2.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fAzure%2fazure-sdk-for-go%2fsdk%2fresourcemanager%2fcompute%2farmcompute%2fv8/v8.2.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fAzure%2fazure-sdk-for-go%2fsdk%2fresourcemanager%2fcompute%2farmcompute%2fv8/v8.1.0/v8.2.0?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 0f77e02baee704421c9fb0fea8bc0fd0158e41d7 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0227b676..7a602779 100644 --- a/go.mod +++ b/go.mod @@ -63,7 +63,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 v3.0.0-beta.3 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4 v4.0.0 - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8 v8.1.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8 v8.2.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v3 v3.4.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/elasticsan/armelasticsan v1.2.0 diff --git a/go.sum b/go.sum index 43d15a87..214190b4 100644 --- a/go.sum +++ b/go.sum @@ -104,8 +104,8 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthoriza github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 v3.0.0-beta.3/go.mod h1:ZCM0BEa95+Ov7zRyPZS40SY1pFANErtVgERanZHtgcg= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4 v4.0.0 h1:KBRoKIQlg79mFK5LRndDGPrCDGRl2xyFr/vG8afLGys= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4 v4.0.0/go.mod h1:w+PG/dv/phWHlE3OIKWa4CAITETZ52D8qznRGMbduPA= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8 v8.1.0 h1:NOptf7OJveKQlKX4meGgb7L6xDIK+94MD6qnlmBOW2Y= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8 v8.1.0/go.mod h1:E+lMyo/54sqYcxG3b2DJP+aUp2xP3VVDcYdyNYKdu74= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8 v8.2.0 h1:WazERlTJNPkU74ZSp8vT77bHSCh3HSn8hu2iPqaEyt4= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8 v8.2.0/go.mod h1:E+lMyo/54sqYcxG3b2DJP+aUp2xP3VVDcYdyNYKdu74= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v3 v3.4.0 h1:+EhRnIOLvffCvUMUfP+MgOp6PrtN1d6xt94DZtrC3lA= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v3 v3.4.0/go.mod h1:Bb7kqorvA2acMCNFac+2ldoQWi7QrcMdH+9Gg9C7fSM= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0 h1:lpOxwrQ919lCZoNCd69rVt8u1eLZuMORrGXqy8sNf3c= From e83c6ba6ac3510009c5220e9b11b3fbb32dc9c49 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2026 17:42:20 +0200 Subject: [PATCH 16/36] fix(deps): update aws sdk (#6170) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.43.0` → `v1.43.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2/v1.43.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2/v1.43.0/v1.43.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/config](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.32.31` → `v1.32.34` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.32.34?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.32.31/v1.32.34?slim=true) | | [github.com/aws/aws-sdk-go-v2/credentials](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.19.30` → `v1.19.33` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.19.33?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.19.30/v1.19.33?slim=true) | | [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.18.31` → `v1.18.34` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2ffeature%2fec2%2fimds/v1.18.34?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2ffeature%2fec2%2fimds/v1.18.31/v1.18.34?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/apigateway](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.42.0` → `v1.42.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fapigateway/v1.42.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fapigateway/v1.42.0/v1.42.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.70.0` → `v1.70.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fautoscaling/v1.70.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fautoscaling/v1.70.0/v1.70.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/cloudfront](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.67.0` → `v1.67.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudfront/v1.67.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudfront/v1.67.0/v1.67.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/cloudwatch](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.65.0` → `v1.66.2` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudwatch/v1.66.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudwatch/v1.65.0/v1.66.2?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/directconnect](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.43.0` → `v1.43.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdirectconnect/v1.43.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdirectconnect/v1.43.0/v1.43.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.61.0` → `v1.62.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdynamodb/v1.62.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdynamodb/v1.61.0/v1.62.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.317.0` → `v1.318.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.318.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.317.0/v1.318.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/ecs](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.89.0` → `v1.89.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fecs/v1.89.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fecs/v1.89.0/v1.89.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/efs](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.44.0` → `v1.44.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fefs/v1.44.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fefs/v1.44.0/v1.44.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/eks](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.90.0` → `v1.90.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2feks/v1.90.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2feks/v1.90.0/v1.90.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.36.0` → `v1.36.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancing/v1.36.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancing/v1.36.0/v1.36.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.58.1` → `v1.58.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancingv2/v1.58.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancingv2/v1.58.1/v1.58.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/iam](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.56.0` → `v1.57.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fiam/v1.57.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fiam/v1.56.0/v1.57.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/kms](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.55.0` → `v1.55.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fkms/v1.55.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fkms/v1.55.0/v1.55.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/lambda](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.99.0` → `v1.101.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2flambda/v1.101.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2flambda/v1.99.0/v1.101.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/networkfirewall](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.64.0` → `v1.66.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkfirewall/v1.66.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkfirewall/v1.64.0/v1.66.0?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/networkmanager](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.44.0` → `v1.44.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkmanager/v1.44.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkmanager/v1.44.0/v1.44.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/rds](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.123.0` → `v1.124.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2frds/v1.124.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2frds/v1.123.0/v1.124.0?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/route53](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.65.2` → `v1.65.5` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2froute53/v1.65.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2froute53/v1.65.2/v1.65.5?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/s3](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.106.0` → `v1.106.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fs3/v1.106.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fs3/v1.106.0/v1.106.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sesv2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.66.0` → `v1.66.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsesv2/v1.66.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsesv2/v1.66.0/v1.66.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sns](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.42.0` → `v1.42.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsns/v1.42.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsns/v1.42.0/v1.42.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sqs](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.46.0` → `v1.46.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsqs/v1.46.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsqs/v1.46.0/v1.46.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/ssm](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.73.0` → `v1.73.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fssm/v1.73.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fssm/v1.73.0/v1.73.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sts](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.45.0` → `v1.45.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsts/v1.45.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsts/v1.45.0/v1.45.3?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2) ### [`v1.43.3`](https://redirect.github.com/aws/aws-sdk-go-v2/blob/HEAD/CHANGELOG.md#Release-2024-12-032) [Compare Source](https://redirect.github.com/aws/aws-sdk-go-v2/compare/v1.43.2...v1.43.3) #### General Highlights - **Dependency Update**: Updated to the latest SDK module versions #### Module Highlights - `github.com/aws/aws-sdk-go-v2/feature/rds/auth`: [v1.5.0](feature/rds/auth/CHANGELOG.md#v150-2024-12-032) - No change notes available for this release. - `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.49.0](service/athena/CHANGELOG.md#v1490-2024-12-032) - **Feature**: Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only. - `github.com/aws/aws-sdk-go-v2/service/bedrock`: [v1.24.0](service/bedrock/CHANGELOG.md#v1240-2024-12-032) - **Feature**: Tagging support for Async Invoke resources. Added support for Distillation in CreateModelCustomizationJob API. Support for videoDataDeliveryEnabled flag in invocation logging. - `github.com/aws/aws-sdk-go-v2/service/bedrockagent`: [v1.31.0](service/bedrockagent/CHANGELOG.md#v1310-2024-12-032) - **Feature**: Releasing SDK for Multi-Agent Collaboration. - `github.com/aws/aws-sdk-go-v2/service/bedrockagentruntime`: [v1.29.0](service/bedrockagentruntime/CHANGELOG.md#v1290-2024-12-032) - **Feature**: Releasing SDK for multi agent collaboration - `github.com/aws/aws-sdk-go-v2/service/bedrockruntime`: [v1.22.0](service/bedrockruntime/CHANGELOG.md#v1220-2024-12-032) - **Feature**: Added support for Async Invoke Operations Start, List and Get. Support for invocation logs with `requestMetadata` field in Converse, ConverseStream, Invoke and InvokeStream. Video content blocks in Converse/ConverseStream accept raw bytes or S3 URI. - `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.43.3](service/cloudwatch/CHANGELOG.md#v1433-2024-12-032) - **Documentation**: Support for configuring AiOps investigation as alarm action - `github.com/aws/aws-sdk-go-v2/service/datazone`: [v1.25.0](service/datazone/CHANGELOG.md#v1250-2024-12-032) - **Feature**: Adds support for Connections, ProjectProfiles, and JobRuns APIs. Supports the new Lineage feature at GA. Adjusts optionality of a parameter for DataSource and SubscriptionTarget APIs which may adjust types in some clients. - `github.com/aws/aws-sdk-go-v2/service/dsql`: [v1.0.0](service/dsql/CHANGELOG.md#v100-2024-12-032) - **Release**: New AWS service client module - **Feature**: Add new API operations for Amazon Aurora DSQL. Amazon Aurora DSQL is a serverless, distributed SQL database with virtually unlimited scale, highest availability, and zero infrastructure management. - `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.38.0](service/dynamodb/CHANGELOG.md#v1380-2024-12-032) - **Feature**: This change adds support for global tables with multi-Region strong consistency (in preview). The UpdateTable API now supports a new attribute MultiRegionConsistency to set consistency when creating global tables. The DescribeTable output now optionally includes the MultiRegionConsistency attribute. - `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.103.0](service/glue/CHANGELOG.md#v11030-2024-12-032) - **Feature**: This release includes(1)Zero-ETL integration to ingest data from 3P SaaS and DynamoDB to Redshift/Redlake (2)new properties on Connections to enable reuse; new connection APIs for retrieve/preview metadata (3)support of CRUD operations for Multi-catalog (4)support of automatic statistics collections - `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.39.0](service/lakeformation/CHANGELOG.md#v1390-2024-12-032) - **Feature**: This release added two new LakeFormation Permissions (CREATE\_CATALOG, SUPER\_USER) and added Id field for CatalogResource. It also added new conditon and expression field. - `github.com/aws/aws-sdk-go-v2/service/qapps`: [v1.6.0](service/qapps/CHANGELOG.md#v160-2024-12-032) - **Feature**: Add support for 11 new plugins as action cards to help automate repetitive tasks and improve productivity. - `github.com/aws/aws-sdk-go-v2/service/qbusiness`: [v1.18.0](service/qbusiness/CHANGELOG.md#v1180-2024-12-032) - **Feature**: Amazon Q Business now supports customization options for your web experience, 11 new Plugins, and QuickSight support. Amazon Q index allows software providers to enrich their native generative AI experiences with their customer's enterprise knowledge and user context spanning multiple applications. - `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.81.0](service/quicksight/CHANGELOG.md#v1810-2024-12-032) - **Feature**: This release includes API needed to support for Unstructured Data in Q in QuickSight Q\&A (IDC). - `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.53.0](service/redshift/CHANGELOG.md#v1530-2024-12-032) - **Feature**: Adds support for Amazon Redshift RegisterNamespace and DeregisterNamespace APIs to share data to AWS Glue Data Catalog. - `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.25.0](service/redshiftserverless/CHANGELOG.md#v1250-2024-12-032) - **Feature**: Adds support for the ListManagedWorkgroups API to get an overview of existing managed workgroups. - `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.71.0](service/s3/CHANGELOG.md#v1710-2024-12-032) - **Feature**: Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets. - `github.com/aws/aws-sdk-go-v2/service/s3tables`: [v1.0.0](service/s3tables/CHANGELOG.md#v100-2024-12-032) - **Release**: New AWS service client module - **Feature**: Amazon S3 Tables deliver the first cloud object store with built-in open table format support, and the easiest way to store tabular data at scale. ### [`v1.43.2`](https://redirect.github.com/aws/aws-sdk-go-v2/blob/HEAD/CHANGELOG.md#Release-2024-11-07) [Compare Source](https://redirect.github.com/aws/aws-sdk-go-v2/compare/v1.43.1...v1.43.2) #### General Highlights - **Dependency Update**: Updated to the latest SDK module versions #### Module Highlights - `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.34.5](service/accessanalyzer/CHANGELOG.md#v1345-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/account`: [v1.21.5](service/account/CHANGELOG.md#v1215-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.30.5](service/acm/CHANGELOG.md#v1305-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.37.6](service/acmpca/CHANGELOG.md#v1376-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.30.2](service/amp/CHANGELOG.md#v1302-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.27.3](service/amplify/CHANGELOG.md#v1273-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.27.5](service/amplifybackend/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.23.5](service/amplifyuibuilder/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.27.5](service/apigateway/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.23.5](service/apigatewaymanagementapi/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.24.5](service/apigatewayv2/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.35.3](service/appconfig/CHANGELOG.md#v1353-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.18.5](service/appconfigdata/CHANGELOG.md#v1185-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appfabric`: [v1.11.5](service/appfabric/CHANGELOG.md#v1115-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.45.6](service/appflow/CHANGELOG.md#v1456-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.30.5](service/appintegrations/CHANGELOG.md#v1305-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.33.5](service/applicationautoscaling/CHANGELOG.md#v1335-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.21.5](service/applicationcostprofiler/CHANGELOG.md#v1215-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.28.5](service/applicationdiscoveryservice/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.29.3](service/applicationinsights/CHANGELOG.md#v1293-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/applicationsignals`: [v1.6.5](service/applicationsignals/CHANGELOG.md#v165-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.29.5](service/appmesh/CHANGELOG.md#v1295-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.32.5](service/apprunner/CHANGELOG.md#v1325-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.41.5](service/appstream/CHANGELOG.md#v1415-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.39.2](service/appsync/CHANGELOG.md#v1392-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/apptest`: [v1.4.5](service/apptest/CHANGELOG.md#v145-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/arczonalshift`: [v1.14.5](service/arczonalshift/CHANGELOG.md#v1145-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/artifact`: [v1.6.5](service/artifact/CHANGELOG.md#v165-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.48.3](service/athena/CHANGELOG.md#v1483-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.37.5](service/auditmanager/CHANGELOG.md#v1375-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.48.0](service/autoscaling/CHANGELOG.md#v1480-2024-11-07) - **Feature**: Auto Scaling groups now support the ability to strictly balance instances across Availability Zones by configuring the AvailabilityZoneDistribution parameter. If balanced-only is configured for a group, launches will always be attempted in the under scaled Availability Zone even if it is unhealthy. - `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.24.5](service/autoscalingplans/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/b2bi`: [v1.0.0-preview.51](service/b2bi/CHANGELOG.md#v100-preview51-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.39.6](service/backup/CHANGELOG.md#v1396-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.20.5](service/backupgateway/CHANGELOG.md#v1205-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.47.2](service/batch/CHANGELOG.md#v1472-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/bcmdataexports`: [v1.7.5](service/bcmdataexports/CHANGELOG.md#v175-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/bedrock`: [v1.22.2](service/bedrock/CHANGELOG.md#v1222-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/bedrockagent`: [v1.27.0](service/bedrockagent/CHANGELOG.md#v1270-2024-11-07) - **Feature**: Add prompt support for chat template configuration and agent generative AI resource. Add support for configuring an optional guardrail in Prompt and Knowledge Base nodes in Prompt Flows. Add API to validate flow definition - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/bedrockagentruntime`: [v1.23.3](service/bedrockagentruntime/CHANGELOG.md#v1233-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/bedrockruntime`: [v1.20.0](service/bedrockruntime/CHANGELOG.md#v1200-2024-11-07) - **Feature**: Add Prompt management support to Bedrock runtime APIs: Converse, ConverseStream, InvokeModel, InvokeModelWithStreamingResponse - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.20.5](service/billingconductor/CHANGELOG.md#v1205-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.31.5](service/braket/CHANGELOG.md#v1315-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.28.5](service/budgets/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/chatbot`: [v1.8.5](service/chatbot/CHANGELOG.md#v185-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.34.5](service/chime/CHANGELOG.md#v1345-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.22.5](service/chimesdkidentity/CHANGELOG.md#v1225-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.20.5](service/chimesdkmediapipelines/CHANGELOG.md#v1205-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.27.5](service/chimesdkmeetings/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.26.5](service/chimesdkmessaging/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.19.5](service/chimesdkvoice/CHANGELOG.md#v1195-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.20.0](service/cleanrooms/CHANGELOG.md#v1200-2024-11-07) - **Feature**: This release introduces support for Custom Models in AWS Clean Rooms ML. - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cleanroomsml`: [v1.10.0](service/cleanroomsml/CHANGELOG.md#v1100-2024-11-07) - **Feature**: This release introduces support for Custom Models in AWS Clean Rooms ML. - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.28.5](service/cloud9/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.22.5](service/cloudcontrol/CHANGELOG.md#v1225-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.24.5](service/clouddirectory/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore`: [v1.8.5](service/cloudfrontkeyvaluestore/CHANGELOG.md#v185-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.24.5](service/cloudhsm/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.27.6](service/cloudhsmv2/CHANGELOG.md#v1276-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain`: [v1.23.5](service/cloudsearchdomain/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.44.5](service/cloudtrail/CHANGELOG.md#v1445-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudtraildata`: [v1.11.5](service/cloudtraildata/CHANGELOG.md#v1115-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.27.5](service/cloudwatchevents/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.43.2](service/cloudwatchlogs/CHANGELOG.md#v1432-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.33.5](service/codeartifact/CHANGELOG.md#v1335-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.48.1](service/codebuild/CHANGELOG.md#v1481-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.17.5](service/codecatalyst/CHANGELOG.md#v1175-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.27.5](service/codecommit/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codeconnections`: [v1.5.5](service/codeconnections/CHANGELOG.md#v155-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.29.5](service/codedeploy/CHANGELOG.md#v1295-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.24.5](service/codeguruprofiler/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.29.5](service/codegurureviewer/CHANGELOG.md#v1295-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codegurusecurity`: [v1.12.5](service/codegurusecurity/CHANGELOG.md#v1125-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.36.3](service/codepipeline/CHANGELOG.md#v1363-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codestarconnections`: [v1.29.5](service/codestarconnections/CHANGELOG.md#v1295-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.26.5](service/codestarnotifications/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.27.5](service/cognitoidentity/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.46.5](service/cognitoidentityprovider/CHANGELOG.md#v1465-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/cognitosync`: [v1.23.5](service/cognitosync/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.35.5](service/comprehend/CHANGELOG.md#v1355-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.26.5](service/comprehendmedical/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.39.5](service/computeoptimizer/CHANGELOG.md#v1395-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.50.5](service/configservice/CHANGELOG.md#v1505-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.115.2](service/connect/CHANGELOG.md#v11152-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.15.5](service/connectcampaigns/CHANGELOG.md#v1155-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.21.5](service/connectcases/CHANGELOG.md#v1215-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.26.5](service/connectcontactlens/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.27.5](service/connectparticipant/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/controlcatalog`: [v1.5.5](service/controlcatalog/CHANGELOG.md#v155-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.18.6](service/controltower/CHANGELOG.md#v1186-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.28.5](service/costandusagereportservice/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.43.5](service/costexplorer/CHANGELOG.md#v1435-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/costoptimizationhub`: [v1.10.5](service/costoptimizationhub/CHANGELOG.md#v1105-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.42.5](service/customerprofiles/CHANGELOG.md#v1425-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.44.3](service/databasemigrationservice/CHANGELOG.md#v1443-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.33.5](service/databrew/CHANGELOG.md#v1335-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.33.3](service/dataexchange/CHANGELOG.md#v1333-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/datapipeline`: [v1.25.5](service/datapipeline/CHANGELOG.md#v1255-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.43.2](service/datasync/CHANGELOG.md#v1432-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/datazone`: [v1.23.3](service/datazone/CHANGELOG.md#v1233-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.23.5](service/dax/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/deadline`: [v1.6.4](service/deadline/CHANGELOG.md#v164-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.31.5](service/detective/CHANGELOG.md#v1315-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.28.5](service/devicefarm/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.34.5](service/devopsguru/CHANGELOG.md#v1345-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.29.5](service/directconnect/CHANGELOG.md#v1295-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.30.5](service/directoryservice/CHANGELOG.md#v1305-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/directoryservicedata`: [v1.2.5](service/directoryservicedata/CHANGELOG.md#v125-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.28.5](service/dlm/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/docdbelastic`: [v1.14.2](service/docdbelastic/CHANGELOG.md#v1142-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.30.5](service/drs/CHANGELOG.md#v1305-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.36.5](service/dynamodb/CHANGELOG.md#v1365-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.24.5](service/dynamodbstreams/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.27.5](service/ebs/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.27.5](service/ec2instanceconnect/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.36.5](service/ecr/CHANGELOG.md#v1365-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.27.5](service/ecrpublic/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.49.2](service/ecs/CHANGELOG.md#v1492-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.33.5](service/efs/CHANGELOG.md#v1335-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.51.3](service/eks/CHANGELOG.md#v1513-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/eksauth`: [v1.7.5](service/eksauth/CHANGELOG.md#v175-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/elasticinference`: [v1.23.6](service/elasticinference/CHANGELOG.md#v1236-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.32.5](service/elasticsearchservice/CHANGELOG.md#v1325-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/elastictranscoder`: [v1.27.5](service/elastictranscoder/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.46.3](service/emr/CHANGELOG.md#v1463-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.33.5](service/emrcontainers/CHANGELOG.md#v1335-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.26.5](service/emrserverless/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/entityresolution`: [v1.15.5](service/entityresolution/CHANGELOG.md#v1155-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.35.5](service/eventbridge/CHANGELOG.md#v1355-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.23.5](service/evidently/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.28.5](service/finspace/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.28.5](service/finspacedata/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.34.5](service/firehose/CHANGELOG.md#v1345-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.30.5](service/fis/CHANGELOG.md#v1305-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.38.3](service/fms/CHANGELOG.md#v1383-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.36.5](service/forecast/CHANGELOG.md#v1365-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.24.5](service/forecastquery/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.35.5](service/frauddetector/CHANGELOG.md#v1355-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/freetier`: [v1.7.5](service/freetier/CHANGELOG.md#v175-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.49.5](service/fsx/CHANGELOG.md#v1495-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.36.5](service/gamelift/CHANGELOG.md#v1365-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/geomaps`: [v1.0.2](service/geomaps/CHANGELOG.md#v102-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/geoplaces`: [v1.0.2](service/geoplaces/CHANGELOG.md#v102-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/georoutes`: [v1.0.2](service/georoutes/CHANGELOG.md#v102-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.26.5](service/glacier/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.29.5](service/globalaccelerator/CHANGELOG.md#v1295-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.101.2](service/glue/CHANGELOG.md#v11012-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.26.5](service/grafana/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.27.5](service/greengrass/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.35.5](service/greengrassv2/CHANGELOG.md#v1355-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.31.5](service/groundstation/CHANGELOG.md#v1315-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.51.1](service/guardduty/CHANGELOG.md#v1511-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/health`: [v1.28.5](service/health/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.28.5](service/healthlake/CHANGELOG.md#v1285-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.27.5](service/identitystore/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.38.3](service/imagebuilder/CHANGELOG.md#v1383-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/inspector`: [v1.25.5](service/inspector/CHANGELOG.md#v1255-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.32.5](service/inspector2/CHANGELOG.md#v1325-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/inspectorscan`: [v1.7.5](service/inspectorscan/CHANGELOG.md#v175-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/internetmonitor`: [v1.19.5](service/internetmonitor/CHANGELOG.md#v1195-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.59.5](service/iot/CHANGELOG.md#v1595-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iot1clickdevicesservice`: [v1.23.5](service/iot1clickdevicesservice/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iot1clickprojects`: [v1.23.5](service/iot1clickprojects/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.26.5](service/iotanalytics/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.26.5](service/iotdataplane/CHANGELOG.md#v1265-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.31.5](service/iotdeviceadvisor/CHANGELOG.md#v1315-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.27.5](service/iotevents/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.24.5](service/ioteventsdata/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotfleethub`: [v1.24.5](service/iotfleethub/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.21.2](service/iotfleetwise/CHANGELOG.md#v1212-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotjobsdataplane`: [v1.23.5](service/iotjobsdataplane/CHANGELOG.md#v1235-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.27.5](service/iotsecuretunneling/CHANGELOG.md#v1275-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.43.5](service/iotsitewise/CHANGELOG.md#v1435-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotthingsgraph`: [v1.25.5](service/iotthingsgraph/CHANGELOG.md#v1255-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.24.5](service/iottwinmaker/CHANGELOG.md#v1245-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.44.5](service/iotwireless/CHANGELOG.md#v1445-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.16.5](service/ivschat/CHANGELOG.md#v1165-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.38.5](service/kafka/CHANGELOG.md#v1385-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.21.5](service/kafkaconnect/CHANGELOG.md#v1215-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.54.5](service/kendra/CHANGELOG.md#v1545-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of error message fields in service responses - `github.com/aws/aws-sdk-go-v2/service/kendraranking`: [v1.11.5](service/kendraranking/CHANGELOG.md#v1115-2024-11-07) - **Bug Fix**: Adds case-insensitive handling of erro > ✂ **Note** > > PR body was truncated to here.
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: fc8a8a7ae6e4f26b08fcbd789324cf81c69b97b6 --- go.mod | 84 ++++++++++++++--------------- go.sum | 168 ++++++++++++++++++++++++++++----------------------------- 2 files changed, 126 insertions(+), 126 deletions(-) diff --git a/go.mod b/go.mod index 7a602779..f8e2fe12 100644 --- a/go.mod +++ b/go.mod @@ -86,36 +86,36 @@ require ( github.com/antihax/optional v1.0.0 github.com/auth0/go-auth0/v2 v2.14.0 github.com/auth0/go-jwt-middleware/v3 v3.2.0 - github.com/aws/aws-sdk-go-v2 v1.43.0 - github.com/aws/aws-sdk-go-v2/config v1.32.31 - github.com/aws/aws-sdk-go-v2/credentials v1.19.30 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 - github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.0 - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.0 - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.0 - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.65.0 - github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.0 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.61.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.317.0 - github.com/aws/aws-sdk-go-v2/service/ecs v1.89.0 - github.com/aws/aws-sdk-go-v2/service/efs v1.44.0 - github.com/aws/aws-sdk-go-v2/service/eks v1.90.0 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.0 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.1 - github.com/aws/aws-sdk-go-v2/service/iam v1.56.0 - github.com/aws/aws-sdk-go-v2/service/kms v1.55.0 - github.com/aws/aws-sdk-go-v2/service/lambda v1.99.0 - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.64.0 - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.0 - github.com/aws/aws-sdk-go-v2/service/rds v1.123.0 - github.com/aws/aws-sdk-go-v2/service/route53 v1.65.2 - github.com/aws/aws-sdk-go-v2/service/s3 v1.106.0 - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.0 - github.com/aws/aws-sdk-go-v2/service/sns v1.42.0 - github.com/aws/aws-sdk-go-v2/service/sqs v1.46.0 - github.com/aws/aws-sdk-go-v2/service/ssm v1.73.0 - github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 - github.com/aws/smithy-go v1.27.4 + github.com/aws/aws-sdk-go-v2 v1.43.3 + github.com/aws/aws-sdk-go-v2/config v1.32.34 + github.com/aws/aws-sdk-go-v2/credentials v1.19.33 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.34 + github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.3 + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.3 + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.3 + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.2 + github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.3 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.62.3 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.318.1 + github.com/aws/aws-sdk-go-v2/service/ecs v1.89.3 + github.com/aws/aws-sdk-go-v2/service/efs v1.44.3 + github.com/aws/aws-sdk-go-v2/service/eks v1.90.3 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.3 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.4 + github.com/aws/aws-sdk-go-v2/service/iam v1.57.1 + github.com/aws/aws-sdk-go-v2/service/kms v1.55.3 + github.com/aws/aws-sdk-go-v2/service/lambda v1.101.1 + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.66.0 + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.3 + github.com/aws/aws-sdk-go-v2/service/rds v1.124.0 + github.com/aws/aws-sdk-go-v2/service/route53 v1.65.5 + github.com/aws/aws-sdk-go-v2/service/s3 v1.106.3 + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.3 + github.com/aws/aws-sdk-go-v2/service/sns v1.42.3 + github.com/aws/aws-sdk-go-v2/service/sqs v1.46.3 + github.com/aws/aws-sdk-go-v2/service/ssm v1.73.3 + github.com/aws/aws-sdk-go-v2/service/sts v1.45.3 + github.com/aws/smithy-go v1.27.6 github.com/bombsimon/logrusr/v4 v4.1.0 github.com/bradleyfalzon/ghinstallation/v2 v2.19.0 github.com/brianvoe/gofakeit/v7 v7.15.0 @@ -255,18 +255,18 @@ require ( github.com/apache/arrow/go/v15 v15.0.2 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/apparentlymart/go-textseg/v17 v17.0.1 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.24 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.8 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.32 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.11 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.5.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.33.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.3 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect diff --git a/go.sum b/go.sum index 214190b4..24d47695 100644 --- a/go.sum +++ b/go.sum @@ -207,90 +207,90 @@ github.com/auth0/go-auth0/v2 v2.14.0 h1:zDxwRHGAt6gLK/OG6wAkB5ScQEJ8WW/ex1EnJig8 github.com/auth0/go-auth0/v2 v2.14.0/go.mod h1:Q/Y3VZVoI3sw87VyTPhx2TQL6Sq4Q/iCP67rW2gcn+M= github.com/auth0/go-jwt-middleware/v3 v3.2.0 h1:OP0/YH89A+w03zOjuRPPgKh5S+1+uAmY/vtllYUSWCM= github.com/auth0/go-jwt-middleware/v3 v3.2.0/go.mod h1:/f0hy3exUWxL7/4XJ1oSHBDSBf2Os2C1VT2RkQ9frs0= -github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI= -github.com/aws/aws-sdk-go-v2 v1.43.0/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14 h1:3IZY0XAJquT3aHzbkHfPzy4ACPcEjVG0x87KOwtpqGY= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14/go.mod h1:zwM6veDkhGgQFqkBy+uT28AAYpLu+uFMlPl+rCg/73E= -github.com/aws/aws-sdk-go-v2/config v1.32.31 h1:n4nY9O3QKoHIkL85EX+V8RcMFtOhlpTFhGArg915PXk= -github.com/aws/aws-sdk-go-v2/config v1.32.31/go.mod h1:PN0NYDCCoOpGGsZ2+elDUidmHfQBPyYzN2GCgl8HEBs= -github.com/aws/aws-sdk-go-v2/credentials v1.19.30 h1:TTCvvzFU6gXa4iJecNG/0F/B0oYTiazoRECr2XyLHrY= -github.com/aws/aws-sdk-go-v2/credentials v1.19.30/go.mod h1:jKxAp2AEncnliinzpgOSZDFv6+VjvWhjw/AtbfsWT9U= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 h1:kfVL5wAunCJycL6MOQ6aNh6PlAYEymflcjuKmrWUA0o= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31/go.mod h1:nWfRNDAppujCQgOUd43lKT4yeLv9z3nJ3bw1G3BgQKo= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 h1:Z8F3hfCY33IGpJjFAnv0wvtv1FIKj1GHmRDEYqy64tw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31/go.mod h1:aVyUoytEyOViR6jhq6jula0xkc5NfBE2hgeF6BvOrao= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 h1:hyOxUyXdh3AyjE93gBgsfziJag9ACwcs+ZpDBLzi8mw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31/go.mod h1:OERqI9k0draSLB8O8woxY3q25ZWTELRK4RRoLMuMZFo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 h1:0MrUL35H/Y4kdFfItoR5jCgtDQ4Z/8LudAoIHRfA4hE= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32/go.mod h1:2tNZkuWz54arj8mHVf+8Y7cKkcD8Wr/fBpENgEXpjLc= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.0 h1:wslJQLjREGPil6ZtedkDsFAplnPWiV4y1kHltqR4v6Q= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.0/go.mod h1:E1X6KqJeFQLq4tXxmWUi54CE7UBjtcfRPYHYXMKHtig= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.0 h1:cPQFxPu5HGZ/D+5S2JWfe3a/aKorh2M0iGK8BU/yyCw= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.0/go.mod h1:+mXlkHigTo8i2IryCvXPVPYD8ARqmWhTiQwiMWslpBk= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.0 h1:im/ncpA+Jk0vM65L/PCtsYf6fK87PJNjSxwHpHvICp0= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.0/go.mod h1:qoIp6DWjzOuSXA1htGaDv8E2Olj0O3TYPikdjfv2wKc= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.65.0 h1:mthzbb+JegG3ij6kCilO/tPPVT+ohq0dA/mc3kHFHDo= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.65.0/go.mod h1:t3drm8DC/zlLUm3MvhkgD4Me6U6EJjzO+ZhcBzWxkcc= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.0 h1:eljOo3m9zgIWBIyCiUazYy9iK8Qj6V/uGhVeiVGkFtU= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.0/go.mod h1:NpYb2k1aRUawQIXXFLCiI7g6gJlrtgfTTk9uBr89f1g= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.61.0 h1:NgBlsBIREyMalftb1xC4kJYT1MWSTgjxlPiDYDmXhUQ= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.61.0/go.mod h1:4gF8PVvLxtCAUKJKa5vtI3jxQuShSdqupD9KVjOBoHE= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.317.0 h1:IkqA16g2hkQntk/K5+srT65TueoTDa7vGhZwqG9w6T4= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.317.0/go.mod h1:dmz3SHr11/hwUijR6xfE/xDRNHcjJwJWZ9ASZdkjGeg= -github.com/aws/aws-sdk-go-v2/service/ecs v1.89.0 h1:Y2xyDc+4y7PX7VeT9ZSxyaorH4I4jx5rPJN8V/FRqso= -github.com/aws/aws-sdk-go-v2/service/ecs v1.89.0/go.mod h1:hntrqC7aHKhK1Q6DX1QEZHH+qkqnhiR/pFCjH0ik5nA= -github.com/aws/aws-sdk-go-v2/service/efs v1.44.0 h1:tJ3xPQGtLvvKq4oJ4j4teeRHOg45qq5lA4YG/0D2QQc= -github.com/aws/aws-sdk-go-v2/service/efs v1.44.0/go.mod h1:Nyb6xjF/Vvm3xXuJziS4k/MlJjb45adQj2CoPwLbb0E= -github.com/aws/aws-sdk-go-v2/service/eks v1.90.0 h1:kllLzp3kjvTIfOnG9PzTE8ta2A11gqyriWTyfa4qptE= -github.com/aws/aws-sdk-go-v2/service/eks v1.90.0/go.mod h1:An9RTA4UKFFF18KYn9I8w6F7ejHsMUb2WKrWxFG7WQQ= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.0 h1:Dj7eWvPu87bRQdianlxaPfcjA4JySjS6WCWiU44bmKI= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.0/go.mod h1:WzxTahi1SdGTaZeojfBhMX/5Ykbqfkjf4n+zuvQaWks= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.1 h1:4KFrMyyOVeXiP4wiDaeevlV73qemxrMY1qN/pmW6My8= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.1/go.mod h1:8oLCSyyky75OpQ8Lo72GuoJXbeaEb1R8+dHgQOgWKaI= -github.com/aws/aws-sdk-go-v2/service/iam v1.56.0 h1:qMlfpx3Riusio6auCZEzO+2pSa60vIodTCHkKlR3Lrw= -github.com/aws/aws-sdk-go-v2/service/iam v1.56.0/go.mod h1:w1gyo7MshvXbLKPOLcsCn/TcvRQQRhZ7r7eS+cF6km4= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 h1:mbRIur/BiHK6SKPjoBIXSE/hJ6g6JGRLuxQy1jGjlN4= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.24 h1:mdPwDQPqxlw9Sc62Nt15yjEcARaDbPXkjRYtXsUripo= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.24/go.mod h1:ls5ytnwLTcQaUu32fMYXFI3MjpKuTwL840PAm9iqyEg= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.8 h1:kfgL0NvbseQBst36T3PaU+JiKTYwqxkpHThhFRplXmM= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.8/go.mod h1:UCK+9nv9zMfXlw6hZXcuXzqfPPHcN4tgy6eO1TkvaR8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 h1:w2SIhW92DZPFrSL4ksVCr8IYff5OZwIcxg8+95tzvAI= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31/go.mod h1:wAhpCQbkov+IcvjozJbd2xRCoZybUEHNkcFunssNACg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.32 h1:jWXtZdCnhXa9sGFixRaU2AxT4DIVse9HS4E2f+/KwV0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.32/go.mod h1:9JS1UpfVvyD/ZPX8GsKb/Pq8scEM+7GP5fqh9SwH7po= -github.com/aws/aws-sdk-go-v2/service/kms v1.55.0 h1:uB8ymkVosyourmGXCZHyWhJ4wuKA4xq3ii2dVMPtBZY= -github.com/aws/aws-sdk-go-v2/service/kms v1.55.0/go.mod h1:rK4RITSY/qJw3qVJ7p19fceOWuvrisqqOChFkX05n5I= -github.com/aws/aws-sdk-go-v2/service/lambda v1.99.0 h1:F5jW/w63W6/2/rwqhc1QzqiRYXb4PnKuMbrN1CqRrsQ= -github.com/aws/aws-sdk-go-v2/service/lambda v1.99.0/go.mod h1:gKWVtxlMTgoLU9m6FDw7z6FAEFh8u8CoaPJx0zWk5J8= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.64.0 h1:1FYNECIdUI4KqEgSPXsVnVSCgDB7PaeZy1562PtXyuw= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.64.0/go.mod h1:gDeH5Kkiu82PwBpF5sShVI8d33uEP7cIxF6LVDCHOZU= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.0 h1:QVliKGLeqgripfHL5BLJ8yZQZxE5pgerWiSEHuXNjgY= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.0/go.mod h1:cGU45vYhWnHp2FM6loLduCM2KGdfNb/0AdSMfhbcy9c= -github.com/aws/aws-sdk-go-v2/service/rds v1.123.0 h1:RZFP5elGZ7WRYuLScbx41DPUQaWfYadpywZij9z9p8U= -github.com/aws/aws-sdk-go-v2/service/rds v1.123.0/go.mod h1:3SltwJWYlbf00Rh02s42VpyHl+YMk34UA3+R/zb76dw= -github.com/aws/aws-sdk-go-v2/service/route53 v1.65.2 h1:/6WibgFHIQnBuP0PtWnz7NZ6DZ0/mN9ua5kruz7UXMA= -github.com/aws/aws-sdk-go-v2/service/route53 v1.65.2/go.mod h1:kg30QdUv8hG6jifkHp+F8448US9y9a+6xS2l5F8aa38= -github.com/aws/aws-sdk-go-v2/service/s3 v1.106.0 h1:7QZWVJZWzHivHWIa+5TELLaBBkbuoj0GPwQtMlJ0sqk= -github.com/aws/aws-sdk-go-v2/service/s3 v1.106.0/go.mod h1:fcvq5L7dK+5cQFicEJwpI6e6Wn8NY2i6yT5wRLYVc7s= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.0 h1:trHEFsuX3kTndC27azplXeKbPehlKhCWNvuDcLg34SM= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.0/go.mod h1:do4UiBA1bS3c+bUdHOTkuD3tutRiVq1gHgfao/2CyBc= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs= -github.com/aws/aws-sdk-go-v2/service/sns v1.42.0 h1:hE9mxcePgE1labOMy2zgkfy3KuxIk7P0DkJpAkd4vCw= -github.com/aws/aws-sdk-go-v2/service/sns v1.42.0/go.mod h1:xb3KrcS9KZApl6VZt+PWDjfGrutL6qaizkA+FAnRpYA= -github.com/aws/aws-sdk-go-v2/service/sqs v1.46.0 h1:hmBkpaSqCNPNSGks4L+/SD5oo/VVPdtt5+0KjeUyIXw= -github.com/aws/aws-sdk-go-v2/service/sqs v1.46.0/go.mod h1:EgXHMtblOlTumTlUcQpjLEjE5+Fcab4DOusy8KKGTcQ= -github.com/aws/aws-sdk-go-v2/service/ssm v1.73.0 h1:8AE9z5vMHNC7tQuaje8fSsNZyvj+0ttiQ2Ed/8rLBsc= -github.com/aws/aws-sdk-go-v2/service/ssm v1.73.0/go.mod h1:004bP6yJs8vdEpZwBT3H25GzleBVJYgeT2pPXkU4t4g= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 h1:CaJyYhxBE0M/HJX/YvSaSmQlsI91VHB0lKU8LtLxL3A= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.0/go.mod h1:+e6BMRMPjBQoCw/WovYR9GLy2IU0z4Q77smOB1DraSg= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 h1:tC323YV77QdafeBr6LUhLDTsboyuyHLNRwAyCP44kGU= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0/go.mod h1:SfLK1sgviHmbI+MozR9iDwDjL4cdCVZtahsjoR+z7wg= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78vpjFZ7PRUj44mJc= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg= -github.com/aws/smithy-go v1.27.4 h1:JQcphmBN4f0q/sPqXqROIItRNV/hy10cgu7CsFy616M= -github.com/aws/smithy-go v1.27.4/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= +github.com/aws/aws-sdk-go-v2 v1.43.3 h1:XJIcfv8uDs2ukdQsoAC8/Ebu1ejxwzlayl2ZsiFns2A= +github.com/aws/aws-sdk-go-v2 v1.43.3/go.mod h1:70vwSy16txshwG+g55WkpgPKDIByzHI8ccBsOteo3bQ= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 h1:aiuaKlDweRC5qExJondpWjOgyzMHpofpwspGXUtwn4c= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16/go.mod h1:nG/LOlmox9BDe9HvQnXWzgcK8uKbgBMZ/Hp5pVt/21I= +github.com/aws/aws-sdk-go-v2/config v1.32.34 h1:o+YAizrX562nEZXaB38uYTK8RvIsvW0uuRP+e5e0Pfk= +github.com/aws/aws-sdk-go-v2/config v1.32.34/go.mod h1:wc0zYRChOniiufvdWiRVf3jgXSgbkvaD683IHHHc2ZQ= +github.com/aws/aws-sdk-go-v2/credentials v1.19.33 h1:/e5V3EWfeDiW6cuRxHsC8gbwko4/vvVYPJR2afBKFFY= +github.com/aws/aws-sdk-go-v2/credentials v1.19.33/go.mod h1:ZxAmkcyOM9beY/WO9oxp2oVPXiP3rq5N1/p4NbenJdE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.34 h1:1EsGke6rTD2CG3j2MMVB77n6Q+FlbQWYI/dFdLWBNtM= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.34/go.mod h1:5B1Z/QbaWzqoWRzYxZfmCbDDRcvUHcfAIQw/S+KfDmc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34 h1:vuIfjzoeqhQMGJyOBU3t0ZEjn2jrN8Bbg1N4CgjzM5Q= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34/go.mod h1:hP28cN4CPJLZHirdQPrZR50JcLN4ApRJP2tzG8cRlhY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34 h1:9faHsnqxJ1vDvB4wMZy/ajIDyz5QhllQjjc72RJpXAw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34/go.mod h1:Yp6nIyejpa23nzlB/LhT63KTla9Jdi06nv/HH/OkAH8= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35 h1:Oe8gMKJLO5awqpa5EhAGKVnBv1s+brdWVuxM2mDa7zA= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35/go.mod h1:FZevcG9cOST/FWAAUhHIchjR9fXFXFRCWodOhx+PDLA= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.3 h1:vnfomuPPLg7/p9xqm0Nc6oYBdi0sWl1xUksUyDxpJpU= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.3/go.mod h1:XzqQmG/JL1ODamWc19W1A4oHHx7CPNTRSDox27KTmg0= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.3 h1:NHWLdTMC2N9d2GivFhLkjm5uXMYIG2uLIxJSN22N7Kk= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.3/go.mod h1:cVsUcfdue4Y9Myo4GreBtNJR1WSCtQAObTZOeuaLJlQ= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.3 h1:VLf1Mjng82ZrUfK3XUOpR9M4uyre7f2olsvwoH2u96c= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.3/go.mod h1:rXd0xdBVHME9nlNkOwjoSN94E1Qnc9VT3va6GCtc2Pk= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.2 h1:gB90d8G1wI5cWTky4P/FfMZov2iXTryUBeU/sSipFTU= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.2/go.mod h1:Wka5y0GBbGFTRQqpJy1lJiexNgvHaA7QUVOhNySlLSw= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.3 h1:qb9VXTmbz/qpBKiNsefiMOX3/iDXDLeV0TqZM4kySX4= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.3/go.mod h1:Yu7foqobkK2lURKuj5ELA1TpijRy5EC6LvEmmqwndHw= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.62.3 h1:DpQEvokO8q/qgifYKBXsDGSjng+j5JG0A4s75T4u1xs= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.62.3/go.mod h1:8HkdFkH/KcxfnzNYPtHibUZEejby7hwbqDUAoytEKZE= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.318.1 h1:h0YI+ocTZTy1QXcTDsKPa+/+kT1mA8z6mc5NZOhXHJw= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.318.1/go.mod h1:LXmcWkgEK0IfPd3dc3DI/bfMaP76AoWWaqYgh76Y2+A= +github.com/aws/aws-sdk-go-v2/service/ecs v1.89.3 h1:iqNL2awSrnAQWX0F0dCfva4pyi5GTy5Kb91eWliTwW8= +github.com/aws/aws-sdk-go-v2/service/ecs v1.89.3/go.mod h1:B6hK6Vdd7SSNFOwJ33qyAAF9+xvBkUzTxIC0ByxFFPM= +github.com/aws/aws-sdk-go-v2/service/efs v1.44.3 h1:kRHd7gEndJU+hW5C2xa3KCwcckg41Yq3X5GpubuSV44= +github.com/aws/aws-sdk-go-v2/service/efs v1.44.3/go.mod h1:ex8clv85muy5MfOHFkY6gke8snBuABspOAeyuaeyiyc= +github.com/aws/aws-sdk-go-v2/service/eks v1.90.3 h1:46DactFO7uoD/h0c4WFzw6oVACLhctcSJZ4eMPdany4= +github.com/aws/aws-sdk-go-v2/service/eks v1.90.3/go.mod h1:oPTAhd5Yclhh4wLbZkqA0o8rEzezH2fEknQlZSaiSsU= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.3 h1:jNBAu3+l1M8lHPsv8W/2VHrbiu1vY7jyjl9LCa7y1NQ= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.3/go.mod h1:26K7O1zypJYEmzv9bcfUwWIUvZGUD3CYyt/H6GnZk+Q= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.4 h1:qqtZrE6n95+ZSQSJXHFF/jescrB9m23k/Yd0OiOmx5o= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.4/go.mod h1:U/fP6c3Fizi99gPklFcOwpwi0HY+xH9ER3VKi6iby80= +github.com/aws/aws-sdk-go-v2/service/iam v1.57.1 h1:frtNexXj45Ko7pFfBKLyxObvNHefmL7vBeZid9uJCfU= +github.com/aws/aws-sdk-go-v2/service/iam v1.57.1/go.mod h1:9SLmFv7Y2prkDI20yPqNj0+YjG885BnqBExw/hekT5g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 h1:JJLBQxwY+AFwuPAi5ivGc1ChnTdUt4cXMv7e76m2c/Y= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15/go.mod h1:lQknBIe78MVL0cQOQDlag8KGflMbMEVFx9mB6O8ENvk= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27 h1:zwB6ltUc0UiyOsRQaMQ8jNLjKECbjhadCyl4hqV0y/c= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27/go.mod h1:ce9y+Y+hGLUyPKJZZJGoFLuFJNfCNuWZTujUJAsckQA= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.11 h1:K9HW1EvC/jJ1mDkxJD+AnWHDGyxT8JBysgUpvHYlqrU= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.11/go.mod h1:T1v0shPqzAuWdUfLc99+9B5EL5IVnjlGLFxpq9JABkk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34 h1:sYg4qHWLqsjp15PzX7XCOHSOgKEGoZ5vQY43VvZ1pas= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34/go.mod h1:N58SSz3roKf1HzW5qRaOiyk6MbDLTKgLPvlTfJ90iyI= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35 h1:ohfdSAm4TA6nryIY7mLqe4mnSIAnAreoAPBM81ZVoIM= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35/go.mod h1:uUjphnxMb3HH3vIiOHl4dH0fGNKL+csjqRQEabbfw5k= +github.com/aws/aws-sdk-go-v2/service/kms v1.55.3 h1:qS073F+cSl7QKstrm3Jb8D/XkKBWZ4zHdmRG/cmHLoU= +github.com/aws/aws-sdk-go-v2/service/kms v1.55.3/go.mod h1:l1gMRJ4UawrC6rpVWRz39pZxlyHID0VIS/YEEiLi4E8= +github.com/aws/aws-sdk-go-v2/service/lambda v1.101.1 h1:oHFp8DQrYyrJwZxqudtTGrpkBALE6ZOL3eZ0i76Ox2c= +github.com/aws/aws-sdk-go-v2/service/lambda v1.101.1/go.mod h1:k1AVJ0VnGlKJYVY138yVi7tIzCZKOK4KRf1H6Tu03vQ= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.66.0 h1:VrfvjFVgN2ZJZUvMBsW0YGW7hN3zsqdVYy/wpko9hkQ= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.66.0/go.mod h1:tR82E7iVkRt7zwjxj39m/TNt161xEH/pWuJFXtRhI0I= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.3 h1:GuRzsT644tA8S3YNXDH1vEZpWd1MCdAU9O23vazBz8Y= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.3/go.mod h1:MphID/jnBy5JDHGV0msPGOaCQiOjxnpykm9RgcbuBoA= +github.com/aws/aws-sdk-go-v2/service/rds v1.124.0 h1:VGrYY7725nq+LViSGHzVe9pzObQ+BB1mpdvM0thyqiY= +github.com/aws/aws-sdk-go-v2/service/rds v1.124.0/go.mod h1:Ks1zrhQ17nZjVi5aDLQOwu7dggjWE+/BwvwNUKYWD48= +github.com/aws/aws-sdk-go-v2/service/route53 v1.65.5 h1:7xzkFrCyOao5QI/mMb05RevNjL/T9ZWEkSfEP3x3BIk= +github.com/aws/aws-sdk-go-v2/service/route53 v1.65.5/go.mod h1:QeQx+SJDryB7/afSkkp2x0Thz4UO9PpxRvNBce9XlTY= +github.com/aws/aws-sdk-go-v2/service/s3 v1.106.3 h1:oSfubHEP3a0nTRAtm99IDaws0f15qwf+fOwS1Esh5jI= +github.com/aws/aws-sdk-go-v2/service/s3 v1.106.3/go.mod h1:lWk6L5Q3YkaC7so1bQUJkvF7hj2KUFzdZ4w15wc2GHY= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.3 h1:8jr0co+TFqeM2C1j9RS0ubb5fxN6uIIax7yI/12X7aI= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.3/go.mod h1:kfhzvChImSFuvbqUmqixFzQNLPI/Rq2obz3oqguYteI= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.3 h1:togAtAmgV5IGMnQDuBDJeM8z5Y5RN6G7xeOgphWz+Yc= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.3/go.mod h1:T7xKUUUvN7W3RW8UmMvKnD12xqh+Ux2gCPHPhnt64Dg= +github.com/aws/aws-sdk-go-v2/service/sns v1.42.3 h1:OwgPz7N9WoZKkyQBR6pF8GVDHM8zKbBeZen4g5d0SHE= +github.com/aws/aws-sdk-go-v2/service/sns v1.42.3/go.mod h1:+uKYi97m1oBOMreP1v10yHNWlNKKDXdCWaeVSgno6Z0= +github.com/aws/aws-sdk-go-v2/service/sqs v1.46.3 h1:JVu+hDylgSo054x2H/lGukAjxLCf/ER8lAWDL6wraQs= +github.com/aws/aws-sdk-go-v2/service/sqs v1.46.3/go.mod h1:u8maNFJyJolOQFpSAp8gP9nI+S/1WEEVddmvbedYIik= +github.com/aws/aws-sdk-go-v2/service/ssm v1.73.3 h1:JTiz9aeh+rkQ3ELrotd8CvXWVTapy9IPFm6svME3Ges= +github.com/aws/aws-sdk-go-v2/service/ssm v1.73.3/go.mod h1:YwhlK9qSePagsddmyD1TYLEfIgmz5A6bQfRnTLBIPl0= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.3 h1:YjH64OUytnWZBHUtM9GMyi4ZWBiSQdEJkZuPykOIe44= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.3/go.mod h1:5qoHcDZDTSJotoKk1bvVRPv1MXaL/NhfY9ng8D1g/ig= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.3 h1:A4o1di/XGaqtw6r3toSBrFX2U7mVSLqg7jo9wL4I+cU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.3/go.mod h1:sKuKz2kHtrGVtFu34vbM3LWSA9CKD9YZUmm6e5PPqRA= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.3 h1:Fi7+DiKN1+QphlajvE6FqeZ8GRbnnRul7zTdUiRpbGc= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.3/go.mod h1:KCc3e27fHZUGtzpek7wZcp6dyCpGkJJo/+3PBujh/yU= +github.com/aws/smithy-go v1.27.6 h1:0zjT8jgK3jbrTT7JJ3EE6JsMhX8JTrZ+f1sEndYDXrA= +github.com/aws/smithy-go v1.27.6/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0/go.mod h1:6L7zgvqo0idzI7IO8de6ZC051AfXb5ipkIJ7bIA2tGA= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= From 417ea87866568cb38c18bc3945b4bc7642259be1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2026 17:06:26 +0000 Subject: [PATCH 17/36] fix(deps): update go (#6173) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/1password/onepassword-sdk-go](https://redirect.github.com/1password/onepassword-sdk-go) | `v0.4.0` → `v0.4.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2f1password%2fonepassword-sdk-go/v0.4.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2f1password%2fonepassword-sdk-go/v0.4.0/v0.4.1?slim=true) | | [github.com/auth0/go-jwt-middleware/v3](https://redirect.github.com/auth0/go-jwt-middleware) | `v3.2.0` → `v3.3.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fauth0%2fgo-jwt-middleware%2fv3/v3.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fauth0%2fgo-jwt-middleware%2fv3/v3.2.0/v3.3.0?slim=true) | | [github.com/go-git/go-git/v5](https://redirect.github.com/go-git/go-git) | `v5.19.1` → `v5.19.2` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.19.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.19.1/v5.19.2?slim=true) | | [github.com/google/cel-go](https://redirect.github.com/google/cel-go) | `v0.29.2` → `v0.30.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fcel-go/v0.30.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fcel-go/v0.29.2/v0.30.0?slim=true) | | [github.com/goreleaser/goreleaser/v2](https://redirect.github.com/goreleaser/goreleaser) | `v2.17.0` → `v2.17.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.17.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoreleaser%2fgoreleaser%2fv2/v2.17.0/v2.17.1?slim=true) | | [github.com/harness/harness-go-sdk](https://redirect.github.com/harness/harness-go-sdk) | `v0.8.14` → `v0.8.15` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fharness%2fharness-go-sdk/v0.8.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fharness%2fharness-go-sdk/v0.8.14/v0.8.15?slim=true) | | [github.com/modelcontextprotocol/go-sdk](https://redirect.github.com/modelcontextprotocol/go-sdk) | `v1.6.1` → `v1.7.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmodelcontextprotocol%2fgo-sdk/v1.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmodelcontextprotocol%2fgo-sdk/v1.6.1/v1.7.0?slim=true) | | [github.com/openai/openai-go/v3](https://redirect.github.com/openai/openai-go) | `v3.46.0` → `v3.49.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopenai%2fopenai-go%2fv3/v3.49.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopenai%2fopenai-go%2fv3/v3.46.0/v3.49.0?slim=true) | | [github.com/resend/resend-go/v3](https://redirect.github.com/resend/resend-go) | `v3.11.0` → `v3.12.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fresend%2fresend-go%2fv3/v3.12.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fresend%2fresend-go%2fv3/v3.11.0/v3.12.0?slim=true) | | [gitlab.com/gitlab-org/api/client-go/v2](https://gitlab.com/gitlab-org/api/client-go) | `v2.51.0` → `v2.55.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv2/v2.55.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv2/v2.51.0/v2.55.1?slim=true) | | [go.yaml.in/yaml/v3](https://redirect.github.com/yaml/go-yaml) | `v3.0.4` → `v3.0.5` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.yaml.in%2fyaml%2fv3/v3.0.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.yaml.in%2fyaml%2fv3/v3.0.4/v3.0.5?slim=true) | | [google.golang.org/grpc](https://redirect.github.com/grpc/grpc-go) | `v1.82.1` → `v1.83.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.83.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.82.1/v1.83.0?slim=true) | | [mvdan.cc/gofumpt](https://redirect.github.com/mvdan/gofumpt) | `v0.10.0` → `v0.11.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/mvdan.cc%2fgofumpt/v0.11.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/mvdan.cc%2fgofumpt/v0.10.0/v0.11.0?slim=true) | | riverqueue.com/riverui | `v0.16.0` → `v0.17.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/riverqueue.com%2friverui/v0.17.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/riverqueue.com%2friverui/v0.16.0/v0.17.0?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
1password/onepassword-sdk-go (github.com/1password/onepassword-sdk-go) ### [`v0.4.1`](https://redirect.github.com/1Password/onepassword-sdk-go/releases/tag/v0.4.1): Release 0.4.1 [Compare Source](https://redirect.github.com/1password/onepassword-sdk-go/compare/v0.4.0...v0.4.1) ### 1Password Go SDK v0.4.1 #### NEW - **1Password Environment access:** The SDK can now read variables from a 1Password Environment. #### IMPROVED - **Documentation:** The README now covers desktop app authentication and an updated list of supported functionality. Example code and comments are consistent with the other 1Password SDKs. - **Terms of Service:** The README now links the terms of service that apply to the 1Password APIs/SDKs. #### FIXED - **CGO handling:** The SDK now builds with `CGO_ENABLED=0`. CGO is only required for Desktop App Integration.
auth0/go-jwt-middleware (github.com/auth0/go-jwt-middleware/v3) ### [`v3.3.0`](https://redirect.github.com/auth0/go-jwt-middleware/blob/HEAD/CHANGELOG.md#v330-2026-07-31) [Compare Source](https://redirect.github.com/auth0/go-jwt-middleware/compare/v3.2.0...v3.3.0) [Full Changelog](https://redirect.github.com/auth0/go-jwt-middleware/compare/v3.2.0...v3.3.0) **Added** - feat(validator): parse and expose On-Behalf-Of / Token Exchange claims per RFC 8693 [#​407](https://redirect.github.com/auth0/go-jwt-middleware/pull/407) ([developerkunal](https://redirect.github.com/developerkunal)) **Fixed** - fix(validator): select JWKS keys that omit the optional alg member [#​426](https://redirect.github.com/auth0/go-jwt-middleware/pull/426) ([developerkunal](https://redirect.github.com/developerkunal))
go-git/go-git (github.com/go-git/go-git/v5) ### [`v5.19.2`](https://redirect.github.com/go-git/go-git/releases/tag/v5.19.2) [Compare Source](https://redirect.github.com/go-git/go-git/compare/v5.19.1...v5.19.2) #### What's Changed - build: Update module golang.org/x/crypto to v0.52.0 \[SECURITY] (releases/v5.x) by [@​go-git-renovate](https://redirect.github.com/go-git-renovate)\[bot] in [#​2150](https://redirect.github.com/go-git/go-git/pull/2150) - build: Update module github.com/go-git/go-git/v5 to v5.19.1 \[SECURITY] (releases/v5.x) by [@​go-git-renovate](https://redirect.github.com/go-git-renovate)\[bot] in [#​2141](https://redirect.github.com/go-git/go-git/pull/2141) - build: Update module golang.org/x/net to v0.55.0 \[SECURITY] (releases/v5.x) by [@​go-git-renovate](https://redirect.github.com/go-git-renovate)\[bot] in [#​2152](https://redirect.github.com/go-git/go-git/pull/2152) - git: Worktree: Add stores index entires with backslashes on Windows by [@​joshblum](https://redirect.github.com/joshblum) in [#​2262](https://redirect.github.com/go-git/go-git/pull/2262) - storage: dotgit, reject path traversal in reference names by [@​pjbgf](https://redirect.github.com/pjbgf) in [#​2254](https://redirect.github.com/go-git/go-git/pull/2254) - build: Update module golang.org/x/net to v0.56.0 \[SECURITY] (releases/v5.x) by [@​go-git-renovate](https://redirect.github.com/go-git-renovate)\[bot] in [#​2267](https://redirect.github.com/go-git/go-git/pull/2267) - build: Update module golang.org/x/text to v0.39.0 \[SECURITY] (releases/v5.x) by [@​go-git-renovate](https://redirect.github.com/go-git-renovate)\[bot] in [#​2268](https://redirect.github.com/go-git/go-git/pull/2268) - \[v5] git: worktree, make the filesystem wrapper a symlink-safe boundary by [@​pjbgf](https://redirect.github.com/pjbgf) in [#​2277](https://redirect.github.com/go-git/go-git/pull/2277) **Full Changelog**:
google/cel-go (github.com/google/cel-go) ### [`v0.30.0`](https://redirect.github.com/cel-expr/cel-go/releases/tag/v0.30.0) [Compare Source](https://redirect.github.com/google/cel-go/compare/v0.29.2...v0.30.0) #### What's Changed - Add cost tracking for encoders by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1354](https://redirect.github.com/cel-expr/cel-go/pull/1354) - Fix syntax error at head by [@​stanleyycheung](https://redirect.github.com/stanleyycheung) in [cel-expr#1362](https://redirect.github.com/cel-expr/cel-go/pull/1362) - Prevent indexing on sentinel json field '-' by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1349](https://redirect.github.com/cel-expr/cel-go/pull/1349) - Async function execution internals by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1355](https://redirect.github.com/cel-expr/cel-go/pull/1355) - reject non-RFC3339 timestamp strings in timestamp() conversion by [@​alhudz](https://redirect.github.com/alhudz) in [cel-expr#1338](https://redirect.github.com/cel-expr/cel-go/pull/1338) - Add depth validation for ASTs loaded through ParsedExprToAst / Checke... by [@​wilyan09007](https://redirect.github.com/wilyan09007) in [cel-expr#1334](https://redirect.github.com/cel-expr/cel-go/pull/1334) - Fix non-determinism in json encoding, add dummy 'infinite' costs by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1365](https://redirect.github.com/cel-expr/cel-go/pull/1365) - Update lists library cost computations for improved accuracy by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1352](https://redirect.github.com/cel-expr/cel-go/pull/1352) - Cost library for ext/network by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1345](https://redirect.github.com/cel-expr/cel-go/pull/1345) - Introduce async DrainStrategy, DrainAction, Observer, and Call types by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1364](https://redirect.github.com/cel-expr/cel-go/pull/1364) - Graceful NaN ordering by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1370](https://redirect.github.com/cel-expr/cel-go/pull/1370) - Fix constant folding and local variable resolution by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1371](https://redirect.github.com/cel-expr/cel-go/pull/1371) - Concurrent Eval with context.Context bound functions by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1369](https://redirect.github.com/cel-expr/cel-go/pull/1369) - Async timeout and retry wrappers by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1367](https://redirect.github.com/cel-expr/cel-go/pull/1367) - Add runnable examples for all expressions in celbyexample.com by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1373](https://redirect.github.com/cel-expr/cel-go/pull/1373) - Ensure logical operator fold expressions are bool by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1380](https://redirect.github.com/cel-expr/cel-go/pull/1380) - Fix unsound constant folding of `x in [x]` for NaN values by [@​pranit0808](https://redirect.github.com/pranit0808) in [cel-expr#1374](https://redirect.github.com/cel-expr/cel-go/pull/1374) - copy operands in Bytes.Add to avoid aliasing the receiver by [@​pranit0808](https://redirect.github.com/pranit0808) in [cel-expr#1381](https://redirect.github.com/cel-expr/cel-go/pull/1381) - Validation of cel.bind() nesting limits by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1378](https://redirect.github.com/cel-expr/cel-go/pull/1378) - Allow validators to be reconfigured by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1379](https://redirect.github.com/cel-expr/cel-go/pull/1379) - Add cost tracking to ext/math.go by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1353](https://redirect.github.com/cel-expr/cel-go/pull/1353) - Expression node limits for parser and checker by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1386](https://redirect.github.com/cel-expr/cel-go/pull/1386) #### New Contributors - [@​stanleyycheung](https://redirect.github.com/stanleyycheung) made their first contribution in [cel-expr#1362](https://redirect.github.com/cel-expr/cel-go/pull/1362) - [@​wilyan09007](https://redirect.github.com/wilyan09007) made their first contribution in [cel-expr#1334](https://redirect.github.com/cel-expr/cel-go/pull/1334) - [@​pranit0808](https://redirect.github.com/pranit0808) made their first contribution in [cel-expr#1374](https://redirect.github.com/cel-expr/cel-go/pull/1374) **Full Changelog**:
goreleaser/goreleaser (github.com/goreleaser/goreleaser/v2) ### [`v2.17.1`](https://redirect.github.com/goreleaser/goreleaser/releases/tag/v2.17.1) [Compare Source](https://redirect.github.com/goreleaser/goreleaser/compare/v2.17.0...v2.17.1) #### Announcement Read the official announcement: [Announcing GoReleaser v2.17](https://goreleaser.com/blog/goreleaser-v2.17/). #### Changelog ##### Bug fixes - [`a734383`](https://redirect.github.com/goreleaser/goreleaser/commit/a734383d9f8d74f689097dbfd3c1086b3f56648f): fix(builder/go): parse GORISCV64 and GOPPC64 for riscv64 and ppc64le targets ([#​6698](https://redirect.github.com/goreleaser/goreleaser/issues/6698)) ([@​upuddu](https://redirect.github.com/upuddu)) - [`dfc7f06`](https://redirect.github.com/goreleaser/goreleaser/commit/dfc7f06a53441d9f0adb6f03e8f7afc2281f6d5d): fix(builders/go): sort targets ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`7630cd1`](https://redirect.github.com/goreleaser/goreleaser/commit/7630cd166fb4dbad0a29ea23cf5e941b66f72b09): fix(deps): go1.26.5 ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`9dbb266`](https://redirect.github.com/goreleaser/goreleaser/commit/9dbb2668c0e9a5bac1e14689f1024b2a7c741bc9): fix(notary): poll notarization status every 10s, not 10ns ([#​6726](https://redirect.github.com/goreleaser/goreleaser/issues/6726)) ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`1ebf881`](https://redirect.github.com/goreleaser/goreleaser/commit/1ebf881316f6c86be9d76b62026cca52d81e3480): fix: anchor goarm64 validation regex to reject invalid values ([#​6727](https://redirect.github.com/goreleaser/goreleaser/issues/6727)) ([@​semx](https://redirect.github.com/semx)) - [`70f6921`](https://redirect.github.com/goreleaser/goreleaser/commit/70f6921451146e62685da01bec4438dabe06bc22): fix: migrate from deprecated s3/manager to s3/transfermanager ([#​6706](https://redirect.github.com/goreleaser/goreleaser/issues/6706)) ([@​joeyberkovitz](https://redirect.github.com/joeyberkovitz)) ##### Documentation updates - [`eafb0ec`](https://redirect.github.com/goreleaser/goreleaser/commit/eafb0ec65125ea4bbc408e19e26886ed95715e2a): docs(users): update charm domain ([#​6699](https://redirect.github.com/goreleaser/goreleaser/issues/6699)) ([@​andreynering](https://redirect.github.com/andreynering)) - [`ae4debb`](https://redirect.github.com/goreleaser/goreleaser/commit/ae4debbe4383dcc565f9251df2ea719501b8d9ea): docs: add /.well-known/security.txt (RFC 9116) ([#​6710](https://redirect.github.com/goreleaser/goreleaser/issues/6710)) ([@​kobihikri](https://redirect.github.com/kobihikri)) - [`d3764c8`](https://redirect.github.com/goreleaser/goreleaser/commit/d3764c8bc8e6bc316ddf4032f0faa9e25c6fd98e): docs: fix typo ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`742ae5f`](https://redirect.github.com/goreleaser/goreleaser/commit/742ae5fc647cb61e689d333a4a15ec9dea8b5907): docs: move images to a bucket ([#​6691](https://redirect.github.com/goreleaser/goreleaser/issues/6691)) ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`55a466e`](https://redirect.github.com/goreleaser/goreleaser/commit/55a466e7fa9980ff75c206b8f98781652607ec38): docs: publish to GitLab package registries with the http upload pipe ([#​6697](https://redirect.github.com/goreleaser/goreleaser/issues/6697)) ([@​ajuijas](https://redirect.github.com/ajuijas)) - [`65240d8`](https://redirect.github.com/goreleaser/goreleaser/commit/65240d83f56f7de80716a62600c36178900c7d09): docs: update users ([@​caarlos0](https://redirect.github.com/caarlos0)) ##### Other work - [`0eb5b0f`](https://redirect.github.com/goreleaser/goreleaser/commit/0eb5b0fd4e5e03a0de538812a7ca607c0ceadfa8): chore(ci): update dependabot config ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`4bcb2a5`](https://redirect.github.com/goreleaser/goreleaser/commit/4bcb2a5c80de731d6ca1cee7e457ca70efc22c31): chore(ci): update deps ([@​caarlos0](https://redirect.github.com/caarlos0)) - [`5f3f435`](https://redirect.github.com/goreleaser/goreleaser/commit/5f3f435f8856eacc4ee715ba8611d344790c68df): chore: auto-update generated files ([#​6693](https://redirect.github.com/goreleaser/goreleaser/issues/6693)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`9b85924`](https://redirect.github.com/goreleaser/goreleaser/commit/9b859248b101e24e6926db9e582472cfd1680ad1): chore: auto-update generated files ([#​6694](https://redirect.github.com/goreleaser/goreleaser/issues/6694)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`1aab79e`](https://redirect.github.com/goreleaser/goreleaser/commit/1aab79e70a1df58ec44741d6af64ff146d545eed): chore: auto-update generated files ([#​6700](https://redirect.github.com/goreleaser/goreleaser/issues/6700)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`11d0150`](https://redirect.github.com/goreleaser/goreleaser/commit/11d0150499154f03cdb849387f7d95fe00e89e0d): chore: auto-update generated files ([#​6705](https://redirect.github.com/goreleaser/goreleaser/issues/6705)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`5747ca7`](https://redirect.github.com/goreleaser/goreleaser/commit/5747ca742e182dabc45037271f8274baca40318b): chore: auto-update generated files ([#​6707](https://redirect.github.com/goreleaser/goreleaser/issues/6707)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`83f4c19`](https://redirect.github.com/goreleaser/goreleaser/commit/83f4c19a5c5c0b9efef6bf2aedc6805bbcb9dfe2): chore: auto-update generated files ([#​6730](https://redirect.github.com/goreleaser/goreleaser/issues/6730)) ([@​goreleaserbot](https://redirect.github.com/goreleaserbot)) - [`f3a0e63`](https://redirect.github.com/goreleaser/goreleaser/commit/f3a0e631432afe54de6325935072b652cdac6039): chore: svu config ([@​caarlos0](https://redirect.github.com/caarlos0)) **Full Changelog**: #### Helping out This release is only possible thanks to **all** the support of some **awesome people**! Want to be one of them? You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro License](https://goreleaser.com/pro) or [contribute with code](https://goreleaser.com/contributing). #### Where to go next? - Find examples and commented usage of all options in our [website](https://goreleaser.com/intro/). - Reach out on [Discord](https://discord.gg/RGEBtg8vQ6), [Twitter](https://twitter.com/goreleaser), and [Telegram](https://t.me/goreleasernews)! GoReleaser logo
harness/harness-go-sdk (github.com/harness/harness-go-sdk) ### [`v0.8.15`](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.14...v0.8.15) [Compare Source](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.14...v0.8.15)
modelcontextprotocol/go-sdk (github.com/modelcontextprotocol/go-sdk) ### [`v1.7.0`](https://redirect.github.com/modelcontextprotocol/go-sdk/releases/tag/v1.7.0) [Compare Source](https://redirect.github.com/modelcontextprotocol/go-sdk/compare/v1.6.1...v1.7.0) This release brings full support for protocol version **`2026-07-28`**. The wire protocol is largely rewritten: a stateless model with per-request `_meta`, a new `server/discover` RPC replacing the `initialize` handshake, multi-round-trip requests (MRTR) replacing server-initiated calls, a unified `subscriptions/listen` stream replacing free-floating change notifications, standardised HTTP headers, and the formal deprecation of the roots, sampling, and logging features. The streamable HTTP transport accepts requests at protocol version `2026-07-28` only when `StreamableHTTPOptions.Stateless = true`. If you want to expose the new protocol over HTTP, set `Stateless = true`; if you want to keep stateful sessions, your clients will negotiate down to `2025-11-25`. Backward compatibility with `2025-11-25` and earlier is preserved on every endpoint. The SDK negotiates the highest mutually-supported version at connect time. The new protocol is enabled by default for new clients; existing legacy clients and servers continue to work unchanged. This release consolidates everything shipped in `v1.7.0-pre.1`, `v1.7.0-pre.2`, and `v1.7.0-pre.3`. Thank you to everyone who exercised the pre-releases and filed feedback. `v1.7.0-pre.3` is already [successfully used](https://github.blog/changelog/2026-07-23-github-mcp-server-supports-the-next-mcp-specification/) by GitHub, serving more than half a million users. #### Make MCP Stateless ([SEP-2575](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2575)) & Sessionless ([SEP-2567](https://modelcontextprotocol.io/seps/2567-sessionless-mcp)) The `initialize`/`notifications/initialized` handshake is removed in `2026-07-28`. Each request now carries `_meta.io.modelcontextprotocol/{protocolVersion,clientInfo,clientCapabilities}` so the server can validate the peer without state. A new `server/discover` RPC lets clients learn the server's supported versions and capabilities up front; the SDK falls back to legacy `initialize` if discover fails. Resumability (`Last-Event-ID`, standalone GET) is removed; `ping`, `logging/setLevel`, `resources/subscribe`, and `resources/unsubscribe` are also removed on this revision and rejected with `MethodNotFound`. - mcp: Implement support for SEP-2575 on client side by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​975](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/975)) - mcp: Implement server-side support for discover method (SEP-2575) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​987](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/987)) - mcp: Implement stateless server (SEP-2575) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​965](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/965)) - mcp: add support for logging level (SEP-2575) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​997](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/997)) - mcp: Remove resumability and introduce `MissingRequiredClientCapability` error data by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1005](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1005)) - mcp: remove session header handling in stateless mode by [@​maciej-kisiel](https://redirect.github.com/maciej-kisiel) ([#​952](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/952)) - mcp: do not call DELETE for sessionless & doc adjustments by [@​maciej-kisiel](https://redirect.github.com/maciej-kisiel) ([#​960](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/960)) - mcp: Implement retry on advised supportedVersions in `UnsupportedProtocolVersion` error by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​989](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/989)) - mcp: Enable legacy initialize fallback on any error by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1014](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1014)) #### Subscriptions listen ([SEP-2575](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2575)) The legacy `tools/list_changed`, `prompts/list_changed`, `resources/list_changed`, and `resources/updated` notifications are replaced by a single long-lived `subscriptions/listen` request whose response stream multiplexes every change notification the client opted into, each tagged with `io.modelcontextprotocol/subscriptionId`. The SDK opens this stream automatically on `Client.Connect` when the corresponding list-changed handler is set; servers route notifications only to subscribed sessions. - mcp: Implement `subscriptions/listen` rpc (SEP-2575) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1007](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1007)) - mcp: refactor notification of subscribed sessions by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1018](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1018)) #### Multi Round-Trip Requests ([SEP-2322](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2322)) Server-to-client requests for elicitation, sampling, and roots are no longer issued as fresh JSON-RPC requests. Instead a tool/prompt/resource handler returns an `InputRequiredResult` whose `inputRequests` field carries the requests; the client fulfils each and retries the original call with `inputResponses` populated. The SDK ships client- and server-side middleware that handles this transparently in both directions, including a server-side compatibility shim that lets MRTR handlers also work against legacy clients. - feat: multi-round-trip request implementation (SEP-2322) by [@​yarolegovich](https://redirect.github.com/yarolegovich) ([#​950](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/950)) #### Cacheable list results ([SEP-2549](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2549)) `tools/list`, `prompts/list`, `resources/list`, `resources/templates/list`, `resources/read`, and `server/discover` results now carry `ttlMs` and `cacheScope` fields. Clients honour them as freshness hints to reduce polling; shared intermediaries use `cacheScope` to decide whether responses may be cached. - mcp: add ttl for list results (SEP-2549) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1008](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1008)) - mcp: add Cacheable fields to `DiscoverResult` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1022](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1022)) #### HTTP standardization ([SEP-2243](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2243)) The streamable HTTP transport now mirrors selected fields from the JSON-RPC body into HTTP headers (`Mcp-Method`, `Mcp-Name`, `Mcp-Protocol-Version`, `Mcp-Param-*`) so network intermediaries can route and observe MCP traffic without deep packet inspection. Tools can declare per-parameter passthrough via `x-mcp-header` annotations on their input schema. Body↔header mismatches return `-32020 HeaderMismatch`. - mcp: HTTP Header Standardization for `x-mcp-header` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​915](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/915)) - mcp: fix http-standardization (SEP-2243) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1010](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1010)) #### Deprecation of roots, sampling, and logging ([SEP-2577](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2577)) Roots, sampling, and logging are formally deprecated on the `2026-07-28` revision. The SDK continues to expose the corresponding Go types for backward compatibility with older peers, but new servers should not rely on them. - mcp: Deprecate roots, sampling and logging (SEP-2577) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1017](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1017)) #### Behavior changes guarded by MCPGODEBUG Seven escape-hatch flags are added in this release to restore behavior that changed as part of spec-compliance fixes. All will be removed in **v1.9.0**. - **`customresnotfounderrcode=1`** — restore the old `-32002` code for `ResourceNotFoundError`. - **`hintomitempty=1`** — restore `omitempty` on `ToolAnnotations.ReadOnlyHint` and `IdempotentHint`. The default now always serializes these fields because the Go types are bare `bool` (not `*bool`), so omitting `false` made it indistinguishable from "unset". - **`allowsessionsinstateless=1`** — restore session-id handling on stateless streamable HTTP servers (read/write `Mcp-Session-Id`, accept `DELETE`). The default behavior is now what the spec requires: stateless servers ignore session IDs entirely and return `405 Method Not Allowed` for `DELETE`. - **`nomethodnotfoundcodeinerror=1`** — restore the previous STDIO behavior where the JSON-RPC `MethodNotFound` (`-32601`) code is omitted from the error response for unhandled methods. The default now includes the code. - **`noprotocolerrorbody=1`** — restore the previous streamable HTTP client behavior of not decoding the JSON-RPC error body of a non-2xx HTTP response. The default now surfaces the underlying JSON-RPC error. - **`nowrapinvalidparams=1`** — restore the previous behavior of returning raw `unmarshalParams` errors from receiving handlers instead of wrapping them as a JSON-RPC `-32602 Invalid params` error. Introduced by [#​1087](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1087). - **`disablecompleteparamsvalidation=1`** — restore the previous behavior of accepting `completion/complete` responses without validating the presence of the `completion` params object. Introduced by [#​1080](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1080). #### Other Changes to the SDK Streamable HTTP transport: - mcp: allow opt-in to cancel handler ctx on aborted POST by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1099](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1099)) - mcp: enforce body size limit in Streamable connection by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1055](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1055)) - mcp: close HTTP response body from DELETE request in `streamableClientConn.Close` by [@​blackwell-systems](https://redirect.github.com/blackwell-systems) ([#​929](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/929)) - mcp: write SSE comment on standalone stream so HTTP/2 reverse proxies flush HEADERS frame by [@​jchangx](https://redirect.github.com/jchangx) ([#​938](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/938)) - mcp: refactor streamable handler control flow by [@​maciej-kisiel](https://redirect.github.com/maciej-kisiel) ([#​949](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/949)) - mcp: add MCPGODEBUG for opt-in Content-Type check by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1012](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1012)) - fix: prevent duplicate in-flight request IDs by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1011](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1011)) - fix: reject duplicate initialize requests by [@​he-yufeng](https://redirect.github.com/he-yufeng) ([#​962](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/962)) - fix(jsonrpc2): decode requests when method key is present by [@​piyushbag](https://redirect.github.com/piyushbag) ([#​1000](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1000)) Custom methods and MCPGODEBUG-guarded fixes: - mcp: Allow registration of custom JSON-RPC methods by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​956](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/956)) - mcp: wrap `unmarshalParams` with jsonrpc error by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1087](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1087)) - mcp: add param check for `CompleteResult` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1080](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1080)) Additional spec-compliance fixes: - mcp: update return meta in `DiscoverResult` (SEP-2575) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1097](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1097)) - mcp: add return type to `subscriptions/listen` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1088](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1088)) - mcp: reject calls to `server/discover` for `<2026-07-28` requests by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1084](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1084)) - mcp: include `resultType` on new-protocol responses by [@​ychampion](https://redirect.github.com/ychampion) ([#​1060](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1060)) - mcp: infer elicit mode from `ElicitParams` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1078](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1078)) - mcp: do not `ApplyDefault` when `res.Content == nil` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1069](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1069)) - mcp: do not exclude Notifications from carrying `InitializeParams` in Meta by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1049](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1049)) - mcp: cap negotiated `protocolVersion` in legacy initialize to `protocolVersion20251125` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1051](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1051)) - mcp: make `NotificationSubscriptions` a mandatory field by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1050](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1050)) - mcp: do not enforce TTL on cached tool by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1053](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1053)) - mcp: block server-initiated requests (SEP-2322) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1057](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1057)) - fix: extra wrapper for input response map by [@​yarolegovich](https://redirect.github.com/yarolegovich) ([#​1045](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1045)) - fix: do not `omitempty` `ReadOnlyHint` in `ToolAnnotations` by [@​pvlbzn](https://redirect.github.com/pvlbzn) ([#​908](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/908)) - fix: add implementation description metadata by [@​he-yufeng](https://redirect.github.com/he-yufeng) ([#​981](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/981)) - fix(mcp): prevent SIGSEGV in `AddTool` when schema is nil by [@​wucm667](https://redirect.github.com/wucm667) ([#​918](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/918)) - mcp: `tool.InputSchema` and `tool.OutputSchema` validation (SEP-2106) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1009](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1009)) - mcp: update JSON-RPC error codes to align with updated MCP specification by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1016](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1016)) - mcp: bump protocol version from `2026-06-30` to `2026-07-28` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1015](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1015)) - mcp: add `2026-07-28` to the supported protocol versions by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1020](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1020)) - mcp: derive Mcp-Protocol-Version header from the outgoing message by \[[@​jan-xyz](https://redirect.github.com/jan-xyz)] Auth and OAuth: - auth: support OAuth2 session persistence by [@​smlx](https://redirect.github.com/smlx) ([#​1058](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1058)) - mcp: align resource not found error code with [SEP-2164](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2164) by [@​yarolegovich](https://redirect.github.com/yarolegovich) ([#​931](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/931)) - mcp: OIDC-Flavored Refresh Token Guidance ([SEP-2207](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2207)) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​939](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/939)) - mcp: add client-side scope accumulation ([SEP-2350](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2350)) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​944](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/944)) - mcp: add optional issuer validator for pre-registered client validation ([SEP-2352](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2352)) by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​946](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/946)) - auth: issuer mix-up mitigation ([SEP-2468](https://redirect.github.com/modelcontextprotocol/modelcontextprotocol/pull/2468)) by [@​max-stytch](https://redirect.github.com/max-stytch) ([#​859](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/859)) - auth: compare auth server metadata issuer ignoring trailing slash by [@​gainsley](https://redirect.github.com/gainsley) ([#​955](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/955)) - auth: bind refreshing token source to a background context, not the request ctx by [@​toabctl](https://redirect.github.com/toabctl) ([#​988](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/988)) - auth: add `ClockSkew` option to `RequireBearerTokenOptions` by [@​BorisTyshkevich](https://redirect.github.com/BorisTyshkevich) ([#​969](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/969)) - auth: add `AllowMissingExpiration` option to `RequireBearerTokenOptions` by [@​BorisTyshkevich](https://redirect.github.com/BorisTyshkevich) ([#​971](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/971)) - oauthex: add `MatchesResource` helper (RFC 9728/8707 audience comparison) by [@​BorisTyshkevich](https://redirect.github.com/BorisTyshkevich) ([#​970](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/970)) - fix: handle `oauth2.RetrieveError` during token refresh by [@​smlx](https://redirect.github.com/smlx) ([#​917](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/917)) Session, keepalive and misc: - mcp: use `golang.org/x/time/rate` for `LoggingHandler` rate limiting by [@​wucm667](https://redirect.github.com/wucm667) ([#​927](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/927)) - mcp: add configurable keepalive failure threshold by [@​tdabasinskas](https://redirect.github.com/tdabasinskas) ([#​982](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/982)) - mcp: remove outdated comment by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1003](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1003)) Conformance tests, documentation and CI: - mcp: add integration for server conformance tests by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1054](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1054)) - mcp: add conformance tests on client by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1063](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1063)) - mcp: Upgrade conformance test to latest available deployment by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1021](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1021)) - mcp: add documentation for new protocol version by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1019](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1019)) - mcp: update docs references by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1023](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1023)) - docs: update docs by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1089](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1089)) - docs: update `troubleshoot.md` to include `resultType` by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1081](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1081)) - ci: update dependabot rules by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1059](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1059)) - ci: fix nightly runs by [@​guglielmo-san](https://redirect.github.com/guglielmo-san) ([#​1086](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1086)) - build(deps): bump `github/codeql-action` from 4.35.1 to 4.35.2 by [@​dependabot](https://redirect.github.com/dependabot) ([#​922](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/922)) - build(deps): bump `github/codeql-action` from 4.35.2 to 4.36.0 by [@​dependabot](https://redirect.github.com/dependabot) ([#​986](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/986)) - build(deps): bump the codeql-action group with 3 updates by [@​dependabot](https://redirect.github.com/dependabot) ([#​1064](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1064)) - build(deps): bump `actions/cache` from 5.0.4 to 5.0.5 by [@​dependabot](https://redirect.github.com/dependabot) ([#​923](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/923)) - build(deps): bump `actions/cache` from 5.0.5 to 6.1.0 by [@​dependabot](https://redirect.github.com/dependabot) ([#​1065](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1065)) - build(deps): bump `actions/setup-node` from 6.3.0 to 6.4.0 by [@​dependabot](https://redirect.github.com/dependabot) ([#​921](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/921)) - build(deps): bump `actions/upload-artifact` from 7.0.0 to 7.0.1 by [@​dependabot](https://redirect.github.com/dependabot) ([#​920](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/920)) - build(deps): bump `actions/checkout` from 6.0.2 to 7.0.0 by [@​dependabot](https://redirect.github.com/dependabot) ([#​1040](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1040)) - build(deps): bump `actions/setup-python` from 6.2.0 to 6.3.0 by [@​dependabot](https://redirect.github.com/dependabot) ([#​1038](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1038)) - build(deps): bump `actions/setup-go` from 6.4.0 to 6.5.0 by [@​dependabot](https://redirect.github.com/dependabot) ([#​1066](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1066)) - build(deps): bump `github/codeql-action/upload-sarif` from 4.36.0 to 4.36.2 by [@​dependabot](https://redirect.github.com/dependabot) ([#​1039](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1039)) #### New Contributors - [@​MatyasVondraOutreach](https://redirect.github.com/MatyasVondraOutreach) made their first contribution in [#​877](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/877) - [@​rafaeljusto](https://redirect.github.com/rafaeljusto) made their first contribution in [#​878](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/878) - [@​begelundmuller](https://redirect.github.com/begelundmuller) made their first contribution in [#​856](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/856) - [@​Dinesht04](https://redirect.github.com/Dinesht04) made their first contribution in [#​883](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/883) - [@​N-Masi](https://redirect.github.com/N-Masi) made their first contribution in [#​896](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/896) - [@​jpugliesi](https://redirect.github.com/jpugliesi) made their first contribution in [#​888](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/888) - [@​blackwell-systems](https://redirect.github.com/blackwell-systems) made their first contribution in [#​929](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/929) - [@​smlx](https://redirect.github.com/smlx) made their first contribution in [#​917](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/917) - [@​yarolegovich](https://redirect.github.com/yarolegovich) made their first contribution in [#​931](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/931) - [@​wucm667](https://redirect.github.com/wucm667) made their first contribution in [#​918](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/918) - [@​jchangx](https://redirect.github.com/jchangx) made their first contribution in [#​938](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/938) - [@​gainsley](https://redirect.github.com/gainsley) made their first contribution in [#​955](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/955) - [@​he-yufeng](https://redirect.github.com/he-yufeng) made their first contribution in [#​962](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/962) - [@​pvlbzn](https://redirect.github.com/pvlbzn) made their first contribution in [#​908](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/908) - [@​max-stytch](https://redirect.github.com/max-stytch) made their first contribution in [#​859](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/859) - [@​tdabasinskas](https://redirect.github.com/tdabasinskas) made their first contribution in [#​982](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/982) - [@​BorisTyshkevich](https://redirect.github.com/BorisTyshkevich) made their first contribution in [#​971](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/971) - [@​piyushbag](https://redirect.github.com/piyushbag) made their first contribution in [#​1000](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1000) - [@​toabctl](https://redirect.github.com/toabctl) made their first contribution in [#​988](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/988) - [@​ychampion](https://redirect.github.com/ychampion) made their first contribution in [#​1060](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1060) - [@​jan-xyz](https://redirect.github.com/jan-xyz) made their first contribution in [#​1107](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1107) - [@​george1410](https://redirect.github.com/george1410) made their first contribution in [#​1106](https://redirect.github.com/modelcontextprotocol/go-sdk/pull/1106) **Full Changelog**:
openai/openai-go (github.com/openai/openai-go/v3) ### [`v3.49.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.49.0) [Compare Source](https://redirect.github.com/openai/openai-go/compare/v3.48.0...v3.49.0) #### 3.49.0 (2026-07-31) Full Changelog: [v3.48.0...v3.49.0](https://redirect.github.com/openai/openai-go/compare/v3.48.0...v3.49.0) ##### Features - **api:** content provenance checks ([5a46c55](https://redirect.github.com/openai/openai-go/commit/5a46c55e1714343afcf8b99c69c80fb67801e2a8)) ##### Documentation - demonstrate mutual TLS with custom HTTP client ([#​741](https://redirect.github.com/openai/openai-go/issues/741)) ([e862c49](https://redirect.github.com/openai/openai-go/commit/e862c4964615058d518d53a15277c1a2d5945f02)) ### [`v3.48.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.48.0) [Compare Source](https://redirect.github.com/openai/openai-go/compare/v3.47.0...v3.48.0) #### 3.48.0 (2026-07-30) Full Changelog: [v3.47.0...v3.48.0](https://redirect.github.com/openai/openai-\[go/compare/v3.47.0...v3.48.0]\(https://www.golinks.io/compare/v3.47.0...v3.48.0?trackSource=github\)) ##### Features - **api:** fast tier ([cffac28](https://redirect.github.com/openai/openai-\[go/commit/cffac28fd20783bb48a5e69e102e6f327f2adb83]\(https://www.golinks.io/commit/cffac28fd20783bb48a5e69e102e6f327f2adb83?trackSource=github\))) ### [`v3.47.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.47.0) [Compare Source](https://redirect.github.com/openai/openai-go/compare/v3.46.0...v3.47.0) #### 3.47.0 (2026-07-28) Full Changelog: [v3.46.0...v3.47.0](https://redirect.github.com/openai/openai-go/compare/v3.46.0...v3.47.0) ##### Features - **api:** transcription model updates ([1707706](https://redirect.github.com/openai/openai-go/commit/1707706e0ac9d8c91d781e218ee3e6c9ac4fc41d)) ##### Bug Fixes - windows platform header normalization ([#​674](https://redirect.github.com/openai/openai-go/issues/674)) ([706d3a8](https://redirect.github.com/openai/openai-go/commit/706d3a8c5c76a211a8cf3db6322eb47ef3713d6f)) ##### Build System - **deps:** bump actions/download-artifact from 7.0.0 to 8.0.1 ([#​739](https://redirect.github.com/openai/openai-go/issues/739)) ([2c2a363](https://redirect.github.com/openai/openai-go/commit/2c2a3637f2c50a01a7b2558c41c68913ca693e81)) - **deps:** bump actions/setup-go from 6.4.0 to 7.0.0 ([#​737](https://redirect.github.com/openai/openai-go/issues/737)) ([1fcc7ce](https://redirect.github.com/openai/openai-go/commit/1fcc7cef36599d8a0d8f3858fa6c4fe6d27bf241)) - **deps:** bump actions/setup-node from 6.3.0 to 7.0.0 ([#​734](https://redirect.github.com/openai/openai-go/issues/734)) ([15562ec](https://redirect.github.com/openai/openai-go/commit/15562ec9fc84b9e26b6e3cad42f7284405b5b36e)) - **deps:** bump actions/upload-artifact from 6.0.0 to 7.0.1 ([#​738](https://redirect.github.com/openai/openai-go/issues/738)) ([16fcc6a](https://redirect.github.com/openai/openai-go/commit/16fcc6a835f0791764841f5a6fc3f0d00b6c1e4d)) - **deps:** bump github.com/aws/aws-sdk-go-v2/config in / ([#​733](https://redirect.github.com/openai/openai-go/issues/733)) ([279abc1](https://redirect.github.com/openai/openai-go/commit/279abc1d002c6a87a07470aeae1c3da1e35cfb41)) - **deps:** bump github/codeql-action from 4.37.2 to 4.37.3 ([#​736](https://redirect.github.com/openai/openai-go/issues/736)) ([6032a46](https://redirect.github.com/openai/openai-go/commit/6032a4681950b0bc426e5528b5ca4d2a2590b815))
resend/resend-go (github.com/resend/resend-go/v3) ### [`v3.12.0`](https://redirect.github.com/resend/resend-go/releases/tag/v3.12.0) [Compare Source](https://redirect.github.com/resend/resend-go/compare/v3.11.0...v3.12.0) #### What's Changed - feat: add suppressions endpoints by [@​felipefreitag](https://redirect.github.com/felipefreitag) in [#​141](https://redirect.github.com/resend/resend-go/pull/141) - chore: bump version to 3.12.0 by [@​dielduarte](https://redirect.github.com/dielduarte) in [#​142](https://redirect.github.com/resend/resend-go/pull/142) **Full Changelog**:
gitlab-org/api/client-go (gitlab.com/gitlab-org/api/client-go/v2) ### [`v2.55.1`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.55.1) [Compare Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.55.0...v2.55.1) #### 2.55.1 ##### 🐛 Bug Fixes - fix(feature_flags): omit ProjectFeatureFlagScope.ID when unset ([!2969](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2969)) by [Radek Antoniuk](https://gitlab.com/rantoniuk) #### [2.55.1](https://gitlab.com/gitlab-org/api/client-go/compare/v2.55.0...v2.55.1) (2026-07-31) ##### Bug Fixes * **feature_flags:** omit ProjectFeatureFlagScope.ID when unset ([aadece3](https://gitlab.com/gitlab-org/api/client-go/commit/aadece3c293676a500f44c6d17f4216ed6958af2)) ### [`v2.55.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.55.0) [Compare Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.54.0...v2.55.0) #### 2.55.0 ##### 🚀 Features - fix(workitems): send status widget when creating a work item ([!2970](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2970)) by [Radek Antoniuk](https://gitlab.com/rantoniuk) ##### 🔄 Other Changes - chore(deps): update module golang.org/x/sys to v0.47.0 ([!2937](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2937)) by [GitLab Dependency Bot](https://gitlab.com/gitlab-dependency-update-bot) ### [2.55.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.54.0...v2.55.0) (2026-07-31) ##### Bug Fixes * **workitems:** send status widget when creating a work item ([e9d1c49](https://gitlab.com/gitlab-org/api/client-go/commit/e9d1c498719c344ef033ca8d32715c335ec98265)) ### [`v2.54.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.54.0) [Compare Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.53.0...v2.54.0) #### 2.54.0 ##### 🚀 Features - Add custom attributes filtering for projects ([!2965](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2965)) by [Giannis Kepas](https://gitlab.com/gkepas) - feat(feature_flags): support gitlabUserList and strategy removal ([!2964](https://gitlab.com/gitlab-org/ap > ✂ **Note** > > PR body was truncated to here.
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: c4581a074d22b3e000cb8f1565e148d702e80e44 --- go.mod | 42 ++++++++++++++--------------- go.sum | 83 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 63 insertions(+), 62 deletions(-) diff --git a/go.mod b/go.mod index f8e2fe12..911d1cfb 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ replace github.com/anthropics/anthropic-sdk-go => github.com/anthropics/anthropi replace github.com/exaring/otelpgx => github.com/overmindtech/otelpgx v0.0.0-20260518092812-9a74fcacfd49 // Fix security issue; force upgrade even though the terraform libraries have not been updated yet. -replace github.com/go-git/go-git/v5 => github.com/go-git/go-git/v5 v5.19.1 +replace github.com/go-git/go-git/v5 => github.com/go-git/go-git/v5 v5.19.2 // CVE-2026-46384: hamba/avro is archived with no patch; iskorotkov/avro is the maintained fork. replace github.com/hamba/avro/v2 => github.com/iskorotkov/avro/v2 v2.33.1 @@ -58,7 +58,7 @@ require ( cloud.google.com/go/storagetransfer v1.19.0 connectrpc.com/connect v1.20.0 // v1.19.0 was faulty, wait until it is above this version connectrpc.com/otelconnect v0.9.0 - github.com/1password/onepassword-sdk-go v0.4.0 + github.com/1password/onepassword-sdk-go v0.4.1 github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 v3.0.0-beta.3 @@ -85,7 +85,7 @@ require ( github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4 github.com/antihax/optional v1.0.0 github.com/auth0/go-auth0/v2 v2.14.0 - github.com/auth0/go-jwt-middleware/v3 v3.2.0 + github.com/auth0/go-jwt-middleware/v3 v3.3.0 github.com/aws/aws-sdk-go-v2 v1.43.3 github.com/aws/aws-sdk-go-v2/config v1.32.34 github.com/aws/aws-sdk-go-v2/credentials v1.19.33 @@ -128,13 +128,13 @@ require ( github.com/getsentry/sentry-go v0.47.0 github.com/go-jose/go-jose/v4 v4.1.4 github.com/google/btree v1.1.3 - github.com/google/cel-go v0.29.2 + github.com/google/cel-go v0.30.0 github.com/google/go-github/v88 v88.0.0 github.com/google/uuid v1.6.0 github.com/googleapis/gax-go/v2 v2.23.0 github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e github.com/gorilla/mux v1.8.1 - github.com/harness/harness-go-sdk v0.8.14 + github.com/harness/harness-go-sdk v0.8.15 github.com/hashicorp/go-retryablehttp v0.7.8 github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/hashicorp/hcl/v2 v2.24.0 @@ -154,7 +154,7 @@ require ( github.com/miekg/dns v1.1.72 github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/go-ps v1.0.0 - github.com/modelcontextprotocol/go-sdk v1.6.1 + github.com/modelcontextprotocol/go-sdk v1.7.0 github.com/muesli/reflow v0.3.0 github.com/nats-io/jwt/v2 v2.8.2 github.com/nats-io/nats-server/v2 v2.14.3 @@ -163,7 +163,7 @@ require ( github.com/neo4j/neo4j-go-driver/v6 v6.2.0 github.com/onsi/ginkgo/v2 v2.32.0 github.com/onsi/gomega v1.42.1 - github.com/openai/openai-go/v3 v3.46.0 + github.com/openai/openai-go/v3 v3.49.0 github.com/openrdap/rdap v0.10.1 github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297 github.com/pb33f/ordered-map/v2 v2.3.1 @@ -171,10 +171,10 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c github.com/posthog/posthog-go v1.22.0 github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf - github.com/resend/resend-go/v3 v3.11.0 - github.com/riverqueue/river v0.39.0 - github.com/riverqueue/river/riverdriver/riverpgxv5 v0.39.0 - github.com/riverqueue/river/rivertype v0.39.0 + github.com/resend/resend-go/v3 v3.12.0 + github.com/riverqueue/river v0.41.1 + github.com/riverqueue/river/riverdriver/riverpgxv5 v0.41.1 + github.com/riverqueue/river/rivertype v0.41.1 github.com/riverqueue/rivercontrib/otelriver v0.10.0 github.com/rs/cors v1.11.1 github.com/samber/slog-logrus/v2 v2.5.4 @@ -193,7 +193,7 @@ require ( github.com/uptrace/opentelemetry-go-extra/otellogrus v0.3.2 github.com/xiam/dig v0.0.0-20191116195832-893b5fb5093b github.com/zclconf/go-cty v1.19.0 - gitlab.com/gitlab-org/api/client-go/v2 v2.51.0 + gitlab.com/gitlab-org/api/client-go/v2 v2.55.1 go.etcd.io/bbolt v1.5.0 go.opentelemetry.io/contrib/detectors/aws/ec2/v2 v2.0.0-20250901115419-474a7992e57c go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 @@ -207,7 +207,7 @@ require ( go.uber.org/automaxprocs v1.6.0 go.uber.org/goleak v1.3.0 go.uber.org/mock v0.6.0 - go.yaml.in/yaml/v3 v3.0.4 + go.yaml.in/yaml/v3 v3.0.5 golang.org/x/net v0.57.0 golang.org/x/oauth2 v0.36.0 golang.org/x/sync v0.22.0 @@ -216,7 +216,7 @@ require ( gonum.org/v1/gonum v0.17.0 google.golang.org/api v0.291.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0 - google.golang.org/grpc v1.82.1 + google.golang.org/grpc v1.83.0 google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af gopkg.in/ini.v1 v1.67.3 gopkg.in/yaml.v3 v3.0.1 @@ -224,7 +224,7 @@ require ( k8s.io/apimachinery v0.36.3 k8s.io/client-go v0.36.3 k8s.io/component-base v0.36.3 - riverqueue.com/riverui v0.16.0 + riverqueue.com/riverui v0.17.0 sigs.k8s.io/controller-runtime v0.24.1 sigs.k8s.io/kind v0.32.0 sigs.k8s.io/structured-merge-diff/v6 v6.4.2 @@ -240,7 +240,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.7.2 // indirect github.com/BurntSushi/toml v1.4.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.33.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.57.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.57.0 // indirect github.com/ProtonMail/go-crypto v1.4.1 // indirect @@ -405,8 +405,8 @@ require ( github.com/prometheus/common v0.67.5 // indirect github.com/prometheus/procfs v0.19.2 // indirect github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e // indirect - github.com/riverqueue/river/riverdriver v0.39.0 // indirect - github.com/riverqueue/river/rivershared v0.39.0 // indirect + github.com/riverqueue/river/riverdriver v0.41.1 // indirect + github.com/riverqueue/river/rivershared v0.41.1 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/sagikazarmark/locafero v0.11.0 // indirect github.com/samber/lo v1.53.0 // indirect @@ -415,7 +415,7 @@ require ( github.com/segmentio/encoding v0.5.4 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect - github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect + github.com/spiffe/go-spiffe/v2 v2.7.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816 // indirect github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 // indirect @@ -438,7 +438,7 @@ require ( github.com/zeebo/xxh3 v1.0.2 // indirect go.devnw.com/structs v1.0.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/contrib/detectors/gcp v1.43.0 // indirect + go.opentelemetry.io/contrib/detectors/gcp v1.44.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 // indirect go.opentelemetry.io/otel/log v0.11.0 // indirect @@ -451,7 +451,7 @@ require ( go.yaml.in/yaml/v4 v4.0.0-rc.2 // indirect golang.org/x/crypto v0.54.0 // indirect golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect - golang.org/x/mod v0.37.0 // indirect + golang.org/x/mod v0.38.0 // indirect golang.org/x/sys v0.47.0 // indirect golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 // indirect golang.org/x/term v0.45.0 // indirect diff --git a/go.sum b/go.sum index 24d47695..dba429a6 100644 --- a/go.sum +++ b/go.sum @@ -90,8 +90,8 @@ connectrpc.com/otelconnect v0.9.0 h1:NggB3pzRC3pukQWaYbRHJulxuXvmCKCKkQ9hbrHAWoA connectrpc.com/otelconnect v0.9.0/go.mod h1:AEkVLjCPXra+ObGFCOClcJkNjS7zPaQSqvO0lCyjfZc= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -github.com/1password/onepassword-sdk-go v0.4.0 h1:Nou39yuC6Q0om03irkh5UurfPdX3wx26qZZhQeC9TBU= -github.com/1password/onepassword-sdk-go v0.4.0/go.mod h1:j/CbzhucTywjlYrd6SE6k0LcQaFZ2l8OLBsAsOYtvD0= +github.com/1password/onepassword-sdk-go v0.4.1 h1:My/Q2QXemep0I0qHgGrOs7EEzpPh2QZ1/II+S3YqOG0= +github.com/1password/onepassword-sdk-go v0.4.1/go.mod h1:j/CbzhucTywjlYrd6SE6k0LcQaFZ2l8OLBsAsOYtvD0= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0 h1:aokoqcHvaGjiM3VpjKDfMMnF/8epJ+Q1HLJ7CudztqE= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0/go.mod h1:/WYEx9pcM9Y+Dd/APJaNlSvVSvzl54rrMdZT5+Oi2LM= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 h1:CU4+EJeJi3TKYWEcYuSdWsjzw0nVsK/H0MSQOiPcymU= @@ -146,8 +146,8 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.7.2 h1:RHK7bS+HQMs github.com/AzureAD/microsoft-authentication-library-for-go v1.7.2/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 h1:rIkQfkCOVKc1OiRCNcSDD8ml5RJlZbH/Xsq7lbpynwc= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0/go.mod h1:RD2SsorTmYhF6HkTmDw7KmPYQk8OBYwTkuasChwv7R4= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.33.0 h1:l7+6kwRMJNwdCvYdDl7Eax+wzEYHSnNY7zrrfbhDdTA= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.33.0/go.mod h1:pJTkW8hEUIIi3Pf65lPZOnn4Y81yCllX6IWk2jNXdkM= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.57.0 h1:jLdiS1vO+XJFyDSWRHBx56r4s/NNtcl5J6KyCcWUX/w= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.57.0/go.mod h1:8lmpHY+1VRoteiOwyrQMDt1YGXOrFKCz+1wJW7n3ODY= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.57.0 h1:cSjUzZ7KU8hicTgzaSv9NmSyM9fTVK3y5lsBUl3wOis= @@ -205,8 +205,8 @@ github.com/apparentlymart/go-textseg/v17 v17.0.1 h1:bpMXRgQ5cEoRNuQke1a80/Nl6w3G github.com/apparentlymart/go-textseg/v17 v17.0.1/go.mod h1:fa8X4jgGeevslICIY6LcdjkSecWnXmYd9Lk34z/VxZs= github.com/auth0/go-auth0/v2 v2.14.0 h1:zDxwRHGAt6gLK/OG6wAkB5ScQEJ8WW/ex1EnJig8fFc= github.com/auth0/go-auth0/v2 v2.14.0/go.mod h1:Q/Y3VZVoI3sw87VyTPhx2TQL6Sq4Q/iCP67rW2gcn+M= -github.com/auth0/go-jwt-middleware/v3 v3.2.0 h1:OP0/YH89A+w03zOjuRPPgKh5S+1+uAmY/vtllYUSWCM= -github.com/auth0/go-jwt-middleware/v3 v3.2.0/go.mod h1:/f0hy3exUWxL7/4XJ1oSHBDSBf2Os2C1VT2RkQ9frs0= +github.com/auth0/go-jwt-middleware/v3 v3.3.0 h1:nRALRLGsUdWgxX0knqwp60YxiYypeZYfhr+yFCvHoGY= +github.com/auth0/go-jwt-middleware/v3 v3.3.0/go.mod h1:WXL/zFf3nuQJWQOVj3hGUQ289ixKVSrFGwZn6LxaQsw= github.com/aws/aws-sdk-go-v2 v1.43.3 h1:XJIcfv8uDs2ukdQsoAC8/Ebu1ejxwzlayl2ZsiFns2A= github.com/aws/aws-sdk-go-v2 v1.43.3/go.mod h1:70vwSy16txshwG+g55WkpgPKDIByzHI8ccBsOteo3bQ= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 h1:aiuaKlDweRC5qExJondpWjOgyzMHpofpwspGXUtwn4c= @@ -420,8 +420,8 @@ github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66D github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.8.0 h1:I8hjc3LbBlXTtVuFNJuwYuMiHvQJDq1AT6u4DwDzZG0= github.com/go-git/go-billy/v5 v5.8.0/go.mod h1:RpvI/rw4Vr5QA+Z60c6d6LXH0rYJo0uD5SqfmrrheCY= -github.com/go-git/go-git/v5 v5.19.1 h1:nX27AnaU43/K5bKktKwgBmR9lawoYVe1Ckg0rgzzN00= -github.com/go-git/go-git/v5 v5.19.1/go.mod h1:Pb1v0c7/g8aGQJwx9Us09W85yGoyvSwuhEGMH7zjDKQ= +github.com/go-git/go-git/v5 v5.19.2 h1:wkfn7vOlUBu8ivAWKBWisTiwJK4jYHzTF8Ndv1LyGqY= +github.com/go-git/go-git/v5 v5.19.2/go.mod h1:QqCBE1EFN5ddFmrliLQ3/ntRCUjZU3EJuwuB/jWEHjk= github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA= github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6 h1:nxP4pPoyqOAgX8lYDFCfl3DyKeXErCvSvhcyzwGV9CE= @@ -473,8 +473,8 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= 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/cel-go v0.29.2 h1:ZtDxkeiMmz0mxbKDYiNkE5Lk7V5edMRcaaDf2jX002k= -github.com/google/cel-go v0.29.2/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8= +github.com/google/cel-go v0.30.0 h1:ll54AkzKunWkBn9wSoiUXbFZXYZTkdJGNXTBXUoolGo= +github.com/google/cel-go v0.30.0/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8= 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/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= @@ -523,8 +523,8 @@ github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5T github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= -github.com/harness/harness-go-sdk v0.8.14 h1:ogE+WAnFcc6G3BGHhx0Go/fpw05zv4tGNTuiTQuBr6w= -github.com/harness/harness-go-sdk v0.8.14/go.mod h1:iEAGFfIm0MOFJxN6tqMQSPZiEO/Dz1joLDHrkEU3lps= +github.com/harness/harness-go-sdk v0.8.15 h1:VtHYeM7Np7Ebx6/YuPt8gllgoDbpEhqFuFk8tC2lOP4= +github.com/harness/harness-go-sdk v0.8.15/go.mod h1:iEAGFfIm0MOFJxN6tqMQSPZiEO/Dz1joLDHrkEU3lps= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -707,8 +707,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modelcontextprotocol/go-sdk v1.6.1 h1:0zOSupjKUxPKSocPT1Wtago+mUHU2/uZ4xSOY0FGReU= -github.com/modelcontextprotocol/go-sdk v1.6.1/go.mod h1:kzm3kzFL1/+AziGOE0nUs3gvPoNxMCvkxokMkuFapXQ= +github.com/modelcontextprotocol/go-sdk v1.7.0 h1:yqjY2dsbKAC0LSuWZVBMrHgiG8ukXv6NRo0JiALay44= +github.com/modelcontextprotocol/go-sdk v1.7.0/go.mod h1:dL7u98E/zjJTGzEq+j30jQ8K2k1mb6LeAH4inEcSGts= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= 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= @@ -741,8 +741,8 @@ github.com/onsi/ginkgo/v2 v2.32.0 h1:Hw7s2pVrQo/8Yz5N77qdnpHaoc+c6cC9WIV1Jce+J6E github.com/onsi/ginkgo/v2 v2.32.0/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I= github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg= -github.com/openai/openai-go/v3 v3.46.0 h1:9HzL4DOybwOHAAcsGpMQyELuw0e9OqynJOPV8SH8g5M= -github.com/openai/openai-go/v3 v3.46.0/go.mod h1:b8MgNMpR3lPifYnaOH8XwcG8qRHwhzZxuDgM9lL7h5k= +github.com/openai/openai-go/v3 v3.49.0 h1:/BObwLKdgHJ3AbJ7AXK8BRDfjuTAV+eTmEQFbG86wnQ= +github.com/openai/openai-go/v3 v3.49.0/go.mod h1:nCqcbgPr2jYDV8wiCWPA2tRL56mWXdb6QavBmBwzSis= github.com/openrdap/rdap v0.10.1 h1:+FT6HT7gzAnmKxgy6p1iCnhyaf++Q9Lkq1L9sk8J5IY= github.com/openrdap/rdap v0.10.1/go.mod h1:JHgco+RQ9lApvLbQ4GiJ/aJJHhbdgVvjI8tqOAYkOV0= github.com/overmindtech/otelpgx v0.0.0-20260518092812-9a74fcacfd49 h1:THDCq6kD417YIlex+sBmoRbGODL9fGcJ2y+ld8EkWLk= @@ -790,20 +790,20 @@ github.com/pterm/pterm v0.12.83 h1:ie+YmGmA727VuhxBlyGr74Ks+7McV6kT99IB8EU80aA= github.com/pterm/pterm v0.12.83/go.mod h1:xlgc6bFWyJIMtmLJvGim+L7jhSReilOlOnodeIYe4Tk= github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf h1:NxGxgo0KmC8w9fdn8jLCyG1SDrR/Vxbfa1nWErS3pmw= github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf/go.mod h1:q6RK8Iv6obzk6i0rnLyYPtppwZ5uXJLloL3oxmfrwm8= -github.com/resend/resend-go/v3 v3.11.0 h1:go8FVOjF0PBOKpFC57JUVWegjnjLYS5BI5g6aawhUWQ= -github.com/resend/resend-go/v3 v3.11.0/go.mod h1:iI7VA0NoGjWvsNii5iNC5Dy0llsI3HncXPejhniYzwE= +github.com/resend/resend-go/v3 v3.12.0 h1:fzoMd76NShVv1vzjym5owBYrnpA/U1GfyqvUN43Brks= +github.com/resend/resend-go/v3 v3.12.0/go.mod h1:iI7VA0NoGjWvsNii5iNC5Dy0llsI3HncXPejhniYzwE= github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e h1:OwOgxT3MRpOj5Mp6DhFdZP43FOQOf2hhywAuT5XZCR4= github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e/go.mod h1:O7UmsAMjpMYuToN4au5GNXdmN1gli+5FTldgXqAfaD0= -github.com/riverqueue/river v0.39.0 h1:VsoPJ8KTx7SvWQGWtdLjKxw15IjnYHj3xKb0UA+7200= -github.com/riverqueue/river v0.39.0/go.mod h1:YeHQKKQDakPapXgNarXUp3o3XGp8fXp5HiBmsn2FOHg= -github.com/riverqueue/river/riverdriver v0.39.0 h1:Vze5DtNJkxStjIlbDDwtxqk9wB2THn1RKEk5C5CZgFg= -github.com/riverqueue/river/riverdriver v0.39.0/go.mod h1:gZVyHaUIN6eDbdUu3p2mnS/wxmXYxO2li8YTs5hUA2g= -github.com/riverqueue/river/riverdriver/riverpgxv5 v0.39.0 h1:pIwYuKUUakIyVlmI2g5J4U/Hf8+e+ih0hGRDH1sA+x8= -github.com/riverqueue/river/riverdriver/riverpgxv5 v0.39.0/go.mod h1:veubJH/FDM9Q27zLKfSicMVe6OptARFFnHOKvLo47+w= -github.com/riverqueue/river/rivershared v0.39.0 h1:Ca5fe4Atbvb8cAq09YUzAi/G5ZslthjuYLpAvtNrHTg= -github.com/riverqueue/river/rivershared v0.39.0/go.mod h1:RtEsdSKHtewWUUVAC6TS+U+8bDiVweiVr483Jtm6epc= -github.com/riverqueue/river/rivertype v0.39.0 h1:0jHUTRDR1kdzbgXc6lN1B93WxolZyqPvqpYE+r0+R4o= -github.com/riverqueue/river/rivertype v0.39.0/go.mod h1:D1Ad+EaZiaXbQbJcJcfeicXJMBKno0n6UcfKI5Q7DIQ= +github.com/riverqueue/river v0.41.1 h1:Eat4tnIL16PTX1StVTwTAm2iKDowG99t2fDZPfwFPE8= +github.com/riverqueue/river v0.41.1/go.mod h1:5KXJLKDPwjVC99ISXv2OHDQtNm1YwAeEAx9VYCd1RF0= +github.com/riverqueue/river/riverdriver v0.41.1 h1:cwmmFCJkJlH6geaUTbOqC8vBUe00vTBm248GVD3HrqY= +github.com/riverqueue/river/riverdriver v0.41.1/go.mod h1:nAZirY7z2clR4gaZxuGzvae8bwgycl9mrvb3+RWOehQ= +github.com/riverqueue/river/riverdriver/riverpgxv5 v0.41.1 h1:9VCL/tebPcMqrg9dwxQnL80/np4b2HnXwSwaICsszGM= +github.com/riverqueue/river/riverdriver/riverpgxv5 v0.41.1/go.mod h1:Ga+M+38X+cDMk6GsONljP3PrY5ylfBYMBn3MRj2+c9U= +github.com/riverqueue/river/rivershared v0.41.1 h1:wHYBCXxCocvPhkH90B4fAUyMMWMVGG+/EFubyH15R2E= +github.com/riverqueue/river/rivershared v0.41.1/go.mod h1:wQJhQ+jP7SILzEF3t7vrUQvuCMRL0sIhCU2DwjFfn/g= +github.com/riverqueue/river/rivertype v0.41.1 h1:wBO2+nRfmpSohBRkC1/dxEkRyLS96FWlkUjukexOydc= +github.com/riverqueue/river/rivertype v0.41.1/go.mod h1:D1Ad+EaZiaXbQbJcJcfeicXJMBKno0n6UcfKI5Q7DIQ= github.com/riverqueue/rivercontrib/otelriver v0.10.0 h1:cOtwJ6PyVGQWN45XfuSQSMJAV60KozgES8vaHE9u1F0= github.com/riverqueue/rivercontrib/otelriver v0.10.0/go.mod h1:Ewb2HiCy9yoltuomU4yZcdvBRHQBNo2683qhChq2JOQ= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -855,8 +855,8 @@ github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= -github.com/spiffe/go-spiffe/v2 v2.6.0 h1:l+DolpxNWYgruGQVV0xsfeya3CsC7m8iBzDnMpsbLuo= -github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= +github.com/spiffe/go-spiffe/v2 v2.7.0 h1:uXe1MflJoHw58wAUvxVlcM7WpKtijWG7I1UidcGh6g4= +github.com/spiffe/go-spiffe/v2 v2.7.0/go.mod h1:47Q0Q9/AqGha8QLHp+kxpH4Wca7X7EnOtlIJy3mxZ3U= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -943,8 +943,8 @@ 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.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -gitlab.com/gitlab-org/api/client-go/v2 v2.51.0 h1:jP3bsuS3WpiEqhxhG58GJtqCyOnjyACQ8u8oyUg7ru8= -gitlab.com/gitlab-org/api/client-go/v2 v2.51.0/go.mod h1:P0sRPwCAGIek6HIU0JH5W9Ic5+z3eWvCWwXeg7Pwr7o= +gitlab.com/gitlab-org/api/client-go/v2 v2.55.1 h1:eX0iBhJ9GWP2XqQOH/pkmSvPosFS3rcyFcup/3kHL2k= +gitlab.com/gitlab-org/api/client-go/v2 v2.55.1/go.mod h1:6GcBiCVrZBtOvl6HiahZ3nq5eBs7JMUARJeLN4/RgZU= go.devnw.com/structs v1.0.0 h1:FFkBoBOkapCdxFEIkpOZRmMOMr9b9hxjKTD3bJYl9lk= go.devnw.com/structs v1.0.0/go.mod h1:wHBkdQpNeazdQHszJ2sxwVEpd8zGTEsKkeywDLGbrmg= go.etcd.io/bbolt v1.5.0 h1:S7GAl7Fxv12yohbwFfIbQCGDWbQbtDGPET4P/bD4lxU= @@ -953,8 +953,8 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/detectors/aws/ec2/v2 v2.0.0-20250901115419-474a7992e57c h1:YSqSR1Fil5Ip0N6AlNBFbNv7cvIHZ2j4+wqbVafAGmQ= go.opentelemetry.io/contrib/detectors/aws/ec2/v2 v2.0.0-20250901115419-474a7992e57c/go.mod h1:avnUkmc6cwMhcExsYaSv0SQVqygTfXGTn41eZ7xjKpo= -go.opentelemetry.io/contrib/detectors/gcp v1.43.0 h1:62yY3dT7/ShwOxzA0RsKRgshBmfElKI4d/Myu2OxDFU= -go.opentelemetry.io/contrib/detectors/gcp v1.43.0/go.mod h1:RyaZMFY7yi1kAs45S6mbFGz8O8rqB0dTY14uzvG4LCs= +go.opentelemetry.io/contrib/detectors/gcp v1.44.0 h1:NmLfL734pJhM0JKaYd2Y28+nY9dPRWYAAbxhRCrKXPw= +go.opentelemetry.io/contrib/detectors/gcp v1.44.0/go.mod h1:tNAsgd8avTGke1+MndXlU5Cru4PQ9Ai/cCNWQv/ZJ/s= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 h1:0Qx7VGBacMm9ZENQ7TnNObTYI4ShC+lHI16seduaxZo= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0/go.mod h1:Sje3i3MjSPKTSPvVWCaL8ugBzJwik3u4smCjUeuupqg= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo= @@ -999,8 +999,9 @@ go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= -go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= +go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg= go.yaml.in/yaml/v4 v4.0.0-rc.2 h1:/FrI8D64VSr4HtGIlUtlFMGsm7H7pWTbj6vOLVZcA6s= go.yaml.in/yaml/v4 v4.0.0-rc.2/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1020,8 +1021,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= +golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= +golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= @@ -1124,8 +1125,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 h1: google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7/go.mod h1:KqHwBx2upmfa1XSi1WuRvC+2VGCLtooKkfmyvRbUmqA= google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0 h1:mJiOtnGp0k/BcSgdu03G2NwnscCfCH+h2QKUBZr18KI= google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= -google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= -google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= +google.golang.org/grpc v1.83.0 h1:JeNZEKJFbQxArAMl+hiytHauacDNqJUllNfmIMmpqnQ= +google.golang.org/grpc v1.83.0/go.mod h1:kDyl6SKsiHKt0uylY5gtn5cEjkrIOhQOGDgIc4JGwzQ= 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.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= @@ -1168,8 +1169,8 @@ k8s.io/streaming v0.36.3 h1:9rAaqBk0C0Pc7+/fqGekj07NV+/Xrew58p647A0JT8w= k8s.io/streaming v0.36.3/go.mod h1:z6fV3D+NVkoeqRMtWwlUZK6U17SY/LqNzOxWL6GyR/s= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= -riverqueue.com/riverui v0.16.0 h1:XFgTdKqRYjdPsGV2QSBRTrMaWiXAZWvouH2zanQ0t9g= -riverqueue.com/riverui v0.16.0/go.mod h1:NoIMP+QRd/Z+k5QYZ4LlYzRPinZ/qfIvyrNXFS61cak= +riverqueue.com/riverui v0.17.0 h1:iUkQ2zoxrAjqTjk1R5WUK7/PMM/EseTkUgmwYEzsp6E= +riverqueue.com/riverui v0.17.0/go.mod h1:5EsPg9ORURjHkeBkY+SYesppOnh9Nb+3AY+1cFcNKWM= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/controller-runtime v0.24.1 h1:miPEwrmirImAvgME1L9qebGHrOnGJoVmVdtOU9fRfo4= From 7f08399182cfa7c8d0bf737f257e5ad60c910ec5 Mon Sep 17 00:00:00 2001 From: Vasile Labici <69412076+Vlasin98@users.noreply.github.com> Date: Mon, 3 Aug 2026 17:13:32 +0300 Subject: [PATCH 18/36] feat(brent): sync Auth0 profile pictures for workspace members (#6197) ## Summary - Persist Auth0/IdP profile picture URLs on `principal_identities.picture_url` and sync them on `GetPrincipalStatus` with presence-aware OIDC parsing (absent/null no-op, empty clears, HTTPS write). - Expose `picture_url` on `Principal`, `WorkspaceMember`, and `JoinableWorkspaceMember`; wire profile, members, and join avatar UI (social cards use `ProfileAvatar`, not brand icons). - Extend Brent SPA CSP `img-src` for common IdP avatar hosts so photos are not blocked. Plan ID: BRENT-803 Fixes ENG-6018 ## Test plan - [ ] `go test` for principals picture validation, auth0 userinfo presence, joinable preview mapping, SPA CSP img-src hosts - [ ] Integration: `TestGetPrincipalStatusEndpoint_SyncsAuth0PictureURL` (write / absent no-op / empty clear / fetch failure keeps URL) - [x] Frontend vitest for SocialIdentityCard, CurrentProfile, members/join mappers - [x] Manual: sign in with Google/GitHub, confirm photo on Profile, Members, Join cards; email path shows initials when no picture Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor GitOrigin-RevId: 93024fbbb4ec7bea5517acd11bb84883b9dd7daa --- go/sdp-go/brent.pb.go | 53 ++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index ad9a5d82..94b60846 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -18866,10 +18866,12 @@ type Principal struct { Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` // 'active' | 'shadow' | 'tombstoned' (the friends-using-brent // milestone writes 'active' only). - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Auth0/IdP profile picture URL from principal_identities; absent/empty → initials. + PictureUrl *string `protobuf:"bytes,8,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -18953,6 +18955,13 @@ func (x *Principal) GetUpdatedAt() *timestamppb.Timestamp { return nil } +func (x *Principal) GetPictureUrl() string { + if x != nil && x.PictureUrl != nil { + return *x.PictureUrl + } + return "" +} + // Workspace is a tenant the caller belongs to. workspace_id is the uuid tenant // key — the PK, the wire id, and the brent-workspace-id header value (no // separate surrogate). role is the caller's membership role in THIS workspace @@ -19750,9 +19759,10 @@ func (x *JoinableWorkspace) GetSource() JoinSource { } type JoinableWorkspaceMember struct { - state protoimpl.MessageState `protogen:"open.v1"` - DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - PictureUrl *string `protobuf:"bytes,2,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` // absent this milestone → initials fallback + state protoimpl.MessageState `protogen:"open.v1"` + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Auth0/IdP profile picture when the member has synced; absent/empty → initials. + PictureUrl *string `protobuf:"bytes,2,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -21825,8 +21835,10 @@ type WorkspaceMember struct { Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` // Deprecated: Marked as deprecated in brent.proto. - Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - State WorkspaceMemberState `protobuf:"varint,6,opt,name=state,proto3,enum=brent.WorkspaceMemberState" json:"state,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + State WorkspaceMemberState `protobuf:"varint,6,opt,name=state,proto3,enum=brent.WorkspaceMemberState" json:"state,omitempty"` + // Auth0/IdP profile picture when the member has synced; absent/empty → initials. + PictureUrl *string `protobuf:"bytes,7,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -21904,6 +21916,13 @@ func (x *WorkspaceMember) GetState() WorkspaceMemberState { return WorkspaceMemberState_WORKSPACE_MEMBER_STATE_UNSPECIFIED } +func (x *WorkspaceMember) GetPictureUrl() string { + if x != nil && x.PictureUrl != nil { + return *x.PictureUrl + } + return "" +} + type ResendInvitationRequest struct { state protoimpl.MessageState `protogen:"open.v1"` WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` @@ -25914,7 +25933,7 @@ const file_brent_proto_rawDesc = "" + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProviderJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xbf\x01\n" + "$SetWorkspaceIntegrationRolesResponse\x12=\n" + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12$\n" + - "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\x94\x02\n" + + "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xca\x02\n" + "\tPrincipal\x12\x1f\n" + "\vexternal_id\x18\x01 \x01(\tR\n" + "externalId\x12!\n" + @@ -25925,7 +25944,10 @@ const file_brent_proto_rawDesc = "" + "\n" + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + "\n" + - "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\xbf\x02\n" + + "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12$\n" + + "\vpicture_url\x18\b \x01(\tH\x00R\n" + + "pictureUrl\x88\x01\x01B\x0e\n" + + "\f_picture_url\"\xbf\x02\n" + "\tWorkspace\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + @@ -26093,14 +26115,17 @@ const file_brent_proto_rawDesc = "" + "\x1bListWorkspaceMembersRequest\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"P\n" + "\x1cListWorkspaceMembersResponse\x120\n" + - "\amembers\x18\x01 \x03(\v2\x16.brent.WorkspaceMemberR\amembers\"\xd0\x01\n" + + "\amembers\x18\x01 \x03(\v2\x16.brent.WorkspaceMemberR\amembers\"\x86\x02\n" + "\x0fWorkspaceMember\x12!\n" + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12!\n" + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x14\n" + "\x05email\x18\x03 \x01(\tR\x05email\x12\x12\n" + "\x04role\x18\x04 \x01(\tR\x04role\x12\x1a\n" + "\x06status\x18\x05 \x01(\tB\x02\x18\x01R\x06status\x121\n" + - "\x05state\x18\x06 \x01(\x0e2\x1b.brent.WorkspaceMemberStateR\x05state\"_\n" + + "\x05state\x18\x06 \x01(\x0e2\x1b.brent.WorkspaceMemberStateR\x05state\x12$\n" + + "\vpicture_url\x18\a \x01(\tH\x00R\n" + + "pictureUrl\x88\x01\x01B\x0e\n" + + "\f_picture_url\"_\n" + "\x17ResendInvitationRequest\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\"t\n" + @@ -27408,9 +27433,11 @@ func file_brent_proto_init() { file_brent_proto_msgTypes[191].OneofWrappers = []any{} file_brent_proto_msgTypes[192].OneofWrappers = []any{} file_brent_proto_msgTypes[194].OneofWrappers = []any{} + file_brent_proto_msgTypes[213].OneofWrappers = []any{} file_brent_proto_msgTypes[214].OneofWrappers = []any{} file_brent_proto_msgTypes[228].OneofWrappers = []any{} file_brent_proto_msgTypes[229].OneofWrappers = []any{} + file_brent_proto_msgTypes[272].OneofWrappers = []any{} file_brent_proto_msgTypes[282].OneofWrappers = []any{} file_brent_proto_msgTypes[303].OneofWrappers = []any{} file_brent_proto_msgTypes[306].OneofWrappers = []any{} From 0e7fec5f5fc011a9098f78e4a727885207aa069b Mon Sep 17 00:00:00 2001 From: TP Honey Date: Tue, 4 Aug 2026 09:50:43 +0100 Subject: [PATCH 19/36] [ENG-5936] Rename Bitbucket Forge identity to Until (#6201) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary Makes /bitbucket/forge/link the canonical authenticated claim route while retaining the legacy route temporarily. Renames Forge-specific customer copy to Until Bot and Connect to Until. Prepares deployment references for the coordinated Until Bitbucket 1Password item rename. Linear Ticket Part of: [ENG-5936](https://linear.app/overmind/issue/ENG-5936/rename-the-bitbucket-forge-app-and-repository-to-until) — Rename the Bitbucket Forge app and repository to Until Purpose: Present an Until-branded Bitbucket Forge integration without breaking existing installations or connection behavior. Blocks: ENG-6004, ENG-5979, and ENG-5959. Changes Registers authenticated canonical and legacy claim-redemption routes using the same backend handler. Switches the SPA and local proxy to /bitbucket/forge/link. Updates Forge-specific setup, reconnect, conflict, onboarding, and operator copy. Updates documentation and generated protobuf comments. Changes title-based secret references from Brent Bitbucket to Until Bitbucket while preserving values and environment-variable names. Leaves app IDs, credentials, OAuth login clients, webhook hosts, absolute URLs, scopes, wire contracts, and internal identifiers unchanged. Adds route and frontend request coverage and updates affected copy assertions. Validation Scoped backend Go tests passed. Affected frontend Vitest tests passed. Targeted frontend lint passed. SDP generation, Go build/vet, IDE diagnostics, and git diff --check passed. Full frontend type-check remains blocked by unrelated generated-SDP export errors. The external Forge repository, Atlassian app title, GitHub repository name, and 1Password item must still be changed during the coordinated rollout. Brent Plan Plan ID: BRENT-808 Plan: ENG-5936 Bitbucket Forge Until Rename Approved by: Daniel Carabas --- > [!NOTE] > **Medium Risk** > Touches authenticated workspace-binding and dev/prod secret sync for Bitbucket Forge; behavior is intended to stay equivalent via the legacy route, but a proxy or ESO misconfiguration could break claim redemption until rollout completes. > > **Overview** > Rebrands the Bitbucket Forge integration in customer-facing surfaces from **Brent Bot** / **Connect to Brent** to **Until Bot** / **Connect to Until**, including SPA setup guidance, backend readiness strings, plan-submission recovery copy, conflict toasts, and related tests/docs. > > **Claim redemption routing:** the SPA now posts to **`POST /bitbucket/forge/link`**; the backend registers that path as canonical and keeps **`POST /brent/bitbucket/forge/link`** as a temporary compatibility alias (same handler). Local nginx proxies **`/bitbucket/`** to brent-backend alongside the legacy Brent-prefixed location. > > **Deploy/config:** ExternalSecret and devcontainer env **1Password remote refs** move from `Brent Bitbucket` to **`Until Bitbucket`** for Forge install URL and app ID; env var names are unchanged. Proto comments note the **Until Forge app** for webhook ingest. > > Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 3c4a2fc26199e2a544dd8ce9086ab85d2fba4e6e. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot). GitOrigin-RevId: 5dabce394cfe2e67bc92d214e23911cbae5f4cfc --- go/sdp-go/brent.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index 94b60846..05d66fca 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -8594,7 +8594,7 @@ type Event_WorkspaceLlmCredentialRevoked struct { type Event_BitbucketWebhook struct { // BitbucketWebhook carries a Bitbucket PR webhook delivery relayed by the - // Brent Forge app and verified via its Forge Invocation Token at the ingest + // Until Forge app and verified via its Forge Invocation Token at the ingest // endpoint. ENG-5495: foundation for native Bitbucket integration. BitbucketWebhook *BitbucketWebhook `protobuf:"bytes,84,opt,name=bitbucket_webhook,json=bitbucketWebhook,proto3,oneof"` } From 2d48faa1c8583e7675927c02707a9eb0f235d5a2 Mon Sep 17 00:00:00 2001 From: Dylan Date: Tue, 4 Aug 2026 11:57:30 -0700 Subject: [PATCH 20/36] feat(brent): first-class plans.ticket_id for plan-ticket sync (#6223) ## Summary Adds `plans.ticket_id` as the sole source for Linear/GitLab plan-ticket sync, replacing title/body scanning. - Migration adds `ticket_id text NOT NULL DEFAULT ''` with backfill from `plan_linear_issues` (wins) then `plan_gitlab_issues` (`#iid`) - Threaded through sqlc, plans Store, MCP (`submit_plan` / `update_plan` / `get_plan` / `list_plans`), and Area51 proto - Linear: `ResolveTicketID` only; GitLab: parse `#N` / bare IID from `ticket_id` only - Agent/process docs updated so callers pass MCP `ticket_id` (from frontmatter `linear_ticket_id`) Tracked in [ENG-6058](https://linear.app/overmind/issue/ENG-6058). Plan ID: BRENT-823 Brent-Plan: BRENT-823
Open in Web Open in Cursor 
--------- Co-authored-by: Cursor Agent Co-authored-by: Dylan GitOrigin-RevId: bf5fadbc9715f1bc0ca243c637420449dc44deb3 --- go/sdp-go/brent.pb.go | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index 05d66fca..e787a3f8 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -3925,8 +3925,11 @@ type PlanSummary struct { // Set when lifecycle_stage is needs_attention. LifecycleReason string `protobuf:"bytes,16,opt,name=lifecycle_reason,json=lifecycleReason,proto3" json:"lifecycle_reason,omitempty"` LifecycleStageUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=lifecycle_stage_updated_at,json=lifecycleStageUpdatedAt,proto3" json:"lifecycle_stage_updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Opaque external ticketing identifier for plan-ticket sync (e.g. ENG-123 + // or #42). Empty string means no external ticket link. + TicketId string `protobuf:"bytes,18,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PlanSummary) Reset() { @@ -4071,6 +4074,13 @@ func (x *PlanSummary) GetLifecycleStageUpdatedAt() *timestamppb.Timestamp { return nil } +func (x *PlanSummary) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + type AdminGetPlanRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Friendly identifier (e.g. BRENT-42) or plan UUID. @@ -4204,8 +4214,11 @@ type Plan struct { LifecycleStage string `protobuf:"bytes,14,opt,name=lifecycle_stage,json=lifecycleStage,proto3" json:"lifecycle_stage,omitempty"` LifecycleReason string `protobuf:"bytes,15,opt,name=lifecycle_reason,json=lifecycleReason,proto3" json:"lifecycle_reason,omitempty"` LifecycleStageUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=lifecycle_stage_updated_at,json=lifecycleStageUpdatedAt,proto3" json:"lifecycle_stage_updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Opaque external ticketing identifier for plan-ticket sync (e.g. ENG-123 + // or #42). Empty string means no external ticket link. + TicketId string `protobuf:"bytes,17,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Plan) Reset() { @@ -4343,6 +4356,13 @@ func (x *Plan) GetLifecycleStageUpdatedAt() *timestamppb.Timestamp { return nil } +func (x *Plan) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + type AdminListPrincipalsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Optional filter; "" = all tenants. @@ -24598,7 +24618,7 @@ const file_brent_proto_rawDesc = "" + "\x16AdminListPlansResponse\x12(\n" + "\x05plans\x18\x01 \x03(\v2\x12.brent.PlanSummaryR\x05plans\x12\x1f\n" + "\vtotal_count\x18\x02 \x01(\rR\n" + - "totalCount\"\x83\x06\n" + + "totalCount\"\xa0\x06\n" + "\vPlanSummary\x12\x1f\n" + "\vfriendly_id\x18\x01 \x01(\tR\n" + "friendlyId\x12!\n" + @@ -24620,13 +24640,14 @@ const file_brent_proto_rawDesc = "" + "\rreview_status\x18\x0e \x01(\tR\freviewStatus\x12'\n" + "\x0flifecycle_stage\x18\x0f \x01(\tR\x0elifecycleStage\x12)\n" + "\x10lifecycle_reason\x18\x10 \x01(\tR\x0flifecycleReason\x12W\n" + - "\x1alifecycle_stage_updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAtJ\x04\b\x03\x10\x04R\x0eauthor_subject\"%\n" + + "\x1alifecycle_stage_updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAt\x12\x1b\n" + + "\tticket_id\x18\x12 \x01(\tR\bticketIdJ\x04\b\x03\x10\x04R\x0eauthor_subject\"%\n" + "\x13AdminGetPlanRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"\xc5\x01\n" + "\x14AdminGetPlanResponse\x12\x1f\n" + "\x04plan\x18\x01 \x01(\v2\v.brent.PlanR\x04plan\x12=\n" + "\x0frelated_reviews\x18\x02 \x03(\v2\x14.brent.ReviewSummaryR\x0erelatedReviews\x12M\n" + - "\x15related_pull_requests\x18\x03 \x03(\v2\x19.brent.PullRequestSummaryR\x13relatedPullRequests\"\xb6\x05\n" + + "\x15related_pull_requests\x18\x03 \x03(\v2\x19.brent.PullRequestSummaryR\x13relatedPullRequests\"\xd3\x05\n" + "\x04Plan\x12\x1f\n" + "\vfriendly_id\x18\x01 \x01(\tR\n" + "friendlyId\x12!\n" + @@ -24646,7 +24667,8 @@ const file_brent_proto_rawDesc = "" + "\fproject_code\x18\r \x01(\tR\vprojectCode\x12'\n" + "\x0flifecycle_stage\x18\x0e \x01(\tR\x0elifecycleStage\x12)\n" + "\x10lifecycle_reason\x18\x0f \x01(\tR\x0flifecycleReason\x12W\n" + - "\x1alifecycle_stage_updated_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAtJ\x04\b\x03\x10\x04R\x0eauthor_subject\"\x99\x01\n" + + "\x1alifecycle_stage_updated_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAt\x12\x1b\n" + + "\tticket_id\x18\x11 \x01(\tR\bticketIdJ\x04\b\x03\x10\x04R\x0eauthor_subject\"\x99\x01\n" + "\x1aAdminListPrincipalsRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x12\n" + "\x04kind\x18\x02 \x01(\tR\x04kind\x12\x16\n" + From 4024096c7a4239d564cd94c407e84ecc7ae79fa7 Mon Sep 17 00:00:00 2001 From: Dylan Date: Tue, 4 Aug 2026 14:26:22 -0700 Subject: [PATCH 21/36] feat(brent): workspace review policies (ENG-6046 / BRENT-824) (#6225) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Make peer-review requirement an explicit workspace policy (`disabled` / `required`), snapshotted onto each new plan, with grandfathering for existing multi-human workspaces. - Add operator `GetAccountReviewPolicy` / `UpdateAccountReviewPolicy` RPCs with audited updates and a two-human enablement precondition. - Enforce `not_required` authoritatively in the shared review store (customer, operator, and in-tx creation paths) while keeping MCP/workflow no-op UX and tools listed. Plan ID: BRENT-824 ## Plan differences (intentional) - `changed-nonmember-update-attributed-to-system-principal`: When an Area51 operator is not a member of the target workspace, there is no local human principal for `review_policy_updated_by` (tenant-scoped FK). We store the workspace system principal there and put the operator’s Auth0 subject on the audit event actor. Member operators are still attributed to their own principal. ## Test plan - [x] Migration tests for schema defaults, reason-check expansion, and grandfathering - [x] Workspace policy store tests (threshold, audit, membership immutability) - [x] Plan creation matrix under disabled/required policies - [x] Review store refuses `not_required` on RequestReview / AdminRequestReview / CreateReviewInTx - [x] MCP/operator handler contract tests - [x] `golangci-lint` on modified packages - [ ] Confirm Plan check / deviation analysis on the draft PR Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor GitOrigin-RevId: 554565d5d3e46ffdca303233cc45e22b48109d14 --- go/sdp-go/brent.pb.go | 3437 ++++++++++++++----------- go/sdp-go/sdpconnect/brent.connect.go | 76 + 2 files changed, 2014 insertions(+), 1499 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index e787a3f8..18096158 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -632,6 +632,57 @@ func (WorkspaceMemberState) EnumDescriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{10} } +// WorkspaceReviewPolicy is the explicit peer-review policy for a workspace +// (ENG-6046 / BRENT-824). Additive enum — future values must not reuse numbers. +type WorkspaceReviewPolicy int32 + +const ( + WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED WorkspaceReviewPolicy = 0 + WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_DISABLED WorkspaceReviewPolicy = 1 + WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_REQUIRED WorkspaceReviewPolicy = 2 +) + +// Enum value maps for WorkspaceReviewPolicy. +var ( + WorkspaceReviewPolicy_name = map[int32]string{ + 0: "WORKSPACE_REVIEW_POLICY_UNSPECIFIED", + 1: "WORKSPACE_REVIEW_POLICY_DISABLED", + 2: "WORKSPACE_REVIEW_POLICY_REQUIRED", + } + WorkspaceReviewPolicy_value = map[string]int32{ + "WORKSPACE_REVIEW_POLICY_UNSPECIFIED": 0, + "WORKSPACE_REVIEW_POLICY_DISABLED": 1, + "WORKSPACE_REVIEW_POLICY_REQUIRED": 2, + } +) + +func (x WorkspaceReviewPolicy) Enum() *WorkspaceReviewPolicy { + p := new(WorkspaceReviewPolicy) + *p = x + return p +} + +func (x WorkspaceReviewPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkspaceReviewPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_brent_proto_enumTypes[11].Descriptor() +} + +func (WorkspaceReviewPolicy) Type() protoreflect.EnumType { + return &file_brent_proto_enumTypes[11] +} + +func (x WorkspaceReviewPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkspaceReviewPolicy.Descriptor instead. +func (WorkspaceReviewPolicy) EnumDescriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{11} +} + type IntegrationCatalogueSource int32 const ( @@ -668,11 +719,11 @@ func (x IntegrationCatalogueSource) String() string { } func (IntegrationCatalogueSource) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[11].Descriptor() + return file_brent_proto_enumTypes[12].Descriptor() } func (IntegrationCatalogueSource) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[11] + return &file_brent_proto_enumTypes[12] } func (x IntegrationCatalogueSource) Number() protoreflect.EnumNumber { @@ -681,7 +732,7 @@ func (x IntegrationCatalogueSource) Number() protoreflect.EnumNumber { // Deprecated: Use IntegrationCatalogueSource.Descriptor instead. func (IntegrationCatalogueSource) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{11} + return file_brent_proto_rawDescGZIP(), []int{12} } type ListPullRequestsRequest struct { @@ -7459,6 +7510,7 @@ type Event struct { // *Event_DeviationFindingAcknowledgementCleared // *Event_PlanReviewPolicyDecided // *Event_ReviewRestored + // *Event_WorkspaceReviewPolicyUpdated // *Event_UnknownStoredPayload Payload isEvent_Payload `protobuf_oneof:"payload"` unknownFields protoimpl.UnknownFields @@ -8283,6 +8335,15 @@ func (x *Event) GetReviewRestored() *ReviewRestored { return nil } +func (x *Event) GetWorkspaceReviewPolicyUpdated() *WorkspaceReviewPolicyUpdated { + if x != nil { + if x, ok := x.Payload.(*Event_WorkspaceReviewPolicyUpdated); ok { + return x.WorkspaceReviewPolicyUpdated + } + } + return nil +} + func (x *Event) GetUnknownStoredPayload() *UnknownStoredPayload { if x != nil { if x, ok := x.Payload.(*Event_UnknownStoredPayload); ok { @@ -8660,6 +8721,12 @@ type Event_ReviewRestored struct { ReviewRestored *ReviewRestored `protobuf:"bytes,91,opt,name=review_restored,json=reviewRestored,proto3,oneof"` } +type Event_WorkspaceReviewPolicyUpdated struct { + // WorkspaceReviewPolicyUpdated fires when an operator changes a + // workspace's peer-review policy (ENG-6046 / BRENT-824). + WorkspaceReviewPolicyUpdated *WorkspaceReviewPolicyUpdated `protobuf:"bytes,92,opt,name=workspace_review_policy_updated,json=workspaceReviewPolicyUpdated,proto3,oneof"` +} + type Event_UnknownStoredPayload struct { // UnknownStoredPayload is a read-path placeholder when a persisted row // cannot be reconstructed into a typed variant. Never written by @@ -8825,6 +8892,8 @@ func (*Event_PlanReviewPolicyDecided) isEvent_Payload() {} func (*Event_ReviewRestored) isEvent_Payload() {} +func (*Event_WorkspaceReviewPolicyUpdated) isEvent_Payload() {} + func (*Event_UnknownStoredPayload) isEvent_Payload() {} // Actor identifies who or what caused an event. Flat shape; type-safety @@ -9727,9 +9796,10 @@ func (x *ReviewNoEligibleReviewer) GetActiveHumanPrincipalCount() int32 { } // PlanReviewPolicyDecided fires when plans.Store creates a plan and -// stamps the server-owned peer-review requirement (ENG-5637). The -// decision is fixed at creation from the workspace's active human -// count; MCP clients cannot set or override these fields. +// stamps the server-owned peer-review requirement (ENG-5637 / ENG-6046). +// New plans snapshot workspaces.review_policy; MCP clients cannot set or +// override these fields. Field 5 remains for wire compatibility but is no +// longer the decision source. type PlanReviewPolicyDecided struct { state protoimpl.MessageState `protogen:"open.v1"` // External UUID of the plan (matches plans.external_id). @@ -9738,12 +9808,17 @@ type PlanReviewPolicyDecided struct { PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` // required | not_required ReviewRequirement string `protobuf:"bytes,3,opt,name=review_requirement,json=reviewRequirement,proto3" json:"review_requirement,omitempty"` - // another_human_available | no_other_human | existing_plan + // another_human_available | no_other_human | existing_plan | + // workspace_policy_required | workspace_policy_disabled ReviewPolicyReason string `protobuf:"bytes,4,opt,name=review_policy_reason,json=reviewPolicyReason,proto3" json:"review_policy_reason,omitempty"` - // Active human principal count observed when the decision was made. + // Active human principal count observed when the decision was made + // (observability only for new workspace-policy snapshots). ActiveHumanPrincipalCount int32 `protobuf:"varint,5,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Workspace review_policy snapshotted for this plan: disabled | required. + // Empty on legacy events that predate ENG-6046. + WorkspaceReviewPolicy string `protobuf:"bytes,6,opt,name=workspace_review_policy,json=workspaceReviewPolicy,proto3" json:"workspace_review_policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PlanReviewPolicyDecided) Reset() { @@ -9811,6 +9886,79 @@ func (x *PlanReviewPolicyDecided) GetActiveHumanPrincipalCount() int32 { return 0 } +func (x *PlanReviewPolicyDecided) GetWorkspaceReviewPolicy() string { + if x != nil { + return x.WorkspaceReviewPolicy + } + return "" +} + +// WorkspaceReviewPolicyUpdated fires when an operator changes +// workspaces.review_policy (ENG-6046 / BRENT-824). The Event actor is the +// operator; the object reference is the workspace. +type WorkspaceReviewPolicyUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Previous policy value: disabled | required. + PreviousPolicy string `protobuf:"bytes,1,opt,name=previous_policy,json=previousPolicy,proto3" json:"previous_policy,omitempty"` + // New policy value: disabled | required. + NewPolicy string `protobuf:"bytes,2,opt,name=new_policy,json=newPolicy,proto3" json:"new_policy,omitempty"` + // Active human principal count observed at update time. + ActiveHumanPrincipalCount int32 `protobuf:"varint,3,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkspaceReviewPolicyUpdated) Reset() { + *x = WorkspaceReviewPolicyUpdated{} + mi := &file_brent_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkspaceReviewPolicyUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceReviewPolicyUpdated) ProtoMessage() {} + +func (x *WorkspaceReviewPolicyUpdated) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceReviewPolicyUpdated.ProtoReflect.Descriptor instead. +func (*WorkspaceReviewPolicyUpdated) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{106} +} + +func (x *WorkspaceReviewPolicyUpdated) GetPreviousPolicy() string { + if x != nil { + return x.PreviousPolicy + } + return "" +} + +func (x *WorkspaceReviewPolicyUpdated) GetNewPolicy() string { + if x != nil { + return x.NewPolicy + } + return "" +} + +func (x *WorkspaceReviewPolicyUpdated) GetActiveHumanPrincipalCount() int32 { + if x != nil { + return x.ActiveHumanPrincipalCount + } + return 0 +} + // PrincipalCreated fires after a principal row is inserted by // principals.Store. Emitted exactly once per principal_id; for the system // (kind='agent') principal the bootstrap shape sets the actor equal to the @@ -9830,7 +9978,7 @@ type PrincipalCreated struct { func (x *PrincipalCreated) Reset() { *x = PrincipalCreated{} - mi := &file_brent_proto_msgTypes[106] + mi := &file_brent_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9842,7 +9990,7 @@ func (x *PrincipalCreated) String() string { func (*PrincipalCreated) ProtoMessage() {} func (x *PrincipalCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[106] + mi := &file_brent_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9855,7 +10003,7 @@ func (x *PrincipalCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use PrincipalCreated.ProtoReflect.Descriptor instead. func (*PrincipalCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{106} + return file_brent_proto_rawDescGZIP(), []int{107} } func (x *PrincipalCreated) GetPrincipalId() string { @@ -9901,7 +10049,7 @@ type PrincipalUpdated struct { func (x *PrincipalUpdated) Reset() { *x = PrincipalUpdated{} - mi := &file_brent_proto_msgTypes[107] + mi := &file_brent_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9913,7 +10061,7 @@ func (x *PrincipalUpdated) String() string { func (*PrincipalUpdated) ProtoMessage() {} func (x *PrincipalUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[107] + mi := &file_brent_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9926,7 +10074,7 @@ func (x *PrincipalUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use PrincipalUpdated.ProtoReflect.Descriptor instead. func (*PrincipalUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{107} + return file_brent_proto_rawDescGZIP(), []int{108} } func (x *PrincipalUpdated) GetPrincipalId() string { @@ -9972,7 +10120,7 @@ type PrincipalTombstoned struct { func (x *PrincipalTombstoned) Reset() { *x = PrincipalTombstoned{} - mi := &file_brent_proto_msgTypes[108] + mi := &file_brent_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9984,7 +10132,7 @@ func (x *PrincipalTombstoned) String() string { func (*PrincipalTombstoned) ProtoMessage() {} func (x *PrincipalTombstoned) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[108] + mi := &file_brent_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9997,7 +10145,7 @@ func (x *PrincipalTombstoned) ProtoReflect() protoreflect.Message { // Deprecated: Use PrincipalTombstoned.ProtoReflect.Descriptor instead. func (*PrincipalTombstoned) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{108} + return file_brent_proto_rawDescGZIP(), []int{109} } func (x *PrincipalTombstoned) GetPrincipalId() string { @@ -10033,7 +10181,7 @@ type WorkspaceCreated struct { func (x *WorkspaceCreated) Reset() { *x = WorkspaceCreated{} - mi := &file_brent_proto_msgTypes[109] + mi := &file_brent_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10045,7 +10193,7 @@ func (x *WorkspaceCreated) String() string { func (*WorkspaceCreated) ProtoMessage() {} func (x *WorkspaceCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[109] + mi := &file_brent_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10058,7 +10206,7 @@ func (x *WorkspaceCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceCreated.ProtoReflect.Descriptor instead. func (*WorkspaceCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{109} + return file_brent_proto_rawDescGZIP(), []int{110} } func (x *WorkspaceCreated) GetWorkspaceId() string { @@ -10104,7 +10252,7 @@ type WorkspaceOnboardingCompleted struct { func (x *WorkspaceOnboardingCompleted) Reset() { *x = WorkspaceOnboardingCompleted{} - mi := &file_brent_proto_msgTypes[110] + mi := &file_brent_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10116,7 +10264,7 @@ func (x *WorkspaceOnboardingCompleted) String() string { func (*WorkspaceOnboardingCompleted) ProtoMessage() {} func (x *WorkspaceOnboardingCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[110] + mi := &file_brent_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10129,7 +10277,7 @@ func (x *WorkspaceOnboardingCompleted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceOnboardingCompleted.ProtoReflect.Descriptor instead. func (*WorkspaceOnboardingCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{110} + return file_brent_proto_rawDescGZIP(), []int{111} } func (x *WorkspaceOnboardingCompleted) GetWorkspaceId() string { @@ -10171,7 +10319,7 @@ type WorkspaceRenamed struct { func (x *WorkspaceRenamed) Reset() { *x = WorkspaceRenamed{} - mi := &file_brent_proto_msgTypes[111] + mi := &file_brent_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10183,7 +10331,7 @@ func (x *WorkspaceRenamed) String() string { func (*WorkspaceRenamed) ProtoMessage() {} func (x *WorkspaceRenamed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[111] + mi := &file_brent_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10196,7 +10344,7 @@ func (x *WorkspaceRenamed) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceRenamed.ProtoReflect.Descriptor instead. func (*WorkspaceRenamed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{111} + return file_brent_proto_rawDescGZIP(), []int{112} } func (x *WorkspaceRenamed) GetWorkspaceId() string { @@ -10254,7 +10402,7 @@ type WorkspaceDeleted struct { func (x *WorkspaceDeleted) Reset() { *x = WorkspaceDeleted{} - mi := &file_brent_proto_msgTypes[112] + mi := &file_brent_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10266,7 +10414,7 @@ func (x *WorkspaceDeleted) String() string { func (*WorkspaceDeleted) ProtoMessage() {} func (x *WorkspaceDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[112] + mi := &file_brent_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10279,7 +10427,7 @@ func (x *WorkspaceDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceDeleted.ProtoReflect.Descriptor instead. func (*WorkspaceDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{112} + return file_brent_proto_rawDescGZIP(), []int{113} } func (x *WorkspaceDeleted) GetWorkspaceId() string { @@ -10320,7 +10468,7 @@ type WorkspaceMemberJoined struct { func (x *WorkspaceMemberJoined) Reset() { *x = WorkspaceMemberJoined{} - mi := &file_brent_proto_msgTypes[113] + mi := &file_brent_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10332,7 +10480,7 @@ func (x *WorkspaceMemberJoined) String() string { func (*WorkspaceMemberJoined) ProtoMessage() {} func (x *WorkspaceMemberJoined) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[113] + mi := &file_brent_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10345,7 +10493,7 @@ func (x *WorkspaceMemberJoined) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceMemberJoined.ProtoReflect.Descriptor instead. func (*WorkspaceMemberJoined) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{113} + return file_brent_proto_rawDescGZIP(), []int{114} } func (x *WorkspaceMemberJoined) GetWorkspaceId() string { @@ -10397,7 +10545,7 @@ type WorkspaceMemberLeft struct { func (x *WorkspaceMemberLeft) Reset() { *x = WorkspaceMemberLeft{} - mi := &file_brent_proto_msgTypes[114] + mi := &file_brent_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10409,7 +10557,7 @@ func (x *WorkspaceMemberLeft) String() string { func (*WorkspaceMemberLeft) ProtoMessage() {} func (x *WorkspaceMemberLeft) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[114] + mi := &file_brent_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10422,7 +10570,7 @@ func (x *WorkspaceMemberLeft) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceMemberLeft.ProtoReflect.Descriptor instead. func (*WorkspaceMemberLeft) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{114} + return file_brent_proto_rawDescGZIP(), []int{115} } func (x *WorkspaceMemberLeft) GetWorkspaceId() string { @@ -10465,7 +10613,7 @@ type ApprovedEmailDomainAdded struct { func (x *ApprovedEmailDomainAdded) Reset() { *x = ApprovedEmailDomainAdded{} - mi := &file_brent_proto_msgTypes[115] + mi := &file_brent_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10477,7 +10625,7 @@ func (x *ApprovedEmailDomainAdded) String() string { func (*ApprovedEmailDomainAdded) ProtoMessage() {} func (x *ApprovedEmailDomainAdded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[115] + mi := &file_brent_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10490,7 +10638,7 @@ func (x *ApprovedEmailDomainAdded) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomainAdded.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomainAdded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{115} + return file_brent_proto_rawDescGZIP(), []int{116} } func (x *ApprovedEmailDomainAdded) GetWorkspaceId() string { @@ -10536,7 +10684,7 @@ type ApprovedEmailDomainVerified struct { func (x *ApprovedEmailDomainVerified) Reset() { *x = ApprovedEmailDomainVerified{} - mi := &file_brent_proto_msgTypes[116] + mi := &file_brent_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10548,7 +10696,7 @@ func (x *ApprovedEmailDomainVerified) String() string { func (*ApprovedEmailDomainVerified) ProtoMessage() {} func (x *ApprovedEmailDomainVerified) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[116] + mi := &file_brent_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10561,7 +10709,7 @@ func (x *ApprovedEmailDomainVerified) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomainVerified.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomainVerified) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{116} + return file_brent_proto_rawDescGZIP(), []int{117} } func (x *ApprovedEmailDomainVerified) GetWorkspaceId() string { @@ -10607,7 +10755,7 @@ type ApprovedEmailDomainDeleted struct { func (x *ApprovedEmailDomainDeleted) Reset() { *x = ApprovedEmailDomainDeleted{} - mi := &file_brent_proto_msgTypes[117] + mi := &file_brent_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10619,7 +10767,7 @@ func (x *ApprovedEmailDomainDeleted) String() string { func (*ApprovedEmailDomainDeleted) ProtoMessage() {} func (x *ApprovedEmailDomainDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[117] + mi := &file_brent_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10632,7 +10780,7 @@ func (x *ApprovedEmailDomainDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomainDeleted.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomainDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{117} + return file_brent_proto_rawDescGZIP(), []int{118} } func (x *ApprovedEmailDomainDeleted) GetWorkspaceId() string { @@ -10689,7 +10837,7 @@ type MCPGrantWorkspaceBindingChanged struct { func (x *MCPGrantWorkspaceBindingChanged) Reset() { *x = MCPGrantWorkspaceBindingChanged{} - mi := &file_brent_proto_msgTypes[118] + mi := &file_brent_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10701,7 +10849,7 @@ func (x *MCPGrantWorkspaceBindingChanged) String() string { func (*MCPGrantWorkspaceBindingChanged) ProtoMessage() {} func (x *MCPGrantWorkspaceBindingChanged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[118] + mi := &file_brent_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10714,7 +10862,7 @@ func (x *MCPGrantWorkspaceBindingChanged) ProtoReflect() protoreflect.Message { // Deprecated: Use MCPGrantWorkspaceBindingChanged.ProtoReflect.Descriptor instead. func (*MCPGrantWorkspaceBindingChanged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{118} + return file_brent_proto_rawDescGZIP(), []int{119} } func (x *MCPGrantWorkspaceBindingChanged) GetBindingId() string { @@ -10793,7 +10941,7 @@ type IdentityCreated struct { func (x *IdentityCreated) Reset() { *x = IdentityCreated{} - mi := &file_brent_proto_msgTypes[119] + mi := &file_brent_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10805,7 +10953,7 @@ func (x *IdentityCreated) String() string { func (*IdentityCreated) ProtoMessage() {} func (x *IdentityCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[119] + mi := &file_brent_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10818,7 +10966,7 @@ func (x *IdentityCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use IdentityCreated.ProtoReflect.Descriptor instead. func (*IdentityCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{119} + return file_brent_proto_rawDescGZIP(), []int{120} } func (x *IdentityCreated) GetIdentityId() string { @@ -10864,7 +11012,7 @@ type IdentityDeleted struct { func (x *IdentityDeleted) Reset() { *x = IdentityDeleted{} - mi := &file_brent_proto_msgTypes[120] + mi := &file_brent_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10876,7 +11024,7 @@ func (x *IdentityDeleted) String() string { func (*IdentityDeleted) ProtoMessage() {} func (x *IdentityDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[120] + mi := &file_brent_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10889,7 +11037,7 @@ func (x *IdentityDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use IdentityDeleted.ProtoReflect.Descriptor instead. func (*IdentityDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{120} + return file_brent_proto_rawDescGZIP(), []int{121} } func (x *IdentityDeleted) GetIdentityId() string { @@ -10946,7 +11094,7 @@ type BindingCreated struct { func (x *BindingCreated) Reset() { *x = BindingCreated{} - mi := &file_brent_proto_msgTypes[121] + mi := &file_brent_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10958,7 +11106,7 @@ func (x *BindingCreated) String() string { func (*BindingCreated) ProtoMessage() {} func (x *BindingCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[121] + mi := &file_brent_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10971,7 +11119,7 @@ func (x *BindingCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use BindingCreated.ProtoReflect.Descriptor instead. func (*BindingCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{121} + return file_brent_proto_rawDescGZIP(), []int{122} } func (x *BindingCreated) GetBindingId() string { @@ -11029,7 +11177,7 @@ type BindingUpdated struct { func (x *BindingUpdated) Reset() { *x = BindingUpdated{} - mi := &file_brent_proto_msgTypes[122] + mi := &file_brent_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11041,7 +11189,7 @@ func (x *BindingUpdated) String() string { func (*BindingUpdated) ProtoMessage() {} func (x *BindingUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[122] + mi := &file_brent_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11054,7 +11202,7 @@ func (x *BindingUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use BindingUpdated.ProtoReflect.Descriptor instead. func (*BindingUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{122} + return file_brent_proto_rawDescGZIP(), []int{123} } func (x *BindingUpdated) GetBindingId() string { @@ -11107,7 +11255,7 @@ type BindingDeleted struct { func (x *BindingDeleted) Reset() { *x = BindingDeleted{} - mi := &file_brent_proto_msgTypes[123] + mi := &file_brent_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11119,7 +11267,7 @@ func (x *BindingDeleted) String() string { func (*BindingDeleted) ProtoMessage() {} func (x *BindingDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[123] + mi := &file_brent_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11132,7 +11280,7 @@ func (x *BindingDeleted) ProtoReflect() protoreflect.Message { // Deprecated: Use BindingDeleted.ProtoReflect.Descriptor instead. func (*BindingDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{123} + return file_brent_proto_rawDescGZIP(), []int{124} } func (x *BindingDeleted) GetBindingId() string { @@ -11176,7 +11324,7 @@ type CredentialConnected struct { func (x *CredentialConnected) Reset() { *x = CredentialConnected{} - mi := &file_brent_proto_msgTypes[124] + mi := &file_brent_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11188,7 +11336,7 @@ func (x *CredentialConnected) String() string { func (*CredentialConnected) ProtoMessage() {} func (x *CredentialConnected) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[124] + mi := &file_brent_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11201,7 +11349,7 @@ func (x *CredentialConnected) ProtoReflect() protoreflect.Message { // Deprecated: Use CredentialConnected.ProtoReflect.Descriptor instead. func (*CredentialConnected) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{124} + return file_brent_proto_rawDescGZIP(), []int{125} } func (x *CredentialConnected) GetProvider() string { @@ -11236,7 +11384,7 @@ type CredentialRevoked struct { func (x *CredentialRevoked) Reset() { *x = CredentialRevoked{} - mi := &file_brent_proto_msgTypes[125] + mi := &file_brent_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11248,7 +11396,7 @@ func (x *CredentialRevoked) String() string { func (*CredentialRevoked) ProtoMessage() {} func (x *CredentialRevoked) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[125] + mi := &file_brent_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11261,7 +11409,7 @@ func (x *CredentialRevoked) ProtoReflect() protoreflect.Message { // Deprecated: Use CredentialRevoked.ProtoReflect.Descriptor instead. func (*CredentialRevoked) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{125} + return file_brent_proto_rawDescGZIP(), []int{126} } func (x *CredentialRevoked) GetProvider() string { @@ -11283,7 +11431,7 @@ type WorkspaceLLMCredentialConnected struct { func (x *WorkspaceLLMCredentialConnected) Reset() { *x = WorkspaceLLMCredentialConnected{} - mi := &file_brent_proto_msgTypes[126] + mi := &file_brent_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11295,7 +11443,7 @@ func (x *WorkspaceLLMCredentialConnected) String() string { func (*WorkspaceLLMCredentialConnected) ProtoMessage() {} func (x *WorkspaceLLMCredentialConnected) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[126] + mi := &file_brent_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11308,7 +11456,7 @@ func (x *WorkspaceLLMCredentialConnected) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceLLMCredentialConnected.ProtoReflect.Descriptor instead. func (*WorkspaceLLMCredentialConnected) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{126} + return file_brent_proto_rawDescGZIP(), []int{127} } func (x *WorkspaceLLMCredentialConnected) GetProvider() string { @@ -11336,7 +11484,7 @@ type WorkspaceLLMCredentialRevoked struct { func (x *WorkspaceLLMCredentialRevoked) Reset() { *x = WorkspaceLLMCredentialRevoked{} - mi := &file_brent_proto_msgTypes[127] + mi := &file_brent_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11348,7 +11496,7 @@ func (x *WorkspaceLLMCredentialRevoked) String() string { func (*WorkspaceLLMCredentialRevoked) ProtoMessage() {} func (x *WorkspaceLLMCredentialRevoked) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[127] + mi := &file_brent_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11361,7 +11509,7 @@ func (x *WorkspaceLLMCredentialRevoked) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceLLMCredentialRevoked.ProtoReflect.Descriptor instead. func (*WorkspaceLLMCredentialRevoked) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{127} + return file_brent_proto_rawDescGZIP(), []int{128} } func (x *WorkspaceLLMCredentialRevoked) GetProvider() string { @@ -11399,7 +11547,7 @@ type ReviewDriveByStarted struct { func (x *ReviewDriveByStarted) Reset() { *x = ReviewDriveByStarted{} - mi := &file_brent_proto_msgTypes[128] + mi := &file_brent_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11411,7 +11559,7 @@ func (x *ReviewDriveByStarted) String() string { func (*ReviewDriveByStarted) ProtoMessage() {} func (x *ReviewDriveByStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[128] + mi := &file_brent_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11424,7 +11572,7 @@ func (x *ReviewDriveByStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use ReviewDriveByStarted.ProtoReflect.Descriptor instead. func (*ReviewDriveByStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{128} + return file_brent_proto_rawDescGZIP(), []int{129} } func (x *ReviewDriveByStarted) GetReviewId() string { @@ -11491,7 +11639,7 @@ type OtherEvent struct { func (x *OtherEvent) Reset() { *x = OtherEvent{} - mi := &file_brent_proto_msgTypes[129] + mi := &file_brent_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11503,7 +11651,7 @@ func (x *OtherEvent) String() string { func (*OtherEvent) ProtoMessage() {} func (x *OtherEvent) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[129] + mi := &file_brent_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11516,7 +11664,7 @@ func (x *OtherEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use OtherEvent.ProtoReflect.Descriptor instead. func (*OtherEvent) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{129} + return file_brent_proto_rawDescGZIP(), []int{130} } func (x *OtherEvent) GetSource() string { @@ -11556,7 +11704,7 @@ type UnknownStoredPayload struct { func (x *UnknownStoredPayload) Reset() { *x = UnknownStoredPayload{} - mi := &file_brent_proto_msgTypes[130] + mi := &file_brent_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11568,7 +11716,7 @@ func (x *UnknownStoredPayload) String() string { func (*UnknownStoredPayload) ProtoMessage() {} func (x *UnknownStoredPayload) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[130] + mi := &file_brent_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11581,7 +11729,7 @@ func (x *UnknownStoredPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use UnknownStoredPayload.ProtoReflect.Descriptor instead. func (*UnknownStoredPayload) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{130} + return file_brent_proto_rawDescGZIP(), []int{131} } func (x *UnknownStoredPayload) GetStoredPayloadType() string { @@ -11630,7 +11778,7 @@ type PullRequestOpened struct { func (x *PullRequestOpened) Reset() { *x = PullRequestOpened{} - mi := &file_brent_proto_msgTypes[131] + mi := &file_brent_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11642,7 +11790,7 @@ func (x *PullRequestOpened) String() string { func (*PullRequestOpened) ProtoMessage() {} func (x *PullRequestOpened) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[131] + mi := &file_brent_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11655,7 +11803,7 @@ func (x *PullRequestOpened) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestOpened.ProtoReflect.Descriptor instead. func (*PullRequestOpened) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{131} + return file_brent_proto_rawDescGZIP(), []int{132} } func (x *PullRequestOpened) GetPrId() string { @@ -11780,7 +11928,7 @@ type PullRequestSynchronized struct { func (x *PullRequestSynchronized) Reset() { *x = PullRequestSynchronized{} - mi := &file_brent_proto_msgTypes[132] + mi := &file_brent_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11792,7 +11940,7 @@ func (x *PullRequestSynchronized) String() string { func (*PullRequestSynchronized) ProtoMessage() {} func (x *PullRequestSynchronized) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[132] + mi := &file_brent_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11805,7 +11953,7 @@ func (x *PullRequestSynchronized) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestSynchronized.ProtoReflect.Descriptor instead. func (*PullRequestSynchronized) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{132} + return file_brent_proto_rawDescGZIP(), []int{133} } func (x *PullRequestSynchronized) GetPrId() string { @@ -11945,7 +12093,7 @@ type PullRequestUpdated struct { func (x *PullRequestUpdated) Reset() { *x = PullRequestUpdated{} - mi := &file_brent_proto_msgTypes[133] + mi := &file_brent_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11957,7 +12105,7 @@ func (x *PullRequestUpdated) String() string { func (*PullRequestUpdated) ProtoMessage() {} func (x *PullRequestUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[133] + mi := &file_brent_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11970,7 +12118,7 @@ func (x *PullRequestUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestUpdated.ProtoReflect.Descriptor instead. func (*PullRequestUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{133} + return file_brent_proto_rawDescGZIP(), []int{134} } func (x *PullRequestUpdated) GetPrId() string { @@ -12117,7 +12265,7 @@ type PullRequestClosed struct { func (x *PullRequestClosed) Reset() { *x = PullRequestClosed{} - mi := &file_brent_proto_msgTypes[134] + mi := &file_brent_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12129,7 +12277,7 @@ func (x *PullRequestClosed) String() string { func (*PullRequestClosed) ProtoMessage() {} func (x *PullRequestClosed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[134] + mi := &file_brent_proto_msgTypes[135] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12142,7 +12290,7 @@ func (x *PullRequestClosed) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestClosed.ProtoReflect.Descriptor instead. func (*PullRequestClosed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{134} + return file_brent_proto_rawDescGZIP(), []int{135} } func (x *PullRequestClosed) GetPrId() string { @@ -12282,7 +12430,7 @@ type PullRequestLinkedToPlan struct { func (x *PullRequestLinkedToPlan) Reset() { *x = PullRequestLinkedToPlan{} - mi := &file_brent_proto_msgTypes[135] + mi := &file_brent_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12294,7 +12442,7 @@ func (x *PullRequestLinkedToPlan) String() string { func (*PullRequestLinkedToPlan) ProtoMessage() {} func (x *PullRequestLinkedToPlan) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[135] + mi := &file_brent_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12307,7 +12455,7 @@ func (x *PullRequestLinkedToPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestLinkedToPlan.ProtoReflect.Descriptor instead. func (*PullRequestLinkedToPlan) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{135} + return file_brent_proto_rawDescGZIP(), []int{136} } func (x *PullRequestLinkedToPlan) GetPrId() string { @@ -12433,7 +12581,7 @@ type PullRequestUnlinkedFromPlan struct { func (x *PullRequestUnlinkedFromPlan) Reset() { *x = PullRequestUnlinkedFromPlan{} - mi := &file_brent_proto_msgTypes[136] + mi := &file_brent_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12445,7 +12593,7 @@ func (x *PullRequestUnlinkedFromPlan) String() string { func (*PullRequestUnlinkedFromPlan) ProtoMessage() {} func (x *PullRequestUnlinkedFromPlan) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[136] + mi := &file_brent_proto_msgTypes[137] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12458,7 +12606,7 @@ func (x *PullRequestUnlinkedFromPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestUnlinkedFromPlan.ProtoReflect.Descriptor instead. func (*PullRequestUnlinkedFromPlan) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{136} + return file_brent_proto_rawDescGZIP(), []int{137} } func (x *PullRequestUnlinkedFromPlan) GetPrId() string { @@ -12593,7 +12741,7 @@ type PullRequestLinkedToAgentRun struct { func (x *PullRequestLinkedToAgentRun) Reset() { *x = PullRequestLinkedToAgentRun{} - mi := &file_brent_proto_msgTypes[137] + mi := &file_brent_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12605,7 +12753,7 @@ func (x *PullRequestLinkedToAgentRun) String() string { func (*PullRequestLinkedToAgentRun) ProtoMessage() {} func (x *PullRequestLinkedToAgentRun) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[137] + mi := &file_brent_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12618,7 +12766,7 @@ func (x *PullRequestLinkedToAgentRun) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestLinkedToAgentRun.ProtoReflect.Descriptor instead. func (*PullRequestLinkedToAgentRun) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{137} + return file_brent_proto_rawDescGZIP(), []int{138} } func (x *PullRequestLinkedToAgentRun) GetPrId() string { @@ -12743,7 +12891,7 @@ type PullRequestReviewRequested struct { func (x *PullRequestReviewRequested) Reset() { *x = PullRequestReviewRequested{} - mi := &file_brent_proto_msgTypes[138] + mi := &file_brent_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12755,7 +12903,7 @@ func (x *PullRequestReviewRequested) String() string { func (*PullRequestReviewRequested) ProtoMessage() {} func (x *PullRequestReviewRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[138] + mi := &file_brent_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12768,7 +12916,7 @@ func (x *PullRequestReviewRequested) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestReviewRequested.ProtoReflect.Descriptor instead. func (*PullRequestReviewRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{138} + return file_brent_proto_rawDescGZIP(), []int{139} } func (x *PullRequestReviewRequested) GetPrId() string { @@ -12870,7 +13018,7 @@ type PullRequestApproved struct { func (x *PullRequestApproved) Reset() { *x = PullRequestApproved{} - mi := &file_brent_proto_msgTypes[139] + mi := &file_brent_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12882,7 +13030,7 @@ func (x *PullRequestApproved) String() string { func (*PullRequestApproved) ProtoMessage() {} func (x *PullRequestApproved) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[139] + mi := &file_brent_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12895,7 +13043,7 @@ func (x *PullRequestApproved) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestApproved.ProtoReflect.Descriptor instead. func (*PullRequestApproved) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{139} + return file_brent_proto_rawDescGZIP(), []int{140} } func (x *PullRequestApproved) GetPrId() string { @@ -13011,7 +13159,7 @@ type PullRequestChangesRequested struct { func (x *PullRequestChangesRequested) Reset() { *x = PullRequestChangesRequested{} - mi := &file_brent_proto_msgTypes[140] + mi := &file_brent_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13023,7 +13171,7 @@ func (x *PullRequestChangesRequested) String() string { func (*PullRequestChangesRequested) ProtoMessage() {} func (x *PullRequestChangesRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[140] + mi := &file_brent_proto_msgTypes[141] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13036,7 +13184,7 @@ func (x *PullRequestChangesRequested) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestChangesRequested.ProtoReflect.Descriptor instead. func (*PullRequestChangesRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{140} + return file_brent_proto_rawDescGZIP(), []int{141} } func (x *PullRequestChangesRequested) GetPrId() string { @@ -13147,7 +13295,7 @@ type PullRequestReviewDismissed struct { func (x *PullRequestReviewDismissed) Reset() { *x = PullRequestReviewDismissed{} - mi := &file_brent_proto_msgTypes[141] + mi := &file_brent_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13159,7 +13307,7 @@ func (x *PullRequestReviewDismissed) String() string { func (*PullRequestReviewDismissed) ProtoMessage() {} func (x *PullRequestReviewDismissed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[141] + mi := &file_brent_proto_msgTypes[142] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13172,7 +13320,7 @@ func (x *PullRequestReviewDismissed) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestReviewDismissed.ProtoReflect.Descriptor instead. func (*PullRequestReviewDismissed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{141} + return file_brent_proto_rawDescGZIP(), []int{142} } func (x *PullRequestReviewDismissed) GetPrId() string { @@ -13280,7 +13428,7 @@ type PullRequestCommentCreated struct { func (x *PullRequestCommentCreated) Reset() { *x = PullRequestCommentCreated{} - mi := &file_brent_proto_msgTypes[142] + mi := &file_brent_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13292,7 +13440,7 @@ func (x *PullRequestCommentCreated) String() string { func (*PullRequestCommentCreated) ProtoMessage() {} func (x *PullRequestCommentCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[142] + mi := &file_brent_proto_msgTypes[143] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13305,7 +13453,7 @@ func (x *PullRequestCommentCreated) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequestCommentCreated.ProtoReflect.Descriptor instead. func (*PullRequestCommentCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{142} + return file_brent_proto_rawDescGZIP(), []int{143} } func (x *PullRequestCommentCreated) GetPrId() string { @@ -13402,7 +13550,7 @@ type DeviationAnalysisStarted struct { func (x *DeviationAnalysisStarted) Reset() { *x = DeviationAnalysisStarted{} - mi := &file_brent_proto_msgTypes[143] + mi := &file_brent_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13414,7 +13562,7 @@ func (x *DeviationAnalysisStarted) String() string { func (*DeviationAnalysisStarted) ProtoMessage() {} func (x *DeviationAnalysisStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[143] + mi := &file_brent_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13427,7 +13575,7 @@ func (x *DeviationAnalysisStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationAnalysisStarted.ProtoReflect.Descriptor instead. func (*DeviationAnalysisStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{143} + return file_brent_proto_rawDescGZIP(), []int{144} } func (x *DeviationAnalysisStarted) GetAnalysisId() string { @@ -13495,7 +13643,7 @@ type FindingSummary struct { func (x *FindingSummary) Reset() { *x = FindingSummary{} - mi := &file_brent_proto_msgTypes[144] + mi := &file_brent_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13507,7 +13655,7 @@ func (x *FindingSummary) String() string { func (*FindingSummary) ProtoMessage() {} func (x *FindingSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[144] + mi := &file_brent_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13520,7 +13668,7 @@ func (x *FindingSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use FindingSummary.ProtoReflect.Descriptor instead. func (*FindingSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{144} + return file_brent_proto_rawDescGZIP(), []int{145} } func (x *FindingSummary) GetKind() string { @@ -13576,7 +13724,7 @@ type DeviationAnalysisCompleted struct { func (x *DeviationAnalysisCompleted) Reset() { *x = DeviationAnalysisCompleted{} - mi := &file_brent_proto_msgTypes[145] + mi := &file_brent_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13588,7 +13736,7 @@ func (x *DeviationAnalysisCompleted) String() string { func (*DeviationAnalysisCompleted) ProtoMessage() {} func (x *DeviationAnalysisCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[145] + mi := &file_brent_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13601,7 +13749,7 @@ func (x *DeviationAnalysisCompleted) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationAnalysisCompleted.ProtoReflect.Descriptor instead. func (*DeviationAnalysisCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{145} + return file_brent_proto_rawDescGZIP(), []int{146} } func (x *DeviationAnalysisCompleted) GetAnalysisId() string { @@ -13690,7 +13838,7 @@ type DeviationAnalysisFailed struct { func (x *DeviationAnalysisFailed) Reset() { *x = DeviationAnalysisFailed{} - mi := &file_brent_proto_msgTypes[146] + mi := &file_brent_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13702,7 +13850,7 @@ func (x *DeviationAnalysisFailed) String() string { func (*DeviationAnalysisFailed) ProtoMessage() {} func (x *DeviationAnalysisFailed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[146] + mi := &file_brent_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13715,7 +13863,7 @@ func (x *DeviationAnalysisFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationAnalysisFailed.ProtoReflect.Descriptor instead. func (*DeviationAnalysisFailed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{146} + return file_brent_proto_rawDescGZIP(), []int{147} } func (x *DeviationAnalysisFailed) GetAnalysisId() string { @@ -13781,7 +13929,7 @@ type DeviationFindingRecorded struct { func (x *DeviationFindingRecorded) Reset() { *x = DeviationFindingRecorded{} - mi := &file_brent_proto_msgTypes[147] + mi := &file_brent_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13793,7 +13941,7 @@ func (x *DeviationFindingRecorded) String() string { func (*DeviationFindingRecorded) ProtoMessage() {} func (x *DeviationFindingRecorded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[147] + mi := &file_brent_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13806,7 +13954,7 @@ func (x *DeviationFindingRecorded) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingRecorded.ProtoReflect.Descriptor instead. func (*DeviationFindingRecorded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{147} + return file_brent_proto_rawDescGZIP(), []int{148} } func (x *DeviationFindingRecorded) GetFindingId() string { @@ -13866,7 +14014,7 @@ type DeviationFindingUpdated struct { func (x *DeviationFindingUpdated) Reset() { *x = DeviationFindingUpdated{} - mi := &file_brent_proto_msgTypes[148] + mi := &file_brent_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13878,7 +14026,7 @@ func (x *DeviationFindingUpdated) String() string { func (*DeviationFindingUpdated) ProtoMessage() {} func (x *DeviationFindingUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[148] + mi := &file_brent_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13891,7 +14039,7 @@ func (x *DeviationFindingUpdated) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingUpdated.ProtoReflect.Descriptor instead. func (*DeviationFindingUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{148} + return file_brent_proto_rawDescGZIP(), []int{149} } func (x *DeviationFindingUpdated) GetFindingId() string { @@ -13958,7 +14106,7 @@ type DeviationFindingResolved struct { func (x *DeviationFindingResolved) Reset() { *x = DeviationFindingResolved{} - mi := &file_brent_proto_msgTypes[149] + mi := &file_brent_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13970,7 +14118,7 @@ func (x *DeviationFindingResolved) String() string { func (*DeviationFindingResolved) ProtoMessage() {} func (x *DeviationFindingResolved) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[149] + mi := &file_brent_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13983,7 +14131,7 @@ func (x *DeviationFindingResolved) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingResolved.ProtoReflect.Descriptor instead. func (*DeviationFindingResolved) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{149} + return file_brent_proto_rawDescGZIP(), []int{150} } func (x *DeviationFindingResolved) GetFindingId() string { @@ -14048,7 +14196,7 @@ type DeviationFindingAcknowledged struct { func (x *DeviationFindingAcknowledged) Reset() { *x = DeviationFindingAcknowledged{} - mi := &file_brent_proto_msgTypes[150] + mi := &file_brent_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14060,7 +14208,7 @@ func (x *DeviationFindingAcknowledged) String() string { func (*DeviationFindingAcknowledged) ProtoMessage() {} func (x *DeviationFindingAcknowledged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[150] + mi := &file_brent_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14073,7 +14221,7 @@ func (x *DeviationFindingAcknowledged) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviationFindingAcknowledged.ProtoReflect.Descriptor instead. func (*DeviationFindingAcknowledged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{150} + return file_brent_proto_rawDescGZIP(), []int{151} } func (x *DeviationFindingAcknowledged) GetFindingId() string { @@ -14152,7 +14300,7 @@ type DeviationFindingAcknowledgementCleared struct { func (x *DeviationFindingAcknowledgementCleared) Reset() { *x = DeviationFindingAcknowledgementCleared{} - mi := &file_brent_proto_msgTypes[151] + mi := &file_brent_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14164,7 +14312,7 @@ func (x *DeviationFindingAcknowledgementCleared) String() string { func (*DeviationFindingAcknowledgementCleared) ProtoMessage() {} func (x *DeviationFindingAcknowledgementCleared) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[151] + mi := &file_brent_proto_msgTypes[152] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14177,7 +14325,7 @@ func (x *DeviationFindingAcknowledgementCleared) ProtoReflect() protoreflect.Mes // Deprecated: Use DeviationFindingAcknowledgementCleared.ProtoReflect.Descriptor instead. func (*DeviationFindingAcknowledgementCleared) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{151} + return file_brent_proto_rawDescGZIP(), []int{152} } func (x *DeviationFindingAcknowledgementCleared) GetFindingId() string { @@ -14255,7 +14403,7 @@ type AgentRunDispatched struct { func (x *AgentRunDispatched) Reset() { *x = AgentRunDispatched{} - mi := &file_brent_proto_msgTypes[152] + mi := &file_brent_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14267,7 +14415,7 @@ func (x *AgentRunDispatched) String() string { func (*AgentRunDispatched) ProtoMessage() {} func (x *AgentRunDispatched) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[152] + mi := &file_brent_proto_msgTypes[153] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14280,7 +14428,7 @@ func (x *AgentRunDispatched) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunDispatched.ProtoReflect.Descriptor instead. func (*AgentRunDispatched) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{152} + return file_brent_proto_rawDescGZIP(), []int{153} } func (x *AgentRunDispatched) GetAgentRunUuid() string { @@ -14358,7 +14506,7 @@ type AgentRunStarted struct { func (x *AgentRunStarted) Reset() { *x = AgentRunStarted{} - mi := &file_brent_proto_msgTypes[153] + mi := &file_brent_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14370,7 +14518,7 @@ func (x *AgentRunStarted) String() string { func (*AgentRunStarted) ProtoMessage() {} func (x *AgentRunStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[153] + mi := &file_brent_proto_msgTypes[154] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14383,7 +14531,7 @@ func (x *AgentRunStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunStarted.ProtoReflect.Descriptor instead. func (*AgentRunStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{153} + return file_brent_proto_rawDescGZIP(), []int{154} } func (x *AgentRunStarted) GetAgentRunUuid() string { @@ -14420,7 +14568,7 @@ type AgentRunPullRequestMatched struct { func (x *AgentRunPullRequestMatched) Reset() { *x = AgentRunPullRequestMatched{} - mi := &file_brent_proto_msgTypes[154] + mi := &file_brent_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14432,7 +14580,7 @@ func (x *AgentRunPullRequestMatched) String() string { func (*AgentRunPullRequestMatched) ProtoMessage() {} func (x *AgentRunPullRequestMatched) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[154] + mi := &file_brent_proto_msgTypes[155] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14445,7 +14593,7 @@ func (x *AgentRunPullRequestMatched) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunPullRequestMatched.ProtoReflect.Descriptor instead. func (*AgentRunPullRequestMatched) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{154} + return file_brent_proto_rawDescGZIP(), []int{155} } func (x *AgentRunPullRequestMatched) GetAgentRunUuid() string { @@ -14489,7 +14637,7 @@ type AgentRunFlaggedNeedsYou struct { func (x *AgentRunFlaggedNeedsYou) Reset() { *x = AgentRunFlaggedNeedsYou{} - mi := &file_brent_proto_msgTypes[155] + mi := &file_brent_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14501,7 +14649,7 @@ func (x *AgentRunFlaggedNeedsYou) String() string { func (*AgentRunFlaggedNeedsYou) ProtoMessage() {} func (x *AgentRunFlaggedNeedsYou) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[155] + mi := &file_brent_proto_msgTypes[156] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14514,7 +14662,7 @@ func (x *AgentRunFlaggedNeedsYou) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunFlaggedNeedsYou.ProtoReflect.Descriptor instead. func (*AgentRunFlaggedNeedsYou) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{155} + return file_brent_proto_rawDescGZIP(), []int{156} } func (x *AgentRunFlaggedNeedsYou) GetAgentRunUuid() string { @@ -14560,7 +14708,7 @@ type AgentRunGatePassed struct { func (x *AgentRunGatePassed) Reset() { *x = AgentRunGatePassed{} - mi := &file_brent_proto_msgTypes[156] + mi := &file_brent_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14572,7 +14720,7 @@ func (x *AgentRunGatePassed) String() string { func (*AgentRunGatePassed) ProtoMessage() {} func (x *AgentRunGatePassed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[156] + mi := &file_brent_proto_msgTypes[157] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14585,7 +14733,7 @@ func (x *AgentRunGatePassed) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunGatePassed.ProtoReflect.Descriptor instead. func (*AgentRunGatePassed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{156} + return file_brent_proto_rawDescGZIP(), []int{157} } func (x *AgentRunGatePassed) GetAgentRunUuid() string { @@ -14629,7 +14777,7 @@ type AgentRunMerged struct { func (x *AgentRunMerged) Reset() { *x = AgentRunMerged{} - mi := &file_brent_proto_msgTypes[157] + mi := &file_brent_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14641,7 +14789,7 @@ func (x *AgentRunMerged) String() string { func (*AgentRunMerged) ProtoMessage() {} func (x *AgentRunMerged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[157] + mi := &file_brent_proto_msgTypes[158] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14654,7 +14802,7 @@ func (x *AgentRunMerged) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunMerged.ProtoReflect.Descriptor instead. func (*AgentRunMerged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{157} + return file_brent_proto_rawDescGZIP(), []int{158} } func (x *AgentRunMerged) GetAgentRunUuid() string { @@ -14698,7 +14846,7 @@ type AgentRunCancelled struct { func (x *AgentRunCancelled) Reset() { *x = AgentRunCancelled{} - mi := &file_brent_proto_msgTypes[158] + mi := &file_brent_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14710,7 +14858,7 @@ func (x *AgentRunCancelled) String() string { func (*AgentRunCancelled) ProtoMessage() {} func (x *AgentRunCancelled) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[158] + mi := &file_brent_proto_msgTypes[159] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14723,7 +14871,7 @@ func (x *AgentRunCancelled) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunCancelled.ProtoReflect.Descriptor instead. func (*AgentRunCancelled) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{158} + return file_brent_proto_rawDescGZIP(), []int{159} } func (x *AgentRunCancelled) GetAgentRunUuid() string { @@ -14767,7 +14915,7 @@ type AgentRunDeclined struct { func (x *AgentRunDeclined) Reset() { *x = AgentRunDeclined{} - mi := &file_brent_proto_msgTypes[159] + mi := &file_brent_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14779,7 +14927,7 @@ func (x *AgentRunDeclined) String() string { func (*AgentRunDeclined) ProtoMessage() {} func (x *AgentRunDeclined) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[159] + mi := &file_brent_proto_msgTypes[160] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14792,7 +14940,7 @@ func (x *AgentRunDeclined) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunDeclined.ProtoReflect.Descriptor instead. func (*AgentRunDeclined) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{159} + return file_brent_proto_rawDescGZIP(), []int{160} } func (x *AgentRunDeclined) GetPlanUuid() string { @@ -14831,7 +14979,7 @@ type AgentRunAnnotated struct { func (x *AgentRunAnnotated) Reset() { *x = AgentRunAnnotated{} - mi := &file_brent_proto_msgTypes[160] + mi := &file_brent_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14843,7 +14991,7 @@ func (x *AgentRunAnnotated) String() string { func (*AgentRunAnnotated) ProtoMessage() {} func (x *AgentRunAnnotated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[160] + mi := &file_brent_proto_msgTypes[161] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14856,7 +15004,7 @@ func (x *AgentRunAnnotated) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentRunAnnotated.ProtoReflect.Descriptor instead. func (*AgentRunAnnotated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{160} + return file_brent_proto_rawDescGZIP(), []int{161} } func (x *AgentRunAnnotated) GetAgentRunUuid() string { @@ -14921,7 +15069,7 @@ type WorkflowIngested struct { func (x *WorkflowIngested) Reset() { *x = WorkflowIngested{} - mi := &file_brent_proto_msgTypes[161] + mi := &file_brent_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14933,7 +15081,7 @@ func (x *WorkflowIngested) String() string { func (*WorkflowIngested) ProtoMessage() {} func (x *WorkflowIngested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[161] + mi := &file_brent_proto_msgTypes[162] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14946,7 +15094,7 @@ func (x *WorkflowIngested) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowIngested.ProtoReflect.Descriptor instead. func (*WorkflowIngested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{161} + return file_brent_proto_rawDescGZIP(), []int{162} } func (x *WorkflowIngested) GetSourceRepoFullName() string { @@ -15013,7 +15161,7 @@ type WorkflowRunQueued struct { func (x *WorkflowRunQueued) Reset() { *x = WorkflowRunQueued{} - mi := &file_brent_proto_msgTypes[162] + mi := &file_brent_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15025,7 +15173,7 @@ func (x *WorkflowRunQueued) String() string { func (*WorkflowRunQueued) ProtoMessage() {} func (x *WorkflowRunQueued) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[162] + mi := &file_brent_proto_msgTypes[163] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15038,7 +15186,7 @@ func (x *WorkflowRunQueued) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunQueued.ProtoReflect.Descriptor instead. func (*WorkflowRunQueued) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{162} + return file_brent_proto_rawDescGZIP(), []int{163} } func (x *WorkflowRunQueued) GetWorkflowRunId() string { @@ -15098,7 +15246,7 @@ type WorkflowRunStarted struct { func (x *WorkflowRunStarted) Reset() { *x = WorkflowRunStarted{} - mi := &file_brent_proto_msgTypes[163] + mi := &file_brent_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15110,7 +15258,7 @@ func (x *WorkflowRunStarted) String() string { func (*WorkflowRunStarted) ProtoMessage() {} func (x *WorkflowRunStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[163] + mi := &file_brent_proto_msgTypes[164] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15123,7 +15271,7 @@ func (x *WorkflowRunStarted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunStarted.ProtoReflect.Descriptor instead. func (*WorkflowRunStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{163} + return file_brent_proto_rawDescGZIP(), []int{164} } func (x *WorkflowRunStarted) GetWorkflowRunId() string { @@ -15183,7 +15331,7 @@ type WorkflowRunCompleted struct { func (x *WorkflowRunCompleted) Reset() { *x = WorkflowRunCompleted{} - mi := &file_brent_proto_msgTypes[164] + mi := &file_brent_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15195,7 +15343,7 @@ func (x *WorkflowRunCompleted) String() string { func (*WorkflowRunCompleted) ProtoMessage() {} func (x *WorkflowRunCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[164] + mi := &file_brent_proto_msgTypes[165] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15208,7 +15356,7 @@ func (x *WorkflowRunCompleted) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunCompleted.ProtoReflect.Descriptor instead. func (*WorkflowRunCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{164} + return file_brent_proto_rawDescGZIP(), []int{165} } func (x *WorkflowRunCompleted) GetWorkflowRunId() string { @@ -15269,7 +15417,7 @@ type WorkflowRunFailed struct { func (x *WorkflowRunFailed) Reset() { *x = WorkflowRunFailed{} - mi := &file_brent_proto_msgTypes[165] + mi := &file_brent_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15281,7 +15429,7 @@ func (x *WorkflowRunFailed) String() string { func (*WorkflowRunFailed) ProtoMessage() {} func (x *WorkflowRunFailed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[165] + mi := &file_brent_proto_msgTypes[166] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15294,7 +15442,7 @@ func (x *WorkflowRunFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunFailed.ProtoReflect.Descriptor instead. func (*WorkflowRunFailed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{165} + return file_brent_proto_rawDescGZIP(), []int{166} } func (x *WorkflowRunFailed) GetWorkflowRunId() string { @@ -15362,7 +15510,7 @@ type WorkflowRunCancelled struct { func (x *WorkflowRunCancelled) Reset() { *x = WorkflowRunCancelled{} - mi := &file_brent_proto_msgTypes[166] + mi := &file_brent_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15374,7 +15522,7 @@ func (x *WorkflowRunCancelled) String() string { func (*WorkflowRunCancelled) ProtoMessage() {} func (x *WorkflowRunCancelled) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[166] + mi := &file_brent_proto_msgTypes[167] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15387,7 +15535,7 @@ func (x *WorkflowRunCancelled) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunCancelled.ProtoReflect.Descriptor instead. func (*WorkflowRunCancelled) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{166} + return file_brent_proto_rawDescGZIP(), []int{167} } func (x *WorkflowRunCancelled) GetWorkflowRunId() string { @@ -15465,7 +15613,7 @@ type SlackWebhook struct { func (x *SlackWebhook) Reset() { *x = SlackWebhook{} - mi := &file_brent_proto_msgTypes[167] + mi := &file_brent_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15477,7 +15625,7 @@ func (x *SlackWebhook) String() string { func (*SlackWebhook) ProtoMessage() {} func (x *SlackWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[167] + mi := &file_brent_proto_msgTypes[168] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15490,7 +15638,7 @@ func (x *SlackWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use SlackWebhook.ProtoReflect.Descriptor instead. func (*SlackWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{167} + return file_brent_proto_rawDescGZIP(), []int{168} } func (x *SlackWebhook) GetDeliveryId() string { @@ -15566,7 +15714,7 @@ type LinearWebhook struct { func (x *LinearWebhook) Reset() { *x = LinearWebhook{} - mi := &file_brent_proto_msgTypes[168] + mi := &file_brent_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15578,7 +15726,7 @@ func (x *LinearWebhook) String() string { func (*LinearWebhook) ProtoMessage() {} func (x *LinearWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[168] + mi := &file_brent_proto_msgTypes[169] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15591,7 +15739,7 @@ func (x *LinearWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use LinearWebhook.ProtoReflect.Descriptor instead. func (*LinearWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{168} + return file_brent_proto_rawDescGZIP(), []int{169} } func (x *LinearWebhook) GetDeliveryId() string { @@ -15669,7 +15817,7 @@ type ComposioTriggerMessage struct { func (x *ComposioTriggerMessage) Reset() { *x = ComposioTriggerMessage{} - mi := &file_brent_proto_msgTypes[169] + mi := &file_brent_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15681,7 +15829,7 @@ func (x *ComposioTriggerMessage) String() string { func (*ComposioTriggerMessage) ProtoMessage() {} func (x *ComposioTriggerMessage) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[169] + mi := &file_brent_proto_msgTypes[170] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15694,7 +15842,7 @@ func (x *ComposioTriggerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ComposioTriggerMessage.ProtoReflect.Descriptor instead. func (*ComposioTriggerMessage) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{169} + return file_brent_proto_rawDescGZIP(), []int{170} } func (x *ComposioTriggerMessage) GetDeliveryId() string { @@ -15761,7 +15909,7 @@ type GitHubWebhook struct { func (x *GitHubWebhook) Reset() { *x = GitHubWebhook{} - mi := &file_brent_proto_msgTypes[170] + mi := &file_brent_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15773,7 +15921,7 @@ func (x *GitHubWebhook) String() string { func (*GitHubWebhook) ProtoMessage() {} func (x *GitHubWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[170] + mi := &file_brent_proto_msgTypes[171] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15786,7 +15934,7 @@ func (x *GitHubWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use GitHubWebhook.ProtoReflect.Descriptor instead. func (*GitHubWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{170} + return file_brent_proto_rawDescGZIP(), []int{171} } func (x *GitHubWebhook) GetDeliveryId() string { @@ -15847,7 +15995,7 @@ type GitLabWebhook struct { func (x *GitLabWebhook) Reset() { *x = GitLabWebhook{} - mi := &file_brent_proto_msgTypes[171] + mi := &file_brent_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15859,7 +16007,7 @@ func (x *GitLabWebhook) String() string { func (*GitLabWebhook) ProtoMessage() {} func (x *GitLabWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[171] + mi := &file_brent_proto_msgTypes[172] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15872,7 +16020,7 @@ func (x *GitLabWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use GitLabWebhook.ProtoReflect.Descriptor instead. func (*GitLabWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{171} + return file_brent_proto_rawDescGZIP(), []int{172} } func (x *GitLabWebhook) GetDeliveryId() string { @@ -15928,7 +16076,7 @@ type BitbucketWebhook struct { func (x *BitbucketWebhook) Reset() { *x = BitbucketWebhook{} - mi := &file_brent_proto_msgTypes[172] + mi := &file_brent_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15940,7 +16088,7 @@ func (x *BitbucketWebhook) String() string { func (*BitbucketWebhook) ProtoMessage() {} func (x *BitbucketWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[172] + mi := &file_brent_proto_msgTypes[173] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15953,7 +16101,7 @@ func (x *BitbucketWebhook) ProtoReflect() protoreflect.Message { // Deprecated: Use BitbucketWebhook.ProtoReflect.Descriptor instead. func (*BitbucketWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{172} + return file_brent_proto_rawDescGZIP(), []int{173} } func (x *BitbucketWebhook) GetDeliveryId() string { @@ -15996,7 +16144,7 @@ type EmbeddedJsonCELFixture struct { func (x *EmbeddedJsonCELFixture) Reset() { *x = EmbeddedJsonCELFixture{} - mi := &file_brent_proto_msgTypes[173] + mi := &file_brent_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16008,7 +16156,7 @@ func (x *EmbeddedJsonCELFixture) String() string { func (*EmbeddedJsonCELFixture) ProtoMessage() {} func (x *EmbeddedJsonCELFixture) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[173] + mi := &file_brent_proto_msgTypes[174] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16021,7 +16169,7 @@ func (x *EmbeddedJsonCELFixture) ProtoReflect() protoreflect.Message { // Deprecated: Use EmbeddedJsonCELFixture.ProtoReflect.Descriptor instead. func (*EmbeddedJsonCELFixture) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{173} + return file_brent_proto_rawDescGZIP(), []int{174} } func (x *EmbeddedJsonCELFixture) GetId() string { @@ -16074,7 +16222,7 @@ type SlackMentionReceived struct { func (x *SlackMentionReceived) Reset() { *x = SlackMentionReceived{} - mi := &file_brent_proto_msgTypes[174] + mi := &file_brent_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16086,7 +16234,7 @@ func (x *SlackMentionReceived) String() string { func (*SlackMentionReceived) ProtoMessage() {} func (x *SlackMentionReceived) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[174] + mi := &file_brent_proto_msgTypes[175] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16099,7 +16247,7 @@ func (x *SlackMentionReceived) ProtoReflect() protoreflect.Message { // Deprecated: Use SlackMentionReceived.ProtoReflect.Descriptor instead. func (*SlackMentionReceived) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{174} + return file_brent_proto_rawDescGZIP(), []int{175} } func (x *SlackMentionReceived) GetTeamId() string { @@ -16171,7 +16319,7 @@ type OrganisationAppInstallationUpserted struct { func (x *OrganisationAppInstallationUpserted) Reset() { *x = OrganisationAppInstallationUpserted{} - mi := &file_brent_proto_msgTypes[175] + mi := &file_brent_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16183,7 +16331,7 @@ func (x *OrganisationAppInstallationUpserted) String() string { func (*OrganisationAppInstallationUpserted) ProtoMessage() {} func (x *OrganisationAppInstallationUpserted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[175] + mi := &file_brent_proto_msgTypes[176] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16196,7 +16344,7 @@ func (x *OrganisationAppInstallationUpserted) ProtoReflect() protoreflect.Messag // Deprecated: Use OrganisationAppInstallationUpserted.ProtoReflect.Descriptor instead. func (*OrganisationAppInstallationUpserted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{175} + return file_brent_proto_rawDescGZIP(), []int{176} } func (x *OrganisationAppInstallationUpserted) GetProvider() string { @@ -16232,7 +16380,7 @@ type OrganisationAppInstallationDeleted struct { func (x *OrganisationAppInstallationDeleted) Reset() { *x = OrganisationAppInstallationDeleted{} - mi := &file_brent_proto_msgTypes[176] + mi := &file_brent_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16244,7 +16392,7 @@ func (x *OrganisationAppInstallationDeleted) String() string { func (*OrganisationAppInstallationDeleted) ProtoMessage() {} func (x *OrganisationAppInstallationDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[176] + mi := &file_brent_proto_msgTypes[177] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16257,7 +16405,7 @@ func (x *OrganisationAppInstallationDeleted) ProtoReflect() protoreflect.Message // Deprecated: Use OrganisationAppInstallationDeleted.ProtoReflect.Descriptor instead. func (*OrganisationAppInstallationDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{176} + return file_brent_proto_rawDescGZIP(), []int{177} } func (x *OrganisationAppInstallationDeleted) GetProvider() string { @@ -16299,7 +16447,7 @@ type SlackReactionAdded struct { func (x *SlackReactionAdded) Reset() { *x = SlackReactionAdded{} - mi := &file_brent_proto_msgTypes[177] + mi := &file_brent_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16311,7 +16459,7 @@ func (x *SlackReactionAdded) String() string { func (*SlackReactionAdded) ProtoMessage() {} func (x *SlackReactionAdded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[177] + mi := &file_brent_proto_msgTypes[178] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16324,7 +16472,7 @@ func (x *SlackReactionAdded) ProtoReflect() protoreflect.Message { // Deprecated: Use SlackReactionAdded.ProtoReflect.Descriptor instead. func (*SlackReactionAdded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{177} + return file_brent_proto_rawDescGZIP(), []int{178} } func (x *SlackReactionAdded) GetTeamId() string { @@ -16380,7 +16528,7 @@ type ListWorkflowsRequest struct { func (x *ListWorkflowsRequest) Reset() { *x = ListWorkflowsRequest{} - mi := &file_brent_proto_msgTypes[178] + mi := &file_brent_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16392,7 +16540,7 @@ func (x *ListWorkflowsRequest) String() string { func (*ListWorkflowsRequest) ProtoMessage() {} func (x *ListWorkflowsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[178] + mi := &file_brent_proto_msgTypes[179] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16405,7 +16553,7 @@ func (x *ListWorkflowsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowsRequest.ProtoReflect.Descriptor instead. func (*ListWorkflowsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{178} + return file_brent_proto_rawDescGZIP(), []int{179} } func (x *ListWorkflowsRequest) GetAccountName() string { @@ -16424,7 +16572,7 @@ type ListWorkflowsResponse struct { func (x *ListWorkflowsResponse) Reset() { *x = ListWorkflowsResponse{} - mi := &file_brent_proto_msgTypes[179] + mi := &file_brent_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16436,7 +16584,7 @@ func (x *ListWorkflowsResponse) String() string { func (*ListWorkflowsResponse) ProtoMessage() {} func (x *ListWorkflowsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[179] + mi := &file_brent_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16449,7 +16597,7 @@ func (x *ListWorkflowsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowsResponse.ProtoReflect.Descriptor instead. func (*ListWorkflowsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{179} + return file_brent_proto_rawDescGZIP(), []int{180} } func (x *ListWorkflowsResponse) GetWorkflows() []*WorkflowSummary { @@ -16487,7 +16635,7 @@ type WorkflowSummary struct { func (x *WorkflowSummary) Reset() { *x = WorkflowSummary{} - mi := &file_brent_proto_msgTypes[180] + mi := &file_brent_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16499,7 +16647,7 @@ func (x *WorkflowSummary) String() string { func (*WorkflowSummary) ProtoMessage() {} func (x *WorkflowSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[180] + mi := &file_brent_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16512,7 +16660,7 @@ func (x *WorkflowSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowSummary.ProtoReflect.Descriptor instead. func (*WorkflowSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{180} + return file_brent_proto_rawDescGZIP(), []int{181} } func (x *WorkflowSummary) GetId() string { @@ -16609,7 +16757,7 @@ type GetWorkflowRequest struct { func (x *GetWorkflowRequest) Reset() { *x = GetWorkflowRequest{} - mi := &file_brent_proto_msgTypes[181] + mi := &file_brent_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16621,7 +16769,7 @@ func (x *GetWorkflowRequest) String() string { func (*GetWorkflowRequest) ProtoMessage() {} func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[181] + mi := &file_brent_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16634,7 +16782,7 @@ func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowRequest.ProtoReflect.Descriptor instead. func (*GetWorkflowRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{181} + return file_brent_proto_rawDescGZIP(), []int{182} } func (x *GetWorkflowRequest) GetId() string { @@ -16653,7 +16801,7 @@ type GetWorkflowResponse struct { func (x *GetWorkflowResponse) Reset() { *x = GetWorkflowResponse{} - mi := &file_brent_proto_msgTypes[182] + mi := &file_brent_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16665,7 +16813,7 @@ func (x *GetWorkflowResponse) String() string { func (*GetWorkflowResponse) ProtoMessage() {} func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[182] + mi := &file_brent_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16678,7 +16826,7 @@ func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowResponse.ProtoReflect.Descriptor instead. func (*GetWorkflowResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{182} + return file_brent_proto_rawDescGZIP(), []int{183} } func (x *GetWorkflowResponse) GetWorkflow() *Workflow { @@ -16720,7 +16868,7 @@ type Workflow struct { func (x *Workflow) Reset() { *x = Workflow{} - mi := &file_brent_proto_msgTypes[183] + mi := &file_brent_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16732,7 +16880,7 @@ func (x *Workflow) String() string { func (*Workflow) ProtoMessage() {} func (x *Workflow) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[183] + mi := &file_brent_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16745,7 +16893,7 @@ func (x *Workflow) ProtoReflect() protoreflect.Message { // Deprecated: Use Workflow.ProtoReflect.Descriptor instead. func (*Workflow) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{183} + return file_brent_proto_rawDescGZIP(), []int{184} } func (x *Workflow) GetId() string { @@ -16873,7 +17021,7 @@ type ListWorkflowRunsRequest struct { func (x *ListWorkflowRunsRequest) Reset() { *x = ListWorkflowRunsRequest{} - mi := &file_brent_proto_msgTypes[184] + mi := &file_brent_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16885,7 +17033,7 @@ func (x *ListWorkflowRunsRequest) String() string { func (*ListWorkflowRunsRequest) ProtoMessage() {} func (x *ListWorkflowRunsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[184] + mi := &file_brent_proto_msgTypes[185] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16898,7 +17046,7 @@ func (x *ListWorkflowRunsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowRunsRequest.ProtoReflect.Descriptor instead. func (*ListWorkflowRunsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{184} + return file_brent_proto_rawDescGZIP(), []int{185} } func (x *ListWorkflowRunsRequest) GetWorkflowName() string { @@ -16948,7 +17096,7 @@ type ListWorkflowRunsResponse struct { func (x *ListWorkflowRunsResponse) Reset() { *x = ListWorkflowRunsResponse{} - mi := &file_brent_proto_msgTypes[185] + mi := &file_brent_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16960,7 +17108,7 @@ func (x *ListWorkflowRunsResponse) String() string { func (*ListWorkflowRunsResponse) ProtoMessage() {} func (x *ListWorkflowRunsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[185] + mi := &file_brent_proto_msgTypes[186] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16973,7 +17121,7 @@ func (x *ListWorkflowRunsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkflowRunsResponse.ProtoReflect.Descriptor instead. func (*ListWorkflowRunsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{185} + return file_brent_proto_rawDescGZIP(), []int{186} } func (x *ListWorkflowRunsResponse) GetRuns() []*WorkflowRunSummary { @@ -17047,7 +17195,7 @@ type WorkflowRunSummary struct { func (x *WorkflowRunSummary) Reset() { *x = WorkflowRunSummary{} - mi := &file_brent_proto_msgTypes[186] + mi := &file_brent_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17059,7 +17207,7 @@ func (x *WorkflowRunSummary) String() string { func (*WorkflowRunSummary) ProtoMessage() {} func (x *WorkflowRunSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[186] + mi := &file_brent_proto_msgTypes[187] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17072,7 +17220,7 @@ func (x *WorkflowRunSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunSummary.ProtoReflect.Descriptor instead. func (*WorkflowRunSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{186} + return file_brent_proto_rawDescGZIP(), []int{187} } func (x *WorkflowRunSummary) GetId() string { @@ -17252,7 +17400,7 @@ type GetWorkflowRunRequest struct { func (x *GetWorkflowRunRequest) Reset() { *x = GetWorkflowRunRequest{} - mi := &file_brent_proto_msgTypes[187] + mi := &file_brent_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17264,7 +17412,7 @@ func (x *GetWorkflowRunRequest) String() string { func (*GetWorkflowRunRequest) ProtoMessage() {} func (x *GetWorkflowRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[187] + mi := &file_brent_proto_msgTypes[188] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17277,7 +17425,7 @@ func (x *GetWorkflowRunRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowRunRequest.ProtoReflect.Descriptor instead. func (*GetWorkflowRunRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{187} + return file_brent_proto_rawDescGZIP(), []int{188} } func (x *GetWorkflowRunRequest) GetId() string { @@ -17297,7 +17445,7 @@ type GetWorkflowRunThreadHistoryRequest struct { func (x *GetWorkflowRunThreadHistoryRequest) Reset() { *x = GetWorkflowRunThreadHistoryRequest{} - mi := &file_brent_proto_msgTypes[188] + mi := &file_brent_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17309,7 +17457,7 @@ func (x *GetWorkflowRunThreadHistoryRequest) String() string { func (*GetWorkflowRunThreadHistoryRequest) ProtoMessage() {} func (x *GetWorkflowRunThreadHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[188] + mi := &file_brent_proto_msgTypes[189] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17322,7 +17470,7 @@ func (x *GetWorkflowRunThreadHistoryRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetWorkflowRunThreadHistoryRequest.ProtoReflect.Descriptor instead. func (*GetWorkflowRunThreadHistoryRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{188} + return file_brent_proto_rawDescGZIP(), []int{189} } func (x *GetWorkflowRunThreadHistoryRequest) GetId() string { @@ -17342,7 +17490,7 @@ type WorkflowRunThreadSegment struct { func (x *WorkflowRunThreadSegment) Reset() { *x = WorkflowRunThreadSegment{} - mi := &file_brent_proto_msgTypes[189] + mi := &file_brent_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17354,7 +17502,7 @@ func (x *WorkflowRunThreadSegment) String() string { func (*WorkflowRunThreadSegment) ProtoMessage() {} func (x *WorkflowRunThreadSegment) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[189] + mi := &file_brent_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17367,7 +17515,7 @@ func (x *WorkflowRunThreadSegment) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRunThreadSegment.ProtoReflect.Descriptor instead. func (*WorkflowRunThreadSegment) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{189} + return file_brent_proto_rawDescGZIP(), []int{190} } func (x *WorkflowRunThreadSegment) GetRun() *WorkflowRunSummary { @@ -17396,7 +17544,7 @@ type GetWorkflowRunThreadHistoryResponse struct { func (x *GetWorkflowRunThreadHistoryResponse) Reset() { *x = GetWorkflowRunThreadHistoryResponse{} - mi := &file_brent_proto_msgTypes[190] + mi := &file_brent_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17408,7 +17556,7 @@ func (x *GetWorkflowRunThreadHistoryResponse) String() string { func (*GetWorkflowRunThreadHistoryResponse) ProtoMessage() {} func (x *GetWorkflowRunThreadHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[190] + mi := &file_brent_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17421,7 +17569,7 @@ func (x *GetWorkflowRunThreadHistoryResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetWorkflowRunThreadHistoryResponse.ProtoReflect.Descriptor instead. func (*GetWorkflowRunThreadHistoryResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{190} + return file_brent_proto_rawDescGZIP(), []int{191} } func (x *GetWorkflowRunThreadHistoryResponse) GetSegments() []*WorkflowRunThreadSegment { @@ -17451,7 +17599,7 @@ type GetWorkflowRunResponse struct { func (x *GetWorkflowRunResponse) Reset() { *x = GetWorkflowRunResponse{} - mi := &file_brent_proto_msgTypes[191] + mi := &file_brent_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17463,7 +17611,7 @@ func (x *GetWorkflowRunResponse) String() string { func (*GetWorkflowRunResponse) ProtoMessage() {} func (x *GetWorkflowRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[191] + mi := &file_brent_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17476,7 +17624,7 @@ func (x *GetWorkflowRunResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowRunResponse.ProtoReflect.Descriptor instead. func (*GetWorkflowRunResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{191} + return file_brent_proto_rawDescGZIP(), []int{192} } func (x *GetWorkflowRunResponse) GetRun() *WorkflowRun { @@ -17553,7 +17701,7 @@ type WorkflowRun struct { func (x *WorkflowRun) Reset() { *x = WorkflowRun{} - mi := &file_brent_proto_msgTypes[192] + mi := &file_brent_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17565,7 +17713,7 @@ func (x *WorkflowRun) String() string { func (*WorkflowRun) ProtoMessage() {} func (x *WorkflowRun) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[192] + mi := &file_brent_proto_msgTypes[193] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17578,7 +17726,7 @@ func (x *WorkflowRun) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowRun.ProtoReflect.Descriptor instead. func (*WorkflowRun) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{192} + return file_brent_proto_rawDescGZIP(), []int{193} } func (x *WorkflowRun) GetId() string { @@ -17771,7 +17919,7 @@ type GetPrincipalStatusRequest struct { func (x *GetPrincipalStatusRequest) Reset() { *x = GetPrincipalStatusRequest{} - mi := &file_brent_proto_msgTypes[193] + mi := &file_brent_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17783,7 +17931,7 @@ func (x *GetPrincipalStatusRequest) String() string { func (*GetPrincipalStatusRequest) ProtoMessage() {} func (x *GetPrincipalStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[193] + mi := &file_brent_proto_msgTypes[194] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17796,7 +17944,7 @@ func (x *GetPrincipalStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrincipalStatusRequest.ProtoReflect.Descriptor instead. func (*GetPrincipalStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{193} + return file_brent_proto_rawDescGZIP(), []int{194} } type GetPrincipalStatusResponse struct { @@ -17812,7 +17960,7 @@ type GetPrincipalStatusResponse struct { func (x *GetPrincipalStatusResponse) Reset() { *x = GetPrincipalStatusResponse{} - mi := &file_brent_proto_msgTypes[194] + mi := &file_brent_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17824,7 +17972,7 @@ func (x *GetPrincipalStatusResponse) String() string { func (*GetPrincipalStatusResponse) ProtoMessage() {} func (x *GetPrincipalStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[194] + mi := &file_brent_proto_msgTypes[195] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17837,7 +17985,7 @@ func (x *GetPrincipalStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrincipalStatusResponse.ProtoReflect.Descriptor instead. func (*GetPrincipalStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{194} + return file_brent_proto_rawDescGZIP(), []int{195} } func (x *GetPrincipalStatusResponse) GetState() PrincipalStatusState { @@ -17875,7 +18023,7 @@ type GetIntegrationConnectURLRequest struct { func (x *GetIntegrationConnectURLRequest) Reset() { *x = GetIntegrationConnectURLRequest{} - mi := &file_brent_proto_msgTypes[195] + mi := &file_brent_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17887,7 +18035,7 @@ func (x *GetIntegrationConnectURLRequest) String() string { func (*GetIntegrationConnectURLRequest) ProtoMessage() {} func (x *GetIntegrationConnectURLRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[195] + mi := &file_brent_proto_msgTypes[196] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17900,7 +18048,7 @@ func (x *GetIntegrationConnectURLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIntegrationConnectURLRequest.ProtoReflect.Descriptor instead. func (*GetIntegrationConnectURLRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{195} + return file_brent_proto_rawDescGZIP(), []int{196} } func (x *GetIntegrationConnectURLRequest) GetProvider() IntegrationProvider { @@ -17933,7 +18081,7 @@ type GetIntegrationConnectURLResponse struct { func (x *GetIntegrationConnectURLResponse) Reset() { *x = GetIntegrationConnectURLResponse{} - mi := &file_brent_proto_msgTypes[196] + mi := &file_brent_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17945,7 +18093,7 @@ func (x *GetIntegrationConnectURLResponse) String() string { func (*GetIntegrationConnectURLResponse) ProtoMessage() {} func (x *GetIntegrationConnectURLResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[196] + mi := &file_brent_proto_msgTypes[197] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17958,7 +18106,7 @@ func (x *GetIntegrationConnectURLResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIntegrationConnectURLResponse.ProtoReflect.Descriptor instead. func (*GetIntegrationConnectURLResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{196} + return file_brent_proto_rawDescGZIP(), []int{197} } func (x *GetIntegrationConnectURLResponse) GetUrl() string { @@ -17984,7 +18132,7 @@ type DisconnectIntegrationRequest struct { func (x *DisconnectIntegrationRequest) Reset() { *x = DisconnectIntegrationRequest{} - mi := &file_brent_proto_msgTypes[197] + mi := &file_brent_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17996,7 +18144,7 @@ func (x *DisconnectIntegrationRequest) String() string { func (*DisconnectIntegrationRequest) ProtoMessage() {} func (x *DisconnectIntegrationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[197] + mi := &file_brent_proto_msgTypes[198] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18009,7 +18157,7 @@ func (x *DisconnectIntegrationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisconnectIntegrationRequest.ProtoReflect.Descriptor instead. func (*DisconnectIntegrationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{197} + return file_brent_proto_rawDescGZIP(), []int{198} } func (x *DisconnectIntegrationRequest) GetProvider() IntegrationProvider { @@ -18041,7 +18189,7 @@ type DisconnectIntegrationResponse struct { func (x *DisconnectIntegrationResponse) Reset() { *x = DisconnectIntegrationResponse{} - mi := &file_brent_proto_msgTypes[198] + mi := &file_brent_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18053,7 +18201,7 @@ func (x *DisconnectIntegrationResponse) String() string { func (*DisconnectIntegrationResponse) ProtoMessage() {} func (x *DisconnectIntegrationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[198] + mi := &file_brent_proto_msgTypes[199] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18066,7 +18214,7 @@ func (x *DisconnectIntegrationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisconnectIntegrationResponse.ProtoReflect.Descriptor instead. func (*DisconnectIntegrationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{198} + return file_brent_proto_rawDescGZIP(), []int{199} } type ConnectByoHttpMcpRequest struct { @@ -18087,7 +18235,7 @@ type ConnectByoHttpMcpRequest struct { func (x *ConnectByoHttpMcpRequest) Reset() { *x = ConnectByoHttpMcpRequest{} - mi := &file_brent_proto_msgTypes[199] + mi := &file_brent_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18099,7 +18247,7 @@ func (x *ConnectByoHttpMcpRequest) String() string { func (*ConnectByoHttpMcpRequest) ProtoMessage() {} func (x *ConnectByoHttpMcpRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[199] + mi := &file_brent_proto_msgTypes[200] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18112,7 +18260,7 @@ func (x *ConnectByoHttpMcpRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectByoHttpMcpRequest.ProtoReflect.Descriptor instead. func (*ConnectByoHttpMcpRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{199} + return file_brent_proto_rawDescGZIP(), []int{200} } func (x *ConnectByoHttpMcpRequest) GetEndpoint() string { @@ -18163,7 +18311,7 @@ type ConnectByoHttpMcpResponse struct { func (x *ConnectByoHttpMcpResponse) Reset() { *x = ConnectByoHttpMcpResponse{} - mi := &file_brent_proto_msgTypes[200] + mi := &file_brent_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18175,7 +18323,7 @@ func (x *ConnectByoHttpMcpResponse) String() string { func (*ConnectByoHttpMcpResponse) ProtoMessage() {} func (x *ConnectByoHttpMcpResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[200] + mi := &file_brent_proto_msgTypes[201] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18188,7 +18336,7 @@ func (x *ConnectByoHttpMcpResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectByoHttpMcpResponse.ProtoReflect.Descriptor instead. func (*ConnectByoHttpMcpResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{200} + return file_brent_proto_rawDescGZIP(), []int{201} } func (x *ConnectByoHttpMcpResponse) GetDiscoveredToolCount() uint32 { @@ -18213,7 +18361,7 @@ type GetGitLabConnectionRequest struct { func (x *GetGitLabConnectionRequest) Reset() { *x = GetGitLabConnectionRequest{} - mi := &file_brent_proto_msgTypes[201] + mi := &file_brent_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18225,7 +18373,7 @@ func (x *GetGitLabConnectionRequest) String() string { func (*GetGitLabConnectionRequest) ProtoMessage() {} func (x *GetGitLabConnectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[201] + mi := &file_brent_proto_msgTypes[202] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18238,7 +18386,7 @@ func (x *GetGitLabConnectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGitLabConnectionRequest.ProtoReflect.Descriptor instead. func (*GetGitLabConnectionRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{201} + return file_brent_proto_rawDescGZIP(), []int{202} } type GetGitLabConnectionResponse struct { @@ -18253,7 +18401,7 @@ type GetGitLabConnectionResponse struct { func (x *GetGitLabConnectionResponse) Reset() { *x = GetGitLabConnectionResponse{} - mi := &file_brent_proto_msgTypes[202] + mi := &file_brent_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18265,7 +18413,7 @@ func (x *GetGitLabConnectionResponse) String() string { func (*GetGitLabConnectionResponse) ProtoMessage() {} func (x *GetGitLabConnectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[202] + mi := &file_brent_proto_msgTypes[203] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18278,7 +18426,7 @@ func (x *GetGitLabConnectionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGitLabConnectionResponse.ProtoReflect.Descriptor instead. func (*GetGitLabConnectionResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{202} + return file_brent_proto_rawDescGZIP(), []int{203} } func (x *GetGitLabConnectionResponse) GetConnected() bool { @@ -18312,7 +18460,7 @@ type ConnectGitLabRequest struct { func (x *ConnectGitLabRequest) Reset() { *x = ConnectGitLabRequest{} - mi := &file_brent_proto_msgTypes[203] + mi := &file_brent_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18324,7 +18472,7 @@ func (x *ConnectGitLabRequest) String() string { func (*ConnectGitLabRequest) ProtoMessage() {} func (x *ConnectGitLabRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[203] + mi := &file_brent_proto_msgTypes[204] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18337,7 +18485,7 @@ func (x *ConnectGitLabRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectGitLabRequest.ProtoReflect.Descriptor instead. func (*ConnectGitLabRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{203} + return file_brent_proto_rawDescGZIP(), []int{204} } func (x *ConnectGitLabRequest) GetBaseUrl() string { @@ -18365,7 +18513,7 @@ type ConnectGitLabResponse struct { func (x *ConnectGitLabResponse) Reset() { *x = ConnectGitLabResponse{} - mi := &file_brent_proto_msgTypes[204] + mi := &file_brent_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18377,7 +18525,7 @@ func (x *ConnectGitLabResponse) String() string { func (*ConnectGitLabResponse) ProtoMessage() {} func (x *ConnectGitLabResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[204] + mi := &file_brent_proto_msgTypes[205] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18390,7 +18538,7 @@ func (x *ConnectGitLabResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectGitLabResponse.ProtoReflect.Descriptor instead. func (*ConnectGitLabResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{204} + return file_brent_proto_rawDescGZIP(), []int{205} } func (x *ConnectGitLabResponse) GetWebhookUrl() string { @@ -18418,7 +18566,7 @@ type SaveGitLabSigningTokenRequest struct { func (x *SaveGitLabSigningTokenRequest) Reset() { *x = SaveGitLabSigningTokenRequest{} - mi := &file_brent_proto_msgTypes[205] + mi := &file_brent_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18430,7 +18578,7 @@ func (x *SaveGitLabSigningTokenRequest) String() string { func (*SaveGitLabSigningTokenRequest) ProtoMessage() {} func (x *SaveGitLabSigningTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[205] + mi := &file_brent_proto_msgTypes[206] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18443,7 +18591,7 @@ func (x *SaveGitLabSigningTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveGitLabSigningTokenRequest.ProtoReflect.Descriptor instead. func (*SaveGitLabSigningTokenRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{205} + return file_brent_proto_rawDescGZIP(), []int{206} } func (x *SaveGitLabSigningTokenRequest) GetSigningToken() string { @@ -18461,7 +18609,7 @@ type SaveGitLabSigningTokenResponse struct { func (x *SaveGitLabSigningTokenResponse) Reset() { *x = SaveGitLabSigningTokenResponse{} - mi := &file_brent_proto_msgTypes[206] + mi := &file_brent_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18473,7 +18621,7 @@ func (x *SaveGitLabSigningTokenResponse) String() string { func (*SaveGitLabSigningTokenResponse) ProtoMessage() {} func (x *SaveGitLabSigningTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[206] + mi := &file_brent_proto_msgTypes[207] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18486,7 +18634,7 @@ func (x *SaveGitLabSigningTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveGitLabSigningTokenResponse.ProtoReflect.Descriptor instead. func (*SaveGitLabSigningTokenResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{206} + return file_brent_proto_rawDescGZIP(), []int{207} } type GitHubPendingInstall struct { @@ -18502,7 +18650,7 @@ type GitHubPendingInstall struct { func (x *GitHubPendingInstall) Reset() { *x = GitHubPendingInstall{} - mi := &file_brent_proto_msgTypes[207] + mi := &file_brent_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18514,7 +18662,7 @@ func (x *GitHubPendingInstall) String() string { func (*GitHubPendingInstall) ProtoMessage() {} func (x *GitHubPendingInstall) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[207] + mi := &file_brent_proto_msgTypes[208] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18527,7 +18675,7 @@ func (x *GitHubPendingInstall) ProtoReflect() protoreflect.Message { // Deprecated: Use GitHubPendingInstall.ProtoReflect.Descriptor instead. func (*GitHubPendingInstall) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{207} + return file_brent_proto_rawDescGZIP(), []int{208} } func (x *GitHubPendingInstall) GetOrgName() string { @@ -18592,7 +18740,7 @@ type IntegrationStatus struct { func (x *IntegrationStatus) Reset() { *x = IntegrationStatus{} - mi := &file_brent_proto_msgTypes[208] + mi := &file_brent_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18604,7 +18752,7 @@ func (x *IntegrationStatus) String() string { func (*IntegrationStatus) ProtoMessage() {} func (x *IntegrationStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[208] + mi := &file_brent_proto_msgTypes[209] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18617,7 +18765,7 @@ func (x *IntegrationStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationStatus.ProtoReflect.Descriptor instead. func (*IntegrationStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{208} + return file_brent_proto_rawDescGZIP(), []int{209} } func (x *IntegrationStatus) GetProvider() IntegrationProvider { @@ -18691,7 +18839,7 @@ type GetWorkspaceIntegrationRolesRequest struct { func (x *GetWorkspaceIntegrationRolesRequest) Reset() { *x = GetWorkspaceIntegrationRolesRequest{} - mi := &file_brent_proto_msgTypes[209] + mi := &file_brent_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18703,7 +18851,7 @@ func (x *GetWorkspaceIntegrationRolesRequest) String() string { func (*GetWorkspaceIntegrationRolesRequest) ProtoMessage() {} func (x *GetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[209] + mi := &file_brent_proto_msgTypes[210] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18716,7 +18864,7 @@ func (x *GetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. func (*GetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{209} + return file_brent_proto_rawDescGZIP(), []int{210} } type GetWorkspaceIntegrationRolesResponse struct { @@ -18732,7 +18880,7 @@ type GetWorkspaceIntegrationRolesResponse struct { func (x *GetWorkspaceIntegrationRolesResponse) Reset() { *x = GetWorkspaceIntegrationRolesResponse{} - mi := &file_brent_proto_msgTypes[210] + mi := &file_brent_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18744,7 +18892,7 @@ func (x *GetWorkspaceIntegrationRolesResponse) String() string { func (*GetWorkspaceIntegrationRolesResponse) ProtoMessage() {} func (x *GetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[210] + mi := &file_brent_proto_msgTypes[211] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18757,7 +18905,7 @@ func (x *GetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. func (*GetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{210} + return file_brent_proto_rawDescGZIP(), []int{211} } func (x *GetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { @@ -18786,7 +18934,7 @@ type SetWorkspaceIntegrationRolesRequest struct { func (x *SetWorkspaceIntegrationRolesRequest) Reset() { *x = SetWorkspaceIntegrationRolesRequest{} - mi := &file_brent_proto_msgTypes[211] + mi := &file_brent_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18798,7 +18946,7 @@ func (x *SetWorkspaceIntegrationRolesRequest) String() string { func (*SetWorkspaceIntegrationRolesRequest) ProtoMessage() {} func (x *SetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[211] + mi := &file_brent_proto_msgTypes[212] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18811,7 +18959,7 @@ func (x *SetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. func (*SetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{211} + return file_brent_proto_rawDescGZIP(), []int{212} } func (x *SetWorkspaceIntegrationRolesRequest) GetGitProvider() IntegrationProvider { @@ -18831,7 +18979,7 @@ type SetWorkspaceIntegrationRolesResponse struct { func (x *SetWorkspaceIntegrationRolesResponse) Reset() { *x = SetWorkspaceIntegrationRolesResponse{} - mi := &file_brent_proto_msgTypes[212] + mi := &file_brent_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18843,7 +18991,7 @@ func (x *SetWorkspaceIntegrationRolesResponse) String() string { func (*SetWorkspaceIntegrationRolesResponse) ProtoMessage() {} func (x *SetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[212] + mi := &file_brent_proto_msgTypes[213] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18856,7 +19004,7 @@ func (x *SetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use SetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. func (*SetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{212} + return file_brent_proto_rawDescGZIP(), []int{213} } func (x *SetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { @@ -18898,7 +19046,7 @@ type Principal struct { func (x *Principal) Reset() { *x = Principal{} - mi := &file_brent_proto_msgTypes[213] + mi := &file_brent_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18910,7 +19058,7 @@ func (x *Principal) String() string { func (*Principal) ProtoMessage() {} func (x *Principal) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[213] + mi := &file_brent_proto_msgTypes[214] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18923,7 +19071,7 @@ func (x *Principal) ProtoReflect() protoreflect.Message { // Deprecated: Use Principal.ProtoReflect.Descriptor instead. func (*Principal) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{213} + return file_brent_proto_rawDescGZIP(), []int{214} } func (x *Principal) GetExternalId() string { @@ -19009,7 +19157,7 @@ type Workspace struct { func (x *Workspace) Reset() { *x = Workspace{} - mi := &file_brent_proto_msgTypes[214] + mi := &file_brent_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19021,7 +19169,7 @@ func (x *Workspace) String() string { func (*Workspace) ProtoMessage() {} func (x *Workspace) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[214] + mi := &file_brent_proto_msgTypes[215] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19034,7 +19182,7 @@ func (x *Workspace) ProtoReflect() protoreflect.Message { // Deprecated: Use Workspace.ProtoReflect.Descriptor instead. func (*Workspace) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{214} + return file_brent_proto_rawDescGZIP(), []int{215} } func (x *Workspace) GetWorkspaceId() string { @@ -19102,7 +19250,7 @@ type CreateWorkspaceRequest struct { func (x *CreateWorkspaceRequest) Reset() { *x = CreateWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[215] + mi := &file_brent_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19114,7 +19262,7 @@ func (x *CreateWorkspaceRequest) String() string { func (*CreateWorkspaceRequest) ProtoMessage() {} func (x *CreateWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[215] + mi := &file_brent_proto_msgTypes[216] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19127,7 +19275,7 @@ func (x *CreateWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWorkspaceRequest.ProtoReflect.Descriptor instead. func (*CreateWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{215} + return file_brent_proto_rawDescGZIP(), []int{216} } func (x *CreateWorkspaceRequest) GetDisplayName() string { @@ -19146,7 +19294,7 @@ type CreateWorkspaceResponse struct { func (x *CreateWorkspaceResponse) Reset() { *x = CreateWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[216] + mi := &file_brent_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19158,7 +19306,7 @@ func (x *CreateWorkspaceResponse) String() string { func (*CreateWorkspaceResponse) ProtoMessage() {} func (x *CreateWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[216] + mi := &file_brent_proto_msgTypes[217] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19171,7 +19319,7 @@ func (x *CreateWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWorkspaceResponse.ProtoReflect.Descriptor instead. func (*CreateWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{216} + return file_brent_proto_rawDescGZIP(), []int{217} } func (x *CreateWorkspaceResponse) GetWorkspace() *Workspace { @@ -19189,7 +19337,7 @@ type ListMyWorkspacesRequest struct { func (x *ListMyWorkspacesRequest) Reset() { *x = ListMyWorkspacesRequest{} - mi := &file_brent_proto_msgTypes[217] + mi := &file_brent_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19201,7 +19349,7 @@ func (x *ListMyWorkspacesRequest) String() string { func (*ListMyWorkspacesRequest) ProtoMessage() {} func (x *ListMyWorkspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[217] + mi := &file_brent_proto_msgTypes[218] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19214,7 +19362,7 @@ func (x *ListMyWorkspacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyWorkspacesRequest.ProtoReflect.Descriptor instead. func (*ListMyWorkspacesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{217} + return file_brent_proto_rawDescGZIP(), []int{218} } type ListMyWorkspacesResponse struct { @@ -19226,7 +19374,7 @@ type ListMyWorkspacesResponse struct { func (x *ListMyWorkspacesResponse) Reset() { *x = ListMyWorkspacesResponse{} - mi := &file_brent_proto_msgTypes[218] + mi := &file_brent_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19238,7 +19386,7 @@ func (x *ListMyWorkspacesResponse) String() string { func (*ListMyWorkspacesResponse) ProtoMessage() {} func (x *ListMyWorkspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[218] + mi := &file_brent_proto_msgTypes[219] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19251,7 +19399,7 @@ func (x *ListMyWorkspacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyWorkspacesResponse.ProtoReflect.Descriptor instead. func (*ListMyWorkspacesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{218} + return file_brent_proto_rawDescGZIP(), []int{219} } func (x *ListMyWorkspacesResponse) GetWorkspaces() []*Workspace { @@ -19269,7 +19417,7 @@ type DiscoverLoginRecoveryCandidatesRequest struct { func (x *DiscoverLoginRecoveryCandidatesRequest) Reset() { *x = DiscoverLoginRecoveryCandidatesRequest{} - mi := &file_brent_proto_msgTypes[219] + mi := &file_brent_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19281,7 +19429,7 @@ func (x *DiscoverLoginRecoveryCandidatesRequest) String() string { func (*DiscoverLoginRecoveryCandidatesRequest) ProtoMessage() {} func (x *DiscoverLoginRecoveryCandidatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[219] + mi := &file_brent_proto_msgTypes[220] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19294,7 +19442,7 @@ func (x *DiscoverLoginRecoveryCandidatesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use DiscoverLoginRecoveryCandidatesRequest.ProtoReflect.Descriptor instead. func (*DiscoverLoginRecoveryCandidatesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{219} + return file_brent_proto_rawDescGZIP(), []int{220} } // A single recovery candidate. Exposes only the allowlisted Auth0 connection @@ -19311,7 +19459,7 @@ type LoginRecoveryCandidate struct { func (x *LoginRecoveryCandidate) Reset() { *x = LoginRecoveryCandidate{} - mi := &file_brent_proto_msgTypes[220] + mi := &file_brent_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19323,7 +19471,7 @@ func (x *LoginRecoveryCandidate) String() string { func (*LoginRecoveryCandidate) ProtoMessage() {} func (x *LoginRecoveryCandidate) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[220] + mi := &file_brent_proto_msgTypes[221] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19336,7 +19484,7 @@ func (x *LoginRecoveryCandidate) ProtoReflect() protoreflect.Message { // Deprecated: Use LoginRecoveryCandidate.ProtoReflect.Descriptor instead. func (*LoginRecoveryCandidate) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{220} + return file_brent_proto_rawDescGZIP(), []int{221} } func (x *LoginRecoveryCandidate) GetProvider() LoginProvider { @@ -19373,7 +19521,7 @@ type DiscoverLoginRecoveryCandidatesResponse struct { func (x *DiscoverLoginRecoveryCandidatesResponse) Reset() { *x = DiscoverLoginRecoveryCandidatesResponse{} - mi := &file_brent_proto_msgTypes[221] + mi := &file_brent_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19385,7 +19533,7 @@ func (x *DiscoverLoginRecoveryCandidatesResponse) String() string { func (*DiscoverLoginRecoveryCandidatesResponse) ProtoMessage() {} func (x *DiscoverLoginRecoveryCandidatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[221] + mi := &file_brent_proto_msgTypes[222] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19398,7 +19546,7 @@ func (x *DiscoverLoginRecoveryCandidatesResponse) ProtoReflect() protoreflect.Me // Deprecated: Use DiscoverLoginRecoveryCandidatesResponse.ProtoReflect.Descriptor instead. func (*DiscoverLoginRecoveryCandidatesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{221} + return file_brent_proto_rawDescGZIP(), []int{222} } func (x *DiscoverLoginRecoveryCandidatesResponse) GetArrivingProvider() LoginProvider { @@ -19428,7 +19576,7 @@ type RenameWorkspaceRequest struct { func (x *RenameWorkspaceRequest) Reset() { *x = RenameWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[222] + mi := &file_brent_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19440,7 +19588,7 @@ func (x *RenameWorkspaceRequest) String() string { func (*RenameWorkspaceRequest) ProtoMessage() {} func (x *RenameWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[222] + mi := &file_brent_proto_msgTypes[223] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19453,7 +19601,7 @@ func (x *RenameWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameWorkspaceRequest.ProtoReflect.Descriptor instead. func (*RenameWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{222} + return file_brent_proto_rawDescGZIP(), []int{223} } func (x *RenameWorkspaceRequest) GetDisplayName() string { @@ -19472,7 +19620,7 @@ type RenameWorkspaceResponse struct { func (x *RenameWorkspaceResponse) Reset() { *x = RenameWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[223] + mi := &file_brent_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19484,7 +19632,7 @@ func (x *RenameWorkspaceResponse) String() string { func (*RenameWorkspaceResponse) ProtoMessage() {} func (x *RenameWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[223] + mi := &file_brent_proto_msgTypes[224] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19497,7 +19645,7 @@ func (x *RenameWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameWorkspaceResponse.ProtoReflect.Descriptor instead. func (*RenameWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{223} + return file_brent_proto_rawDescGZIP(), []int{224} } func (x *RenameWorkspaceResponse) GetWorkspace() *Workspace { @@ -19518,7 +19666,7 @@ type DeleteWorkspaceRequest struct { func (x *DeleteWorkspaceRequest) Reset() { *x = DeleteWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[224] + mi := &file_brent_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19530,7 +19678,7 @@ func (x *DeleteWorkspaceRequest) String() string { func (*DeleteWorkspaceRequest) ProtoMessage() {} func (x *DeleteWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[224] + mi := &file_brent_proto_msgTypes[225] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19543,7 +19691,7 @@ func (x *DeleteWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteWorkspaceRequest.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{224} + return file_brent_proto_rawDescGZIP(), []int{225} } func (x *DeleteWorkspaceRequest) GetWorkspaceId() string { @@ -19561,7 +19709,7 @@ type DeleteWorkspaceResponse struct { func (x *DeleteWorkspaceResponse) Reset() { *x = DeleteWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[225] + mi := &file_brent_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19573,7 +19721,7 @@ func (x *DeleteWorkspaceResponse) String() string { func (*DeleteWorkspaceResponse) ProtoMessage() {} func (x *DeleteWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[225] + mi := &file_brent_proto_msgTypes[226] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19586,7 +19734,7 @@ func (x *DeleteWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteWorkspaceResponse.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{225} + return file_brent_proto_rawDescGZIP(), []int{226} } type ListJoinableWorkspacesRequest struct { @@ -19597,7 +19745,7 @@ type ListJoinableWorkspacesRequest struct { func (x *ListJoinableWorkspacesRequest) Reset() { *x = ListJoinableWorkspacesRequest{} - mi := &file_brent_proto_msgTypes[226] + mi := &file_brent_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19609,7 +19757,7 @@ func (x *ListJoinableWorkspacesRequest) String() string { func (*ListJoinableWorkspacesRequest) ProtoMessage() {} func (x *ListJoinableWorkspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[226] + mi := &file_brent_proto_msgTypes[227] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19622,7 +19770,7 @@ func (x *ListJoinableWorkspacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListJoinableWorkspacesRequest.ProtoReflect.Descriptor instead. func (*ListJoinableWorkspacesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{226} + return file_brent_proto_rawDescGZIP(), []int{227} } type ListJoinableWorkspacesResponse struct { @@ -19634,7 +19782,7 @@ type ListJoinableWorkspacesResponse struct { func (x *ListJoinableWorkspacesResponse) Reset() { *x = ListJoinableWorkspacesResponse{} - mi := &file_brent_proto_msgTypes[227] + mi := &file_brent_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19646,7 +19794,7 @@ func (x *ListJoinableWorkspacesResponse) String() string { func (*ListJoinableWorkspacesResponse) ProtoMessage() {} func (x *ListJoinableWorkspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[227] + mi := &file_brent_proto_msgTypes[228] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19659,7 +19807,7 @@ func (x *ListJoinableWorkspacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListJoinableWorkspacesResponse.ProtoReflect.Descriptor instead. func (*ListJoinableWorkspacesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{227} + return file_brent_proto_rawDescGZIP(), []int{228} } func (x *ListJoinableWorkspacesResponse) GetWorkspaces() []*JoinableWorkspace { @@ -19687,7 +19835,7 @@ type JoinableWorkspace struct { func (x *JoinableWorkspace) Reset() { *x = JoinableWorkspace{} - mi := &file_brent_proto_msgTypes[228] + mi := &file_brent_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19699,7 +19847,7 @@ func (x *JoinableWorkspace) String() string { func (*JoinableWorkspace) ProtoMessage() {} func (x *JoinableWorkspace) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[228] + mi := &file_brent_proto_msgTypes[229] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19712,7 +19860,7 @@ func (x *JoinableWorkspace) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinableWorkspace.ProtoReflect.Descriptor instead. func (*JoinableWorkspace) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{228} + return file_brent_proto_rawDescGZIP(), []int{229} } func (x *JoinableWorkspace) GetWorkspaceId() string { @@ -19789,7 +19937,7 @@ type JoinableWorkspaceMember struct { func (x *JoinableWorkspaceMember) Reset() { *x = JoinableWorkspaceMember{} - mi := &file_brent_proto_msgTypes[229] + mi := &file_brent_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19801,7 +19949,7 @@ func (x *JoinableWorkspaceMember) String() string { func (*JoinableWorkspaceMember) ProtoMessage() {} func (x *JoinableWorkspaceMember) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[229] + mi := &file_brent_proto_msgTypes[230] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19814,7 +19962,7 @@ func (x *JoinableWorkspaceMember) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinableWorkspaceMember.ProtoReflect.Descriptor instead. func (*JoinableWorkspaceMember) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{229} + return file_brent_proto_rawDescGZIP(), []int{230} } func (x *JoinableWorkspaceMember) GetDisplayName() string { @@ -19840,7 +19988,7 @@ type JoinWorkspaceRequest struct { func (x *JoinWorkspaceRequest) Reset() { *x = JoinWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[230] + mi := &file_brent_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19852,7 +20000,7 @@ func (x *JoinWorkspaceRequest) String() string { func (*JoinWorkspaceRequest) ProtoMessage() {} func (x *JoinWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[230] + mi := &file_brent_proto_msgTypes[231] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19865,7 +20013,7 @@ func (x *JoinWorkspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinWorkspaceRequest.ProtoReflect.Descriptor instead. func (*JoinWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{230} + return file_brent_proto_rawDescGZIP(), []int{231} } func (x *JoinWorkspaceRequest) GetWorkspaceId() string { @@ -19884,7 +20032,7 @@ type JoinWorkspaceResponse struct { func (x *JoinWorkspaceResponse) Reset() { *x = JoinWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[231] + mi := &file_brent_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19896,7 +20044,7 @@ func (x *JoinWorkspaceResponse) String() string { func (*JoinWorkspaceResponse) ProtoMessage() {} func (x *JoinWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[231] + mi := &file_brent_proto_msgTypes[232] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19909,7 +20057,7 @@ func (x *JoinWorkspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinWorkspaceResponse.ProtoReflect.Descriptor instead. func (*JoinWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{231} + return file_brent_proto_rawDescGZIP(), []int{232} } func (x *JoinWorkspaceResponse) GetWorkspace() *Workspace { @@ -19938,7 +20086,7 @@ type ApprovedEmailDomain struct { func (x *ApprovedEmailDomain) Reset() { *x = ApprovedEmailDomain{} - mi := &file_brent_proto_msgTypes[232] + mi := &file_brent_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19950,7 +20098,7 @@ func (x *ApprovedEmailDomain) String() string { func (*ApprovedEmailDomain) ProtoMessage() {} func (x *ApprovedEmailDomain) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[232] + mi := &file_brent_proto_msgTypes[233] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19963,7 +20111,7 @@ func (x *ApprovedEmailDomain) ProtoReflect() protoreflect.Message { // Deprecated: Use ApprovedEmailDomain.ProtoReflect.Descriptor instead. func (*ApprovedEmailDomain) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{232} + return file_brent_proto_rawDescGZIP(), []int{233} } func (x *ApprovedEmailDomain) GetId() string { @@ -20016,7 +20164,7 @@ type ListApprovedEmailDomainsRequest struct { func (x *ListApprovedEmailDomainsRequest) Reset() { *x = ListApprovedEmailDomainsRequest{} - mi := &file_brent_proto_msgTypes[233] + mi := &file_brent_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20028,7 +20176,7 @@ func (x *ListApprovedEmailDomainsRequest) String() string { func (*ListApprovedEmailDomainsRequest) ProtoMessage() {} func (x *ListApprovedEmailDomainsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[233] + mi := &file_brent_proto_msgTypes[234] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20041,7 +20189,7 @@ func (x *ListApprovedEmailDomainsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApprovedEmailDomainsRequest.ProtoReflect.Descriptor instead. func (*ListApprovedEmailDomainsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{233} + return file_brent_proto_rawDescGZIP(), []int{234} } type ListApprovedEmailDomainsResponse struct { @@ -20053,7 +20201,7 @@ type ListApprovedEmailDomainsResponse struct { func (x *ListApprovedEmailDomainsResponse) Reset() { *x = ListApprovedEmailDomainsResponse{} - mi := &file_brent_proto_msgTypes[234] + mi := &file_brent_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20065,7 +20213,7 @@ func (x *ListApprovedEmailDomainsResponse) String() string { func (*ListApprovedEmailDomainsResponse) ProtoMessage() {} func (x *ListApprovedEmailDomainsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[234] + mi := &file_brent_proto_msgTypes[235] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20078,7 +20226,7 @@ func (x *ListApprovedEmailDomainsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApprovedEmailDomainsResponse.ProtoReflect.Descriptor instead. func (*ListApprovedEmailDomainsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{234} + return file_brent_proto_rawDescGZIP(), []int{235} } func (x *ListApprovedEmailDomainsResponse) GetDomains() []*ApprovedEmailDomain { @@ -20102,7 +20250,7 @@ type AddApprovedEmailDomainRequest struct { func (x *AddApprovedEmailDomainRequest) Reset() { *x = AddApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[235] + mi := &file_brent_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20114,7 +20262,7 @@ func (x *AddApprovedEmailDomainRequest) String() string { func (*AddApprovedEmailDomainRequest) ProtoMessage() {} func (x *AddApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[235] + mi := &file_brent_proto_msgTypes[236] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20127,7 +20275,7 @@ func (x *AddApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. func (*AddApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{235} + return file_brent_proto_rawDescGZIP(), []int{236} } func (x *AddApprovedEmailDomainRequest) GetDomain() string { @@ -20153,7 +20301,7 @@ type AddApprovedEmailDomainResponse struct { func (x *AddApprovedEmailDomainResponse) Reset() { *x = AddApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[236] + mi := &file_brent_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20165,7 +20313,7 @@ func (x *AddApprovedEmailDomainResponse) String() string { func (*AddApprovedEmailDomainResponse) ProtoMessage() {} func (x *AddApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[236] + mi := &file_brent_proto_msgTypes[237] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20178,7 +20326,7 @@ func (x *AddApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. func (*AddApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{236} + return file_brent_proto_rawDescGZIP(), []int{237} } func (x *AddApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { @@ -20200,7 +20348,7 @@ type VerifyApprovedEmailDomainRequest struct { func (x *VerifyApprovedEmailDomainRequest) Reset() { *x = VerifyApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[237] + mi := &file_brent_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20212,7 +20360,7 @@ func (x *VerifyApprovedEmailDomainRequest) String() string { func (*VerifyApprovedEmailDomainRequest) ProtoMessage() {} func (x *VerifyApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[237] + mi := &file_brent_proto_msgTypes[238] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20225,7 +20373,7 @@ func (x *VerifyApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. func (*VerifyApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{237} + return file_brent_proto_rawDescGZIP(), []int{238} } func (x *VerifyApprovedEmailDomainRequest) GetId() string { @@ -20251,7 +20399,7 @@ type VerifyApprovedEmailDomainResponse struct { func (x *VerifyApprovedEmailDomainResponse) Reset() { *x = VerifyApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[238] + mi := &file_brent_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20263,7 +20411,7 @@ func (x *VerifyApprovedEmailDomainResponse) String() string { func (*VerifyApprovedEmailDomainResponse) ProtoMessage() {} func (x *VerifyApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[238] + mi := &file_brent_proto_msgTypes[239] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20276,7 +20424,7 @@ func (x *VerifyApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message // Deprecated: Use VerifyApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. func (*VerifyApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{238} + return file_brent_proto_rawDescGZIP(), []int{239} } func (x *VerifyApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { @@ -20296,7 +20444,7 @@ type ResendApprovedEmailDomainCodeRequest struct { func (x *ResendApprovedEmailDomainCodeRequest) Reset() { *x = ResendApprovedEmailDomainCodeRequest{} - mi := &file_brent_proto_msgTypes[239] + mi := &file_brent_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20308,7 +20456,7 @@ func (x *ResendApprovedEmailDomainCodeRequest) String() string { func (*ResendApprovedEmailDomainCodeRequest) ProtoMessage() {} func (x *ResendApprovedEmailDomainCodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[239] + mi := &file_brent_proto_msgTypes[240] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20321,7 +20469,7 @@ func (x *ResendApprovedEmailDomainCodeRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ResendApprovedEmailDomainCodeRequest.ProtoReflect.Descriptor instead. func (*ResendApprovedEmailDomainCodeRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{239} + return file_brent_proto_rawDescGZIP(), []int{240} } func (x *ResendApprovedEmailDomainCodeRequest) GetId() string { @@ -20339,7 +20487,7 @@ type ResendApprovedEmailDomainCodeResponse struct { func (x *ResendApprovedEmailDomainCodeResponse) Reset() { *x = ResendApprovedEmailDomainCodeResponse{} - mi := &file_brent_proto_msgTypes[240] + mi := &file_brent_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20351,7 +20499,7 @@ func (x *ResendApprovedEmailDomainCodeResponse) String() string { func (*ResendApprovedEmailDomainCodeResponse) ProtoMessage() {} func (x *ResendApprovedEmailDomainCodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[240] + mi := &file_brent_proto_msgTypes[241] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20364,7 +20512,7 @@ func (x *ResendApprovedEmailDomainCodeResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ResendApprovedEmailDomainCodeResponse.ProtoReflect.Descriptor instead. func (*ResendApprovedEmailDomainCodeResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{240} + return file_brent_proto_rawDescGZIP(), []int{241} } // ResendVerificationEmailRequest carries no fields: the recipient identity is @@ -20377,7 +20525,7 @@ type ResendVerificationEmailRequest struct { func (x *ResendVerificationEmailRequest) Reset() { *x = ResendVerificationEmailRequest{} - mi := &file_brent_proto_msgTypes[241] + mi := &file_brent_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20389,7 +20537,7 @@ func (x *ResendVerificationEmailRequest) String() string { func (*ResendVerificationEmailRequest) ProtoMessage() {} func (x *ResendVerificationEmailRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[241] + mi := &file_brent_proto_msgTypes[242] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20402,7 +20550,7 @@ func (x *ResendVerificationEmailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendVerificationEmailRequest.ProtoReflect.Descriptor instead. func (*ResendVerificationEmailRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{241} + return file_brent_proto_rawDescGZIP(), []int{242} } type ResendVerificationEmailResponse struct { @@ -20413,7 +20561,7 @@ type ResendVerificationEmailResponse struct { func (x *ResendVerificationEmailResponse) Reset() { *x = ResendVerificationEmailResponse{} - mi := &file_brent_proto_msgTypes[242] + mi := &file_brent_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20425,7 +20573,7 @@ func (x *ResendVerificationEmailResponse) String() string { func (*ResendVerificationEmailResponse) ProtoMessage() {} func (x *ResendVerificationEmailResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[242] + mi := &file_brent_proto_msgTypes[243] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20438,7 +20586,7 @@ func (x *ResendVerificationEmailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendVerificationEmailResponse.ProtoReflect.Descriptor instead. func (*ResendVerificationEmailResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{242} + return file_brent_proto_rawDescGZIP(), []int{243} } type DeleteApprovedEmailDomainRequest struct { @@ -20451,7 +20599,7 @@ type DeleteApprovedEmailDomainRequest struct { func (x *DeleteApprovedEmailDomainRequest) Reset() { *x = DeleteApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[243] + mi := &file_brent_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20463,7 +20611,7 @@ func (x *DeleteApprovedEmailDomainRequest) String() string { func (*DeleteApprovedEmailDomainRequest) ProtoMessage() {} func (x *DeleteApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[243] + mi := &file_brent_proto_msgTypes[244] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20476,7 +20624,7 @@ func (x *DeleteApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. func (*DeleteApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{243} + return file_brent_proto_rawDescGZIP(), []int{244} } func (x *DeleteApprovedEmailDomainRequest) GetId() string { @@ -20494,7 +20642,7 @@ type DeleteApprovedEmailDomainResponse struct { func (x *DeleteApprovedEmailDomainResponse) Reset() { *x = DeleteApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[244] + mi := &file_brent_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20506,7 +20654,7 @@ func (x *DeleteApprovedEmailDomainResponse) String() string { func (*DeleteApprovedEmailDomainResponse) ProtoMessage() {} func (x *DeleteApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[244] + mi := &file_brent_proto_msgTypes[245] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20519,7 +20667,7 @@ func (x *DeleteApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. func (*DeleteApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{244} + return file_brent_proto_rawDescGZIP(), []int{245} } // WorkspaceLLMCredentialStatus is the metadata-only view of a stored workspace @@ -20543,7 +20691,7 @@ type WorkspaceLLMCredentialStatus struct { func (x *WorkspaceLLMCredentialStatus) Reset() { *x = WorkspaceLLMCredentialStatus{} - mi := &file_brent_proto_msgTypes[245] + mi := &file_brent_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20555,7 +20703,7 @@ func (x *WorkspaceLLMCredentialStatus) String() string { func (*WorkspaceLLMCredentialStatus) ProtoMessage() {} func (x *WorkspaceLLMCredentialStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[245] + mi := &file_brent_proto_msgTypes[246] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20568,7 +20716,7 @@ func (x *WorkspaceLLMCredentialStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceLLMCredentialStatus.ProtoReflect.Descriptor instead. func (*WorkspaceLLMCredentialStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{245} + return file_brent_proto_rawDescGZIP(), []int{246} } func (x *WorkspaceLLMCredentialStatus) GetProvider() string { @@ -20616,7 +20764,7 @@ type GetWorkspaceLLMCredentialStatusRequest struct { func (x *GetWorkspaceLLMCredentialStatusRequest) Reset() { *x = GetWorkspaceLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[246] + mi := &file_brent_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20628,7 +20776,7 @@ func (x *GetWorkspaceLLMCredentialStatusRequest) String() string { func (*GetWorkspaceLLMCredentialStatusRequest) ProtoMessage() {} func (x *GetWorkspaceLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[246] + mi := &file_brent_proto_msgTypes[247] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20641,7 +20789,7 @@ func (x *GetWorkspaceLLMCredentialStatusRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use GetWorkspaceLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*GetWorkspaceLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{246} + return file_brent_proto_rawDescGZIP(), []int{247} } func (x *GetWorkspaceLLMCredentialStatusRequest) GetProvider() string { @@ -20660,7 +20808,7 @@ type GetWorkspaceLLMCredentialStatusResponse struct { func (x *GetWorkspaceLLMCredentialStatusResponse) Reset() { *x = GetWorkspaceLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[247] + mi := &file_brent_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20672,7 +20820,7 @@ func (x *GetWorkspaceLLMCredentialStatusResponse) String() string { func (*GetWorkspaceLLMCredentialStatusResponse) ProtoMessage() {} func (x *GetWorkspaceLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[247] + mi := &file_brent_proto_msgTypes[248] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20685,7 +20833,7 @@ func (x *GetWorkspaceLLMCredentialStatusResponse) ProtoReflect() protoreflect.Me // Deprecated: Use GetWorkspaceLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*GetWorkspaceLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{247} + return file_brent_proto_rawDescGZIP(), []int{248} } func (x *GetWorkspaceLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -20707,7 +20855,7 @@ type SetWorkspaceLLMCredentialRequest struct { func (x *SetWorkspaceLLMCredentialRequest) Reset() { *x = SetWorkspaceLLMCredentialRequest{} - mi := &file_brent_proto_msgTypes[248] + mi := &file_brent_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20719,7 +20867,7 @@ func (x *SetWorkspaceLLMCredentialRequest) String() string { func (*SetWorkspaceLLMCredentialRequest) ProtoMessage() {} func (x *SetWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[248] + mi := &file_brent_proto_msgTypes[249] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20732,7 +20880,7 @@ func (x *SetWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. func (*SetWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{248} + return file_brent_proto_rawDescGZIP(), []int{249} } func (x *SetWorkspaceLLMCredentialRequest) GetProvider() string { @@ -20763,7 +20911,7 @@ type SetWorkspaceLLMCredentialResponse struct { func (x *SetWorkspaceLLMCredentialResponse) Reset() { *x = SetWorkspaceLLMCredentialResponse{} - mi := &file_brent_proto_msgTypes[249] + mi := &file_brent_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20775,7 +20923,7 @@ func (x *SetWorkspaceLLMCredentialResponse) String() string { func (*SetWorkspaceLLMCredentialResponse) ProtoMessage() {} func (x *SetWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[249] + mi := &file_brent_proto_msgTypes[250] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20788,7 +20936,7 @@ func (x *SetWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message // Deprecated: Use SetWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. func (*SetWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{249} + return file_brent_proto_rawDescGZIP(), []int{250} } func (x *SetWorkspaceLLMCredentialResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -20815,7 +20963,7 @@ type DeleteWorkspaceLLMCredentialRequest struct { func (x *DeleteWorkspaceLLMCredentialRequest) Reset() { *x = DeleteWorkspaceLLMCredentialRequest{} - mi := &file_brent_proto_msgTypes[250] + mi := &file_brent_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20827,7 +20975,7 @@ func (x *DeleteWorkspaceLLMCredentialRequest) String() string { func (*DeleteWorkspaceLLMCredentialRequest) ProtoMessage() {} func (x *DeleteWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[250] + mi := &file_brent_proto_msgTypes[251] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20840,7 +20988,7 @@ func (x *DeleteWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use DeleteWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{250} + return file_brent_proto_rawDescGZIP(), []int{251} } func (x *DeleteWorkspaceLLMCredentialRequest) GetProvider() string { @@ -20858,7 +21006,7 @@ type DeleteWorkspaceLLMCredentialResponse struct { func (x *DeleteWorkspaceLLMCredentialResponse) Reset() { *x = DeleteWorkspaceLLMCredentialResponse{} - mi := &file_brent_proto_msgTypes[251] + mi := &file_brent_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20870,7 +21018,7 @@ func (x *DeleteWorkspaceLLMCredentialResponse) String() string { func (*DeleteWorkspaceLLMCredentialResponse) ProtoMessage() {} func (x *DeleteWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[251] + mi := &file_brent_proto_msgTypes[252] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20883,7 +21031,7 @@ func (x *DeleteWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use DeleteWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. func (*DeleteWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{251} + return file_brent_proto_rawDescGZIP(), []int{252} } type MyCursorCredentialStatus struct { @@ -20900,7 +21048,7 @@ type MyCursorCredentialStatus struct { func (x *MyCursorCredentialStatus) Reset() { *x = MyCursorCredentialStatus{} - mi := &file_brent_proto_msgTypes[252] + mi := &file_brent_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20912,7 +21060,7 @@ func (x *MyCursorCredentialStatus) String() string { func (*MyCursorCredentialStatus) ProtoMessage() {} func (x *MyCursorCredentialStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[252] + mi := &file_brent_proto_msgTypes[253] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20925,7 +21073,7 @@ func (x *MyCursorCredentialStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use MyCursorCredentialStatus.ProtoReflect.Descriptor instead. func (*MyCursorCredentialStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{252} + return file_brent_proto_rawDescGZIP(), []int{253} } func (x *MyCursorCredentialStatus) GetConnected() bool { @@ -20957,7 +21105,7 @@ type GetMyCursorCredentialStatusRequest struct { func (x *GetMyCursorCredentialStatusRequest) Reset() { *x = GetMyCursorCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[253] + mi := &file_brent_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20969,7 +21117,7 @@ func (x *GetMyCursorCredentialStatusRequest) String() string { func (*GetMyCursorCredentialStatusRequest) ProtoMessage() {} func (x *GetMyCursorCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[253] + mi := &file_brent_proto_msgTypes[254] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20982,7 +21130,7 @@ func (x *GetMyCursorCredentialStatusRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetMyCursorCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*GetMyCursorCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{253} + return file_brent_proto_rawDescGZIP(), []int{254} } type GetMyCursorCredentialStatusResponse struct { @@ -20994,7 +21142,7 @@ type GetMyCursorCredentialStatusResponse struct { func (x *GetMyCursorCredentialStatusResponse) Reset() { *x = GetMyCursorCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[254] + mi := &file_brent_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21006,7 +21154,7 @@ func (x *GetMyCursorCredentialStatusResponse) String() string { func (*GetMyCursorCredentialStatusResponse) ProtoMessage() {} func (x *GetMyCursorCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[254] + mi := &file_brent_proto_msgTypes[255] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21019,7 +21167,7 @@ func (x *GetMyCursorCredentialStatusResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetMyCursorCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*GetMyCursorCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{254} + return file_brent_proto_rawDescGZIP(), []int{255} } func (x *GetMyCursorCredentialStatusResponse) GetStatus() *MyCursorCredentialStatus { @@ -21039,7 +21187,7 @@ type SetMyCursorCredentialRequest struct { func (x *SetMyCursorCredentialRequest) Reset() { *x = SetMyCursorCredentialRequest{} - mi := &file_brent_proto_msgTypes[255] + mi := &file_brent_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21051,7 +21199,7 @@ func (x *SetMyCursorCredentialRequest) String() string { func (*SetMyCursorCredentialRequest) ProtoMessage() {} func (x *SetMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[255] + mi := &file_brent_proto_msgTypes[256] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21064,7 +21212,7 @@ func (x *SetMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMyCursorCredentialRequest.ProtoReflect.Descriptor instead. func (*SetMyCursorCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{255} + return file_brent_proto_rawDescGZIP(), []int{256} } func (x *SetMyCursorCredentialRequest) GetSecret() string { @@ -21083,7 +21231,7 @@ type SetMyCursorCredentialResponse struct { func (x *SetMyCursorCredentialResponse) Reset() { *x = SetMyCursorCredentialResponse{} - mi := &file_brent_proto_msgTypes[256] + mi := &file_brent_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21095,7 +21243,7 @@ func (x *SetMyCursorCredentialResponse) String() string { func (*SetMyCursorCredentialResponse) ProtoMessage() {} func (x *SetMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[256] + mi := &file_brent_proto_msgTypes[257] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21108,7 +21256,7 @@ func (x *SetMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMyCursorCredentialResponse.ProtoReflect.Descriptor instead. func (*SetMyCursorCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{256} + return file_brent_proto_rawDescGZIP(), []int{257} } func (x *SetMyCursorCredentialResponse) GetStatus() *MyCursorCredentialStatus { @@ -21126,7 +21274,7 @@ type DeleteMyCursorCredentialRequest struct { func (x *DeleteMyCursorCredentialRequest) Reset() { *x = DeleteMyCursorCredentialRequest{} - mi := &file_brent_proto_msgTypes[257] + mi := &file_brent_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21138,7 +21286,7 @@ func (x *DeleteMyCursorCredentialRequest) String() string { func (*DeleteMyCursorCredentialRequest) ProtoMessage() {} func (x *DeleteMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[257] + mi := &file_brent_proto_msgTypes[258] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21151,7 +21299,7 @@ func (x *DeleteMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMyCursorCredentialRequest.ProtoReflect.Descriptor instead. func (*DeleteMyCursorCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{257} + return file_brent_proto_rawDescGZIP(), []int{258} } type DeleteMyCursorCredentialResponse struct { @@ -21162,7 +21310,7 @@ type DeleteMyCursorCredentialResponse struct { func (x *DeleteMyCursorCredentialResponse) Reset() { *x = DeleteMyCursorCredentialResponse{} - mi := &file_brent_proto_msgTypes[258] + mi := &file_brent_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21174,7 +21322,7 @@ func (x *DeleteMyCursorCredentialResponse) String() string { func (*DeleteMyCursorCredentialResponse) ProtoMessage() {} func (x *DeleteMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[258] + mi := &file_brent_proto_msgTypes[259] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21187,7 +21335,7 @@ func (x *DeleteMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMyCursorCredentialResponse.ProtoReflect.Descriptor instead. func (*DeleteMyCursorCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{258} + return file_brent_proto_rawDescGZIP(), []int{259} } type UpdateWorkspaceBrandingRequest struct { @@ -21203,7 +21351,7 @@ type UpdateWorkspaceBrandingRequest struct { func (x *UpdateWorkspaceBrandingRequest) Reset() { *x = UpdateWorkspaceBrandingRequest{} - mi := &file_brent_proto_msgTypes[259] + mi := &file_brent_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21215,7 +21363,7 @@ func (x *UpdateWorkspaceBrandingRequest) String() string { func (*UpdateWorkspaceBrandingRequest) ProtoMessage() {} func (x *UpdateWorkspaceBrandingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[259] + mi := &file_brent_proto_msgTypes[260] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21228,7 +21376,7 @@ func (x *UpdateWorkspaceBrandingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkspaceBrandingRequest.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceBrandingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{259} + return file_brent_proto_rawDescGZIP(), []int{260} } func (x *UpdateWorkspaceBrandingRequest) GetThemeColor() string { @@ -21247,7 +21395,7 @@ type UpdateWorkspaceBrandingResponse struct { func (x *UpdateWorkspaceBrandingResponse) Reset() { *x = UpdateWorkspaceBrandingResponse{} - mi := &file_brent_proto_msgTypes[260] + mi := &file_brent_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21259,7 +21407,7 @@ func (x *UpdateWorkspaceBrandingResponse) String() string { func (*UpdateWorkspaceBrandingResponse) ProtoMessage() {} func (x *UpdateWorkspaceBrandingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[260] + mi := &file_brent_proto_msgTypes[261] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21272,7 +21420,7 @@ func (x *UpdateWorkspaceBrandingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkspaceBrandingResponse.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceBrandingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{260} + return file_brent_proto_rawDescGZIP(), []int{261} } func (x *UpdateWorkspaceBrandingResponse) GetWorkspace() *Workspace { @@ -21293,7 +21441,7 @@ type CompleteWorkspaceOnboardingRequest struct { func (x *CompleteWorkspaceOnboardingRequest) Reset() { *x = CompleteWorkspaceOnboardingRequest{} - mi := &file_brent_proto_msgTypes[261] + mi := &file_brent_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21305,7 +21453,7 @@ func (x *CompleteWorkspaceOnboardingRequest) String() string { func (*CompleteWorkspaceOnboardingRequest) ProtoMessage() {} func (x *CompleteWorkspaceOnboardingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[261] + mi := &file_brent_proto_msgTypes[262] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21318,7 +21466,7 @@ func (x *CompleteWorkspaceOnboardingRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CompleteWorkspaceOnboardingRequest.ProtoReflect.Descriptor instead. func (*CompleteWorkspaceOnboardingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{261} + return file_brent_proto_rawDescGZIP(), []int{262} } func (x *CompleteWorkspaceOnboardingRequest) GetWorkspaceId() string { @@ -21337,7 +21485,7 @@ type CompleteWorkspaceOnboardingResponse struct { func (x *CompleteWorkspaceOnboardingResponse) Reset() { *x = CompleteWorkspaceOnboardingResponse{} - mi := &file_brent_proto_msgTypes[262] + mi := &file_brent_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21349,7 +21497,7 @@ func (x *CompleteWorkspaceOnboardingResponse) String() string { func (*CompleteWorkspaceOnboardingResponse) ProtoMessage() {} func (x *CompleteWorkspaceOnboardingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[262] + mi := &file_brent_proto_msgTypes[263] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21362,7 +21510,7 @@ func (x *CompleteWorkspaceOnboardingResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CompleteWorkspaceOnboardingResponse.ProtoReflect.Descriptor instead. func (*CompleteWorkspaceOnboardingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{262} + return file_brent_proto_rawDescGZIP(), []int{263} } func (x *CompleteWorkspaceOnboardingResponse) GetWorkspace() *Workspace { @@ -21383,7 +21531,7 @@ type CreateInvitationRequest struct { func (x *CreateInvitationRequest) Reset() { *x = CreateInvitationRequest{} - mi := &file_brent_proto_msgTypes[263] + mi := &file_brent_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21395,7 +21543,7 @@ func (x *CreateInvitationRequest) String() string { func (*CreateInvitationRequest) ProtoMessage() {} func (x *CreateInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[263] + mi := &file_brent_proto_msgTypes[264] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21408,7 +21556,7 @@ func (x *CreateInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationRequest.ProtoReflect.Descriptor instead. func (*CreateInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{263} + return file_brent_proto_rawDescGZIP(), []int{264} } func (x *CreateInvitationRequest) GetWorkspaceId() string { @@ -21444,7 +21592,7 @@ type CreateInvitationResponse struct { func (x *CreateInvitationResponse) Reset() { *x = CreateInvitationResponse{} - mi := &file_brent_proto_msgTypes[264] + mi := &file_brent_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21456,7 +21604,7 @@ func (x *CreateInvitationResponse) String() string { func (*CreateInvitationResponse) ProtoMessage() {} func (x *CreateInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[264] + mi := &file_brent_proto_msgTypes[265] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21469,7 +21617,7 @@ func (x *CreateInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationResponse.ProtoReflect.Descriptor instead. func (*CreateInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{264} + return file_brent_proto_rawDescGZIP(), []int{265} } func (x *CreateInvitationResponse) GetAcceptUrl() string { @@ -21511,7 +21659,7 @@ type CreateInvitationsRequest struct { func (x *CreateInvitationsRequest) Reset() { *x = CreateInvitationsRequest{} - mi := &file_brent_proto_msgTypes[265] + mi := &file_brent_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21523,7 +21671,7 @@ func (x *CreateInvitationsRequest) String() string { func (*CreateInvitationsRequest) ProtoMessage() {} func (x *CreateInvitationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[265] + mi := &file_brent_proto_msgTypes[266] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21536,7 +21684,7 @@ func (x *CreateInvitationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationsRequest.ProtoReflect.Descriptor instead. func (*CreateInvitationsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{265} + return file_brent_proto_rawDescGZIP(), []int{266} } func (x *CreateInvitationsRequest) GetWorkspaceId() string { @@ -21572,7 +21720,7 @@ type InvitationResult struct { func (x *InvitationResult) Reset() { *x = InvitationResult{} - mi := &file_brent_proto_msgTypes[266] + mi := &file_brent_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21584,7 +21732,7 @@ func (x *InvitationResult) String() string { func (*InvitationResult) ProtoMessage() {} func (x *InvitationResult) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[266] + mi := &file_brent_proto_msgTypes[267] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21597,7 +21745,7 @@ func (x *InvitationResult) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationResult.ProtoReflect.Descriptor instead. func (*InvitationResult) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{266} + return file_brent_proto_rawDescGZIP(), []int{267} } func (x *InvitationResult) GetEmail() string { @@ -21637,7 +21785,7 @@ type CreateInvitationsResponse struct { func (x *CreateInvitationsResponse) Reset() { *x = CreateInvitationsResponse{} - mi := &file_brent_proto_msgTypes[267] + mi := &file_brent_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21649,7 +21797,7 @@ func (x *CreateInvitationsResponse) String() string { func (*CreateInvitationsResponse) ProtoMessage() {} func (x *CreateInvitationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[267] + mi := &file_brent_proto_msgTypes[268] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21662,7 +21810,7 @@ func (x *CreateInvitationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInvitationsResponse.ProtoReflect.Descriptor instead. func (*CreateInvitationsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{267} + return file_brent_proto_rawDescGZIP(), []int{268} } func (x *CreateInvitationsResponse) GetResults() []*InvitationResult { @@ -21681,7 +21829,7 @@ type AcceptInvitationRequest struct { func (x *AcceptInvitationRequest) Reset() { *x = AcceptInvitationRequest{} - mi := &file_brent_proto_msgTypes[268] + mi := &file_brent_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21693,7 +21841,7 @@ func (x *AcceptInvitationRequest) String() string { func (*AcceptInvitationRequest) ProtoMessage() {} func (x *AcceptInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[268] + mi := &file_brent_proto_msgTypes[269] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21706,7 +21854,7 @@ func (x *AcceptInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceptInvitationRequest.ProtoReflect.Descriptor instead. func (*AcceptInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{268} + return file_brent_proto_rawDescGZIP(), []int{269} } func (x *AcceptInvitationRequest) GetToken() string { @@ -21725,7 +21873,7 @@ type AcceptInvitationResponse struct { func (x *AcceptInvitationResponse) Reset() { *x = AcceptInvitationResponse{} - mi := &file_brent_proto_msgTypes[269] + mi := &file_brent_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21737,7 +21885,7 @@ func (x *AcceptInvitationResponse) String() string { func (*AcceptInvitationResponse) ProtoMessage() {} func (x *AcceptInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[269] + mi := &file_brent_proto_msgTypes[270] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21750,7 +21898,7 @@ func (x *AcceptInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceptInvitationResponse.ProtoReflect.Descriptor instead. func (*AcceptInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{269} + return file_brent_proto_rawDescGZIP(), []int{270} } func (x *AcceptInvitationResponse) GetWorkspace() *Workspace { @@ -21769,7 +21917,7 @@ type ListWorkspaceMembersRequest struct { func (x *ListWorkspaceMembersRequest) Reset() { *x = ListWorkspaceMembersRequest{} - mi := &file_brent_proto_msgTypes[270] + mi := &file_brent_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21781,7 +21929,7 @@ func (x *ListWorkspaceMembersRequest) String() string { func (*ListWorkspaceMembersRequest) ProtoMessage() {} func (x *ListWorkspaceMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[270] + mi := &file_brent_proto_msgTypes[271] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21794,7 +21942,7 @@ func (x *ListWorkspaceMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkspaceMembersRequest.ProtoReflect.Descriptor instead. func (*ListWorkspaceMembersRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{270} + return file_brent_proto_rawDescGZIP(), []int{271} } func (x *ListWorkspaceMembersRequest) GetWorkspaceId() string { @@ -21813,7 +21961,7 @@ type ListWorkspaceMembersResponse struct { func (x *ListWorkspaceMembersResponse) Reset() { *x = ListWorkspaceMembersResponse{} - mi := &file_brent_proto_msgTypes[271] + mi := &file_brent_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21825,7 +21973,7 @@ func (x *ListWorkspaceMembersResponse) String() string { func (*ListWorkspaceMembersResponse) ProtoMessage() {} func (x *ListWorkspaceMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[271] + mi := &file_brent_proto_msgTypes[272] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21838,7 +21986,7 @@ func (x *ListWorkspaceMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWorkspaceMembersResponse.ProtoReflect.Descriptor instead. func (*ListWorkspaceMembersResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{271} + return file_brent_proto_rawDescGZIP(), []int{272} } func (x *ListWorkspaceMembersResponse) GetMembers() []*WorkspaceMember { @@ -21865,7 +22013,7 @@ type WorkspaceMember struct { func (x *WorkspaceMember) Reset() { *x = WorkspaceMember{} - mi := &file_brent_proto_msgTypes[272] + mi := &file_brent_proto_msgTypes[273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21877,7 +22025,7 @@ func (x *WorkspaceMember) String() string { func (*WorkspaceMember) ProtoMessage() {} func (x *WorkspaceMember) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[272] + mi := &file_brent_proto_msgTypes[273] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21890,7 +22038,7 @@ func (x *WorkspaceMember) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkspaceMember.ProtoReflect.Descriptor instead. func (*WorkspaceMember) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{272} + return file_brent_proto_rawDescGZIP(), []int{273} } func (x *WorkspaceMember) GetPrincipalId() string { @@ -21953,7 +22101,7 @@ type ResendInvitationRequest struct { func (x *ResendInvitationRequest) Reset() { *x = ResendInvitationRequest{} - mi := &file_brent_proto_msgTypes[273] + mi := &file_brent_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21965,7 +22113,7 @@ func (x *ResendInvitationRequest) String() string { func (*ResendInvitationRequest) ProtoMessage() {} func (x *ResendInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[273] + mi := &file_brent_proto_msgTypes[274] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21978,7 +22126,7 @@ func (x *ResendInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendInvitationRequest.ProtoReflect.Descriptor instead. func (*ResendInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{273} + return file_brent_proto_rawDescGZIP(), []int{274} } func (x *ResendInvitationRequest) GetWorkspaceId() string { @@ -22005,7 +22153,7 @@ type ResendInvitationResponse struct { func (x *ResendInvitationResponse) Reset() { *x = ResendInvitationResponse{} - mi := &file_brent_proto_msgTypes[274] + mi := &file_brent_proto_msgTypes[275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22017,7 +22165,7 @@ func (x *ResendInvitationResponse) String() string { func (*ResendInvitationResponse) ProtoMessage() {} func (x *ResendInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[274] + mi := &file_brent_proto_msgTypes[275] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22030,7 +22178,7 @@ func (x *ResendInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResendInvitationResponse.ProtoReflect.Descriptor instead. func (*ResendInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{274} + return file_brent_proto_rawDescGZIP(), []int{275} } func (x *ResendInvitationResponse) GetAcceptUrl() string { @@ -22057,7 +22205,7 @@ type RevokeInvitationRequest struct { func (x *RevokeInvitationRequest) Reset() { *x = RevokeInvitationRequest{} - mi := &file_brent_proto_msgTypes[275] + mi := &file_brent_proto_msgTypes[276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22069,7 +22217,7 @@ func (x *RevokeInvitationRequest) String() string { func (*RevokeInvitationRequest) ProtoMessage() {} func (x *RevokeInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[275] + mi := &file_brent_proto_msgTypes[276] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22082,7 +22230,7 @@ func (x *RevokeInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeInvitationRequest.ProtoReflect.Descriptor instead. func (*RevokeInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{275} + return file_brent_proto_rawDescGZIP(), []int{276} } func (x *RevokeInvitationRequest) GetWorkspaceId() string { @@ -22107,7 +22255,7 @@ type RevokeInvitationResponse struct { func (x *RevokeInvitationResponse) Reset() { *x = RevokeInvitationResponse{} - mi := &file_brent_proto_msgTypes[276] + mi := &file_brent_proto_msgTypes[277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22119,7 +22267,7 @@ func (x *RevokeInvitationResponse) String() string { func (*RevokeInvitationResponse) ProtoMessage() {} func (x *RevokeInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[276] + mi := &file_brent_proto_msgTypes[277] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22132,7 +22280,7 @@ func (x *RevokeInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeInvitationResponse.ProtoReflect.Descriptor instead. func (*RevokeInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{276} + return file_brent_proto_rawDescGZIP(), []int{277} } type RemoveWorkspaceMemberRequest struct { @@ -22145,7 +22293,7 @@ type RemoveWorkspaceMemberRequest struct { func (x *RemoveWorkspaceMemberRequest) Reset() { *x = RemoveWorkspaceMemberRequest{} - mi := &file_brent_proto_msgTypes[277] + mi := &file_brent_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22157,7 +22305,7 @@ func (x *RemoveWorkspaceMemberRequest) String() string { func (*RemoveWorkspaceMemberRequest) ProtoMessage() {} func (x *RemoveWorkspaceMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[277] + mi := &file_brent_proto_msgTypes[278] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22170,7 +22318,7 @@ func (x *RemoveWorkspaceMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWorkspaceMemberRequest.ProtoReflect.Descriptor instead. func (*RemoveWorkspaceMemberRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{277} + return file_brent_proto_rawDescGZIP(), []int{278} } func (x *RemoveWorkspaceMemberRequest) GetWorkspaceId() string { @@ -22195,7 +22343,7 @@ type RemoveWorkspaceMemberResponse struct { func (x *RemoveWorkspaceMemberResponse) Reset() { *x = RemoveWorkspaceMemberResponse{} - mi := &file_brent_proto_msgTypes[278] + mi := &file_brent_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22207,7 +22355,7 @@ func (x *RemoveWorkspaceMemberResponse) String() string { func (*RemoveWorkspaceMemberResponse) ProtoMessage() {} func (x *RemoveWorkspaceMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[278] + mi := &file_brent_proto_msgTypes[279] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22220,7 +22368,7 @@ func (x *RemoveWorkspaceMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWorkspaceMemberResponse.ProtoReflect.Descriptor instead. func (*RemoveWorkspaceMemberResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{278} + return file_brent_proto_rawDescGZIP(), []int{279} } type UpdateWorkspaceMemberRoleRequest struct { @@ -22234,7 +22382,7 @@ type UpdateWorkspaceMemberRoleRequest struct { func (x *UpdateWorkspaceMemberRoleRequest) Reset() { *x = UpdateWorkspaceMemberRoleRequest{} - mi := &file_brent_proto_msgTypes[279] + mi := &file_brent_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22246,7 +22394,7 @@ func (x *UpdateWorkspaceMemberRoleRequest) String() string { func (*UpdateWorkspaceMemberRoleRequest) ProtoMessage() {} func (x *UpdateWorkspaceMemberRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[279] + mi := &file_brent_proto_msgTypes[280] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22259,7 +22407,7 @@ func (x *UpdateWorkspaceMemberRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkspaceMemberRoleRequest.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceMemberRoleRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{279} + return file_brent_proto_rawDescGZIP(), []int{280} } func (x *UpdateWorkspaceMemberRoleRequest) GetWorkspaceId() string { @@ -22291,7 +22439,7 @@ type UpdateWorkspaceMemberRoleResponse struct { func (x *UpdateWorkspaceMemberRoleResponse) Reset() { *x = UpdateWorkspaceMemberRoleResponse{} - mi := &file_brent_proto_msgTypes[280] + mi := &file_brent_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22303,7 +22451,7 @@ func (x *UpdateWorkspaceMemberRoleResponse) String() string { func (*UpdateWorkspaceMemberRoleResponse) ProtoMessage() {} func (x *UpdateWorkspaceMemberRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[280] + mi := &file_brent_proto_msgTypes[281] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22316,7 +22464,7 @@ func (x *UpdateWorkspaceMemberRoleResponse) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateWorkspaceMemberRoleResponse.ProtoReflect.Descriptor instead. func (*UpdateWorkspaceMemberRoleResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{280} + return file_brent_proto_rawDescGZIP(), []int{281} } type GetInvitationRequest struct { @@ -22328,7 +22476,7 @@ type GetInvitationRequest struct { func (x *GetInvitationRequest) Reset() { *x = GetInvitationRequest{} - mi := &file_brent_proto_msgTypes[281] + mi := &file_brent_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22340,7 +22488,7 @@ func (x *GetInvitationRequest) String() string { func (*GetInvitationRequest) ProtoMessage() {} func (x *GetInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[281] + mi := &file_brent_proto_msgTypes[282] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22353,7 +22501,7 @@ func (x *GetInvitationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvitationRequest.ProtoReflect.Descriptor instead. func (*GetInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{281} + return file_brent_proto_rawDescGZIP(), []int{282} } func (x *GetInvitationRequest) GetToken() string { @@ -22379,7 +22527,7 @@ type GetInvitationResponse struct { func (x *GetInvitationResponse) Reset() { *x = GetInvitationResponse{} - mi := &file_brent_proto_msgTypes[282] + mi := &file_brent_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22391,7 +22539,7 @@ func (x *GetInvitationResponse) String() string { func (*GetInvitationResponse) ProtoMessage() {} func (x *GetInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[282] + mi := &file_brent_proto_msgTypes[283] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22404,7 +22552,7 @@ func (x *GetInvitationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInvitationResponse.ProtoReflect.Descriptor instead. func (*GetInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{282} + return file_brent_proto_rawDescGZIP(), []int{283} } func (x *GetInvitationResponse) GetStatus() InvitationStatus { @@ -22473,7 +22621,7 @@ type UpsertMyVerifiedBindingRequest struct { func (x *UpsertMyVerifiedBindingRequest) Reset() { *x = UpsertMyVerifiedBindingRequest{} - mi := &file_brent_proto_msgTypes[283] + mi := &file_brent_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22485,7 +22633,7 @@ func (x *UpsertMyVerifiedBindingRequest) String() string { func (*UpsertMyVerifiedBindingRequest) ProtoMessage() {} func (x *UpsertMyVerifiedBindingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[283] + mi := &file_brent_proto_msgTypes[284] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22498,7 +22646,7 @@ func (x *UpsertMyVerifiedBindingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertMyVerifiedBindingRequest.ProtoReflect.Descriptor instead. func (*UpsertMyVerifiedBindingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{283} + return file_brent_proto_rawDescGZIP(), []int{284} } func (x *UpsertMyVerifiedBindingRequest) GetProvider() string { @@ -22524,7 +22672,7 @@ type UpsertMyVerifiedBindingResponse struct { func (x *UpsertMyVerifiedBindingResponse) Reset() { *x = UpsertMyVerifiedBindingResponse{} - mi := &file_brent_proto_msgTypes[284] + mi := &file_brent_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22536,7 +22684,7 @@ func (x *UpsertMyVerifiedBindingResponse) String() string { func (*UpsertMyVerifiedBindingResponse) ProtoMessage() {} func (x *UpsertMyVerifiedBindingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[284] + mi := &file_brent_proto_msgTypes[285] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22549,7 +22697,7 @@ func (x *UpsertMyVerifiedBindingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertMyVerifiedBindingResponse.ProtoReflect.Descriptor instead. func (*UpsertMyVerifiedBindingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{284} + return file_brent_proto_rawDescGZIP(), []int{285} } func (x *UpsertMyVerifiedBindingResponse) GetBinding() *Binding { @@ -22570,7 +22718,7 @@ type UpdateMyDisplayNameRequest struct { func (x *UpdateMyDisplayNameRequest) Reset() { *x = UpdateMyDisplayNameRequest{} - mi := &file_brent_proto_msgTypes[285] + mi := &file_brent_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22582,7 +22730,7 @@ func (x *UpdateMyDisplayNameRequest) String() string { func (*UpdateMyDisplayNameRequest) ProtoMessage() {} func (x *UpdateMyDisplayNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[285] + mi := &file_brent_proto_msgTypes[286] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22595,7 +22743,7 @@ func (x *UpdateMyDisplayNameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateMyDisplayNameRequest.ProtoReflect.Descriptor instead. func (*UpdateMyDisplayNameRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{285} + return file_brent_proto_rawDescGZIP(), []int{286} } func (x *UpdateMyDisplayNameRequest) GetDisplayName() string { @@ -22616,7 +22764,7 @@ type UpdateMyDisplayNameResponse struct { func (x *UpdateMyDisplayNameResponse) Reset() { *x = UpdateMyDisplayNameResponse{} - mi := &file_brent_proto_msgTypes[286] + mi := &file_brent_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22628,7 +22776,7 @@ func (x *UpdateMyDisplayNameResponse) String() string { func (*UpdateMyDisplayNameResponse) ProtoMessage() {} func (x *UpdateMyDisplayNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[286] + mi := &file_brent_proto_msgTypes[287] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22641,7 +22789,7 @@ func (x *UpdateMyDisplayNameResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateMyDisplayNameResponse.ProtoReflect.Descriptor instead. func (*UpdateMyDisplayNameResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{286} + return file_brent_proto_rawDescGZIP(), []int{287} } func (x *UpdateMyDisplayNameResponse) GetPrincipal() *Principal { @@ -22659,7 +22807,7 @@ type ListMyBindingsRequest struct { func (x *ListMyBindingsRequest) Reset() { *x = ListMyBindingsRequest{} - mi := &file_brent_proto_msgTypes[287] + mi := &file_brent_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22671,7 +22819,7 @@ func (x *ListMyBindingsRequest) String() string { func (*ListMyBindingsRequest) ProtoMessage() {} func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[287] + mi := &file_brent_proto_msgTypes[288] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22684,7 +22832,7 @@ func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyBindingsRequest.ProtoReflect.Descriptor instead. func (*ListMyBindingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{287} + return file_brent_proto_rawDescGZIP(), []int{288} } type ListMyBindingsResponse struct { @@ -22696,7 +22844,7 @@ type ListMyBindingsResponse struct { func (x *ListMyBindingsResponse) Reset() { *x = ListMyBindingsResponse{} - mi := &file_brent_proto_msgTypes[288] + mi := &file_brent_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22708,7 +22856,7 @@ func (x *ListMyBindingsResponse) String() string { func (*ListMyBindingsResponse) ProtoMessage() {} func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[288] + mi := &file_brent_proto_msgTypes[289] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22721,7 +22869,7 @@ func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyBindingsResponse.ProtoReflect.Descriptor instead. func (*ListMyBindingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{288} + return file_brent_proto_rawDescGZIP(), []int{289} } func (x *ListMyBindingsResponse) GetBindings() []*Binding { @@ -22741,7 +22889,7 @@ type NotificationPreferences struct { func (x *NotificationPreferences) Reset() { *x = NotificationPreferences{} - mi := &file_brent_proto_msgTypes[289] + mi := &file_brent_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22753,7 +22901,7 @@ func (x *NotificationPreferences) String() string { func (*NotificationPreferences) ProtoMessage() {} func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[289] + mi := &file_brent_proto_msgTypes[290] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22766,7 +22914,7 @@ func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationPreferences.ProtoReflect.Descriptor instead. func (*NotificationPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{289} + return file_brent_proto_rawDescGZIP(), []int{290} } func (x *NotificationPreferences) GetPreferences() map[string]*ChannelPreferences { @@ -22785,7 +22933,7 @@ type ChannelPreferences struct { func (x *ChannelPreferences) Reset() { *x = ChannelPreferences{} - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22797,7 +22945,7 @@ func (x *ChannelPreferences) String() string { func (*ChannelPreferences) ProtoMessage() {} func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[290] + mi := &file_brent_proto_msgTypes[291] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22810,7 +22958,7 @@ func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use ChannelPreferences.ProtoReflect.Descriptor instead. func (*ChannelPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{290} + return file_brent_proto_rawDescGZIP(), []int{291} } func (x *ChannelPreferences) GetChannels() map[string]bool { @@ -22828,7 +22976,7 @@ type GetMyNotificationPreferencesRequest struct { func (x *GetMyNotificationPreferencesRequest) Reset() { *x = GetMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22840,7 +22988,7 @@ func (x *GetMyNotificationPreferencesRequest) String() string { func (*GetMyNotificationPreferencesRequest) ProtoMessage() {} func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[291] + mi := &file_brent_proto_msgTypes[292] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22853,7 +23001,7 @@ func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. func (*GetMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{291} + return file_brent_proto_rawDescGZIP(), []int{292} } type GetMyNotificationPreferencesResponse struct { @@ -22865,7 +23013,7 @@ type GetMyNotificationPreferencesResponse struct { func (x *GetMyNotificationPreferencesResponse) Reset() { *x = GetMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22877,7 +23025,7 @@ func (x *GetMyNotificationPreferencesResponse) String() string { func (*GetMyNotificationPreferencesResponse) ProtoMessage() {} func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[292] + mi := &file_brent_proto_msgTypes[293] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22890,7 +23038,7 @@ func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. func (*GetMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{292} + return file_brent_proto_rawDescGZIP(), []int{293} } func (x *GetMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { @@ -22910,7 +23058,7 @@ type UpdateMyNotificationPreferencesRequest struct { func (x *UpdateMyNotificationPreferencesRequest) Reset() { *x = UpdateMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22922,7 +23070,7 @@ func (x *UpdateMyNotificationPreferencesRequest) String() string { func (*UpdateMyNotificationPreferencesRequest) ProtoMessage() {} func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[293] + mi := &file_brent_proto_msgTypes[294] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22935,7 +23083,7 @@ func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use UpdateMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. func (*UpdateMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{293} + return file_brent_proto_rawDescGZIP(), []int{294} } func (x *UpdateMyNotificationPreferencesRequest) GetPreferences() *NotificationPreferences { @@ -22955,7 +23103,7 @@ type UpdateMyNotificationPreferencesResponse struct { func (x *UpdateMyNotificationPreferencesResponse) Reset() { *x = UpdateMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22967,7 +23115,7 @@ func (x *UpdateMyNotificationPreferencesResponse) String() string { func (*UpdateMyNotificationPreferencesResponse) ProtoMessage() {} func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[294] + mi := &file_brent_proto_msgTypes[295] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22980,7 +23128,7 @@ func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Me // Deprecated: Use UpdateMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. func (*UpdateMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{294} + return file_brent_proto_rawDescGZIP(), []int{295} } func (x *UpdateMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { @@ -23004,7 +23152,7 @@ type RegisterMyPushSubscriptionRequest struct { func (x *RegisterMyPushSubscriptionRequest) Reset() { *x = RegisterMyPushSubscriptionRequest{} - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23016,7 +23164,7 @@ func (x *RegisterMyPushSubscriptionRequest) String() string { func (*RegisterMyPushSubscriptionRequest) ProtoMessage() {} func (x *RegisterMyPushSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[295] + mi := &file_brent_proto_msgTypes[296] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23029,7 +23177,7 @@ func (x *RegisterMyPushSubscriptionRequest) ProtoReflect() protoreflect.Message // Deprecated: Use RegisterMyPushSubscriptionRequest.ProtoReflect.Descriptor instead. func (*RegisterMyPushSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{295} + return file_brent_proto_rawDescGZIP(), []int{296} } func (x *RegisterMyPushSubscriptionRequest) GetEndpoint() string { @@ -23062,7 +23210,7 @@ type RegisterMyPushSubscriptionResponse struct { func (x *RegisterMyPushSubscriptionResponse) Reset() { *x = RegisterMyPushSubscriptionResponse{} - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23074,7 +23222,7 @@ func (x *RegisterMyPushSubscriptionResponse) String() string { func (*RegisterMyPushSubscriptionResponse) ProtoMessage() {} func (x *RegisterMyPushSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[296] + mi := &file_brent_proto_msgTypes[297] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23087,7 +23235,7 @@ func (x *RegisterMyPushSubscriptionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use RegisterMyPushSubscriptionResponse.ProtoReflect.Descriptor instead. func (*RegisterMyPushSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{296} + return file_brent_proto_rawDescGZIP(), []int{297} } type GetWebPushPublicKeyRequest struct { @@ -23098,7 +23246,7 @@ type GetWebPushPublicKeyRequest struct { func (x *GetWebPushPublicKeyRequest) Reset() { *x = GetWebPushPublicKeyRequest{} - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23110,7 +23258,7 @@ func (x *GetWebPushPublicKeyRequest) String() string { func (*GetWebPushPublicKeyRequest) ProtoMessage() {} func (x *GetWebPushPublicKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[297] + mi := &file_brent_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23123,7 +23271,7 @@ func (x *GetWebPushPublicKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWebPushPublicKeyRequest.ProtoReflect.Descriptor instead. func (*GetWebPushPublicKeyRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{297} + return file_brent_proto_rawDescGZIP(), []int{298} } type GetWebPushPublicKeyResponse struct { @@ -23137,7 +23285,7 @@ type GetWebPushPublicKeyResponse struct { func (x *GetWebPushPublicKeyResponse) Reset() { *x = GetWebPushPublicKeyResponse{} - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23149,7 +23297,7 @@ func (x *GetWebPushPublicKeyResponse) String() string { func (*GetWebPushPublicKeyResponse) ProtoMessage() {} func (x *GetWebPushPublicKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[298] + mi := &file_brent_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23162,7 +23310,7 @@ func (x *GetWebPushPublicKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWebPushPublicKeyResponse.ProtoReflect.Descriptor instead. func (*GetWebPushPublicKeyResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{298} + return file_brent_proto_rawDescGZIP(), []int{299} } func (x *GetWebPushPublicKeyResponse) GetPublicKey() string { @@ -23189,7 +23337,7 @@ type Binding struct { func (x *Binding) Reset() { *x = Binding{} - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23201,7 +23349,7 @@ func (x *Binding) String() string { func (*Binding) ProtoMessage() {} func (x *Binding) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[299] + mi := &file_brent_proto_msgTypes[300] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23214,7 +23362,7 @@ func (x *Binding) ProtoReflect() protoreflect.Message { // Deprecated: Use Binding.ProtoReflect.Descriptor instead. func (*Binding) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{299} + return file_brent_proto_rawDescGZIP(), []int{300} } func (x *Binding) GetExternalId() string { @@ -23275,7 +23423,7 @@ type RedFindingKindsPatch struct { func (x *RedFindingKindsPatch) Reset() { *x = RedFindingKindsPatch{} - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23287,7 +23435,7 @@ func (x *RedFindingKindsPatch) String() string { func (*RedFindingKindsPatch) ProtoMessage() {} func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[300] + mi := &file_brent_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23300,7 +23448,7 @@ func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { // Deprecated: Use RedFindingKindsPatch.ProtoReflect.Descriptor instead. func (*RedFindingKindsPatch) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{300} + return file_brent_proto_rawDescGZIP(), []int{301} } func (x *RedFindingKindsPatch) GetKinds() []string { @@ -23319,7 +23467,7 @@ type GetBrentSettingsRequest struct { func (x *GetBrentSettingsRequest) Reset() { *x = GetBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23331,7 +23479,7 @@ func (x *GetBrentSettingsRequest) String() string { func (*GetBrentSettingsRequest) ProtoMessage() {} func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[301] + mi := &file_brent_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23344,7 +23492,7 @@ func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*GetBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{301} + return file_brent_proto_rawDescGZIP(), []int{302} } func (x *GetBrentSettingsRequest) GetAccountName() string { @@ -23365,7 +23513,7 @@ type GetBrentSettingsResponse struct { func (x *GetBrentSettingsResponse) Reset() { *x = GetBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23377,7 +23525,7 @@ func (x *GetBrentSettingsResponse) String() string { func (*GetBrentSettingsResponse) ProtoMessage() {} func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[302] + mi := &file_brent_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23390,7 +23538,7 @@ func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*GetBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{302} + return file_brent_proto_rawDescGZIP(), []int{303} } func (x *GetBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23424,7 +23572,7 @@ type UpdateBrentSettingsRequest struct { func (x *UpdateBrentSettingsRequest) Reset() { *x = UpdateBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23436,7 +23584,7 @@ func (x *UpdateBrentSettingsRequest) String() string { func (*UpdateBrentSettingsRequest) ProtoMessage() {} func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[303] + mi := &file_brent_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23449,7 +23597,7 @@ func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{303} + return file_brent_proto_rawDescGZIP(), []int{304} } func (x *UpdateBrentSettingsRequest) GetAccountName() string { @@ -23477,7 +23625,7 @@ type UpdateBrentSettingsResponse struct { func (x *UpdateBrentSettingsResponse) Reset() { *x = UpdateBrentSettingsResponse{} - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23489,7 +23637,7 @@ func (x *UpdateBrentSettingsResponse) String() string { func (*UpdateBrentSettingsResponse) ProtoMessage() {} func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[304] + mi := &file_brent_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23502,7 +23650,7 @@ func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBrentSettingsResponse.ProtoReflect.Descriptor instead. func (*UpdateBrentSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{304} + return file_brent_proto_rawDescGZIP(), []int{305} } func (x *UpdateBrentSettingsResponse) GetRedFindingKinds() []string { @@ -23538,7 +23686,7 @@ type AdminGetAccountBrentSettingsRequest struct { func (x *AdminGetAccountBrentSettingsRequest) Reset() { *x = AdminGetAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23550,7 +23698,7 @@ func (x *AdminGetAccountBrentSettingsRequest) String() string { func (*AdminGetAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[305] + mi := &file_brent_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23563,7 +23711,7 @@ func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AdminGetAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{305} + return file_brent_proto_rawDescGZIP(), []int{306} } func (x *AdminGetAccountBrentSettingsRequest) GetAccountName() string { @@ -23586,7 +23734,7 @@ type AdminUpdateAccountBrentSettingsRequest struct { func (x *AdminUpdateAccountBrentSettingsRequest) Reset() { *x = AdminUpdateAccountBrentSettingsRequest{} - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23598,7 +23746,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) String() string { func (*AdminUpdateAccountBrentSettingsRequest) ProtoMessage() {} func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[306] + mi := &file_brent_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23611,7 +23759,7 @@ func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AdminUpdateAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. func (*AdminUpdateAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{306} + return file_brent_proto_rawDescGZIP(), []int{307} } func (x *AdminUpdateAccountBrentSettingsRequest) GetAccountName() string { @@ -23628,6 +23776,248 @@ func (x *AdminUpdateAccountBrentSettingsRequest) GetRedFindingKinds() *RedFindin return nil } +// AdminGetAccountReviewPolicyRequest selects the workspace whose review +// policy an operator wants to read. account_name is required. +type AdminGetAccountReviewPolicyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountReviewPolicyRequest) Reset() { + *x = AdminGetAccountReviewPolicyRequest{} + mi := &file_brent_proto_msgTypes[308] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountReviewPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountReviewPolicyRequest) ProtoMessage() {} + +func (x *AdminGetAccountReviewPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[308] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountReviewPolicyRequest.ProtoReflect.Descriptor instead. +func (*AdminGetAccountReviewPolicyRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{308} +} + +func (x *AdminGetAccountReviewPolicyRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +// AdminGetAccountReviewPolicyResponse returns the persisted policy and +// attribution metadata for operator triage. +type AdminGetAccountReviewPolicyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=brent.WorkspaceReviewPolicy" json:"policy,omitempty"` + ActiveHumanPrincipalCount int32 `protobuf:"varint,2,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` + // Principal UUID that last updated the policy; empty when set by + // creation/migration rather than an operator. + UpdatedBy string `protobuf:"bytes,3,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminGetAccountReviewPolicyResponse) Reset() { + *x = AdminGetAccountReviewPolicyResponse{} + mi := &file_brent_proto_msgTypes[309] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminGetAccountReviewPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminGetAccountReviewPolicyResponse) ProtoMessage() {} + +func (x *AdminGetAccountReviewPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[309] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminGetAccountReviewPolicyResponse.ProtoReflect.Descriptor instead. +func (*AdminGetAccountReviewPolicyResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{309} +} + +func (x *AdminGetAccountReviewPolicyResponse) GetPolicy() WorkspaceReviewPolicy { + if x != nil { + return x.Policy + } + return WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED +} + +func (x *AdminGetAccountReviewPolicyResponse) GetActiveHumanPrincipalCount() int32 { + if x != nil { + return x.ActiveHumanPrincipalCount + } + return 0 +} + +func (x *AdminGetAccountReviewPolicyResponse) GetUpdatedBy() string { + if x != nil { + return x.UpdatedBy + } + return "" +} + +func (x *AdminGetAccountReviewPolicyResponse) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +// AdminUpdateAccountReviewPolicyRequest sets the workspace review policy. +// account_name and a concrete (non-UNSPECIFIED) policy are required. +type AdminUpdateAccountReviewPolicyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Policy WorkspaceReviewPolicy `protobuf:"varint,2,opt,name=policy,proto3,enum=brent.WorkspaceReviewPolicy" json:"policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUpdateAccountReviewPolicyRequest) Reset() { + *x = AdminUpdateAccountReviewPolicyRequest{} + mi := &file_brent_proto_msgTypes[310] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUpdateAccountReviewPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUpdateAccountReviewPolicyRequest) ProtoMessage() {} + +func (x *AdminUpdateAccountReviewPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[310] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUpdateAccountReviewPolicyRequest.ProtoReflect.Descriptor instead. +func (*AdminUpdateAccountReviewPolicyRequest) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{310} +} + +func (x *AdminUpdateAccountReviewPolicyRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AdminUpdateAccountReviewPolicyRequest) GetPolicy() WorkspaceReviewPolicy { + if x != nil { + return x.Policy + } + return WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED +} + +// AdminUpdateAccountReviewPolicyResponse mirrors the get response after a +// successful update (or idempotent no-op). +type AdminUpdateAccountReviewPolicyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=brent.WorkspaceReviewPolicy" json:"policy,omitempty"` + ActiveHumanPrincipalCount int32 `protobuf:"varint,2,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` + UpdatedBy string `protobuf:"bytes,3,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUpdateAccountReviewPolicyResponse) Reset() { + *x = AdminUpdateAccountReviewPolicyResponse{} + mi := &file_brent_proto_msgTypes[311] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUpdateAccountReviewPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUpdateAccountReviewPolicyResponse) ProtoMessage() {} + +func (x *AdminUpdateAccountReviewPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_brent_proto_msgTypes[311] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUpdateAccountReviewPolicyResponse.ProtoReflect.Descriptor instead. +func (*AdminUpdateAccountReviewPolicyResponse) Descriptor() ([]byte, []int) { + return file_brent_proto_rawDescGZIP(), []int{311} +} + +func (x *AdminUpdateAccountReviewPolicyResponse) GetPolicy() WorkspaceReviewPolicy { + if x != nil { + return x.Policy + } + return WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED +} + +func (x *AdminUpdateAccountReviewPolicyResponse) GetActiveHumanPrincipalCount() int32 { + if x != nil { + return x.ActiveHumanPrincipalCount + } + return 0 +} + +func (x *AdminUpdateAccountReviewPolicyResponse) GetUpdatedBy() string { + if x != nil { + return x.UpdatedBy + } + return "" +} + +func (x *AdminUpdateAccountReviewPolicyResponse) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + // AdminGetAccountLLMCredentialStatusRequest selects the account and provider // whose LLM key status an operator wants to read. Both account_name and // provider are required (operator endpoint, no caller-account fallback). @@ -23643,7 +24033,7 @@ type AdminGetAccountLLMCredentialStatusRequest struct { func (x *AdminGetAccountLLMCredentialStatusRequest) Reset() { *x = AdminGetAccountLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[307] + mi := &file_brent_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23655,7 +24045,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) String() string { func (*AdminGetAccountLLMCredentialStatusRequest) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[307] + mi := &file_brent_proto_msgTypes[312] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23668,7 +24058,7 @@ func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect. // Deprecated: Use AdminGetAccountLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{307} + return file_brent_proto_rawDescGZIP(), []int{312} } func (x *AdminGetAccountLLMCredentialStatusRequest) GetAccountName() string { @@ -23700,7 +24090,7 @@ type AdminGetAccountLLMCredentialStatusResponse struct { func (x *AdminGetAccountLLMCredentialStatusResponse) Reset() { *x = AdminGetAccountLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23712,7 +24102,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) String() string { func (*AdminGetAccountLLMCredentialStatusResponse) ProtoMessage() {} func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[308] + mi := &file_brent_proto_msgTypes[313] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23725,7 +24115,7 @@ func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect // Deprecated: Use AdminGetAccountLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. func (*AdminGetAccountLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{308} + return file_brent_proto_rawDescGZIP(), []int{313} } func (x *AdminGetAccountLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { @@ -23753,7 +24143,7 @@ type AdminListAccountIntegrationsRequest struct { func (x *AdminListAccountIntegrationsRequest) Reset() { *x = AdminListAccountIntegrationsRequest{} - mi := &file_brent_proto_msgTypes[309] + mi := &file_brent_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23765,7 +24155,7 @@ func (x *AdminListAccountIntegrationsRequest) String() string { func (*AdminListAccountIntegrationsRequest) ProtoMessage() {} func (x *AdminListAccountIntegrationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[309] + mi := &file_brent_proto_msgTypes[314] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23778,7 +24168,7 @@ func (x *AdminListAccountIntegrationsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AdminListAccountIntegrationsRequest.ProtoReflect.Descriptor instead. func (*AdminListAccountIntegrationsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{309} + return file_brent_proto_rawDescGZIP(), []int{314} } func (x *AdminListAccountIntegrationsRequest) GetAccountName() string { @@ -23813,7 +24203,7 @@ type AdminAccountIntegrationInstall struct { func (x *AdminAccountIntegrationInstall) Reset() { *x = AdminAccountIntegrationInstall{} - mi := &file_brent_proto_msgTypes[310] + mi := &file_brent_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23825,7 +24215,7 @@ func (x *AdminAccountIntegrationInstall) String() string { func (*AdminAccountIntegrationInstall) ProtoMessage() {} func (x *AdminAccountIntegrationInstall) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[310] + mi := &file_brent_proto_msgTypes[315] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23838,7 +24228,7 @@ func (x *AdminAccountIntegrationInstall) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminAccountIntegrationInstall.ProtoReflect.Descriptor instead. func (*AdminAccountIntegrationInstall) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{310} + return file_brent_proto_rawDescGZIP(), []int{315} } func (x *AdminAccountIntegrationInstall) GetInstallId() int64 { @@ -23939,7 +24329,7 @@ type AdminListAccountIntegrationsResponse struct { func (x *AdminListAccountIntegrationsResponse) Reset() { *x = AdminListAccountIntegrationsResponse{} - mi := &file_brent_proto_msgTypes[311] + mi := &file_brent_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23951,7 +24341,7 @@ func (x *AdminListAccountIntegrationsResponse) String() string { func (*AdminListAccountIntegrationsResponse) ProtoMessage() {} func (x *AdminListAccountIntegrationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[311] + mi := &file_brent_proto_msgTypes[316] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23964,7 +24354,7 @@ func (x *AdminListAccountIntegrationsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use AdminListAccountIntegrationsResponse.ProtoReflect.Descriptor instead. func (*AdminListAccountIntegrationsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{311} + return file_brent_proto_rawDescGZIP(), []int{316} } func (x *AdminListAccountIntegrationsResponse) GetInstalls() []*AdminAccountIntegrationInstall { @@ -24003,7 +24393,7 @@ type ListIntegrationCatalogueRequest struct { func (x *ListIntegrationCatalogueRequest) Reset() { *x = ListIntegrationCatalogueRequest{} - mi := &file_brent_proto_msgTypes[312] + mi := &file_brent_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24015,7 +24405,7 @@ func (x *ListIntegrationCatalogueRequest) String() string { func (*ListIntegrationCatalogueRequest) ProtoMessage() {} func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[312] + mi := &file_brent_proto_msgTypes[317] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24028,7 +24418,7 @@ func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{312} + return file_brent_proto_rawDescGZIP(), []int{317} } type ListIntegrationCatalogueResponse struct { @@ -24040,7 +24430,7 @@ type ListIntegrationCatalogueResponse struct { func (x *ListIntegrationCatalogueResponse) Reset() { *x = ListIntegrationCatalogueResponse{} - mi := &file_brent_proto_msgTypes[313] + mi := &file_brent_proto_msgTypes[318] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24052,7 +24442,7 @@ func (x *ListIntegrationCatalogueResponse) String() string { func (*ListIntegrationCatalogueResponse) ProtoMessage() {} func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[313] + mi := &file_brent_proto_msgTypes[318] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24065,7 +24455,7 @@ func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{313} + return file_brent_proto_rawDescGZIP(), []int{318} } func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { @@ -24109,7 +24499,7 @@ type IntegrationCatalogueEntry struct { func (x *IntegrationCatalogueEntry) Reset() { *x = IntegrationCatalogueEntry{} - mi := &file_brent_proto_msgTypes[314] + mi := &file_brent_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24121,7 +24511,7 @@ func (x *IntegrationCatalogueEntry) String() string { func (*IntegrationCatalogueEntry) ProtoMessage() {} func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[314] + mi := &file_brent_proto_msgTypes[319] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24134,7 +24524,7 @@ func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{314} + return file_brent_proto_rawDescGZIP(), []int{319} } func (x *IntegrationCatalogueEntry) GetStableId() string { @@ -24238,7 +24628,7 @@ type GetPlanPromptRequest struct { func (x *GetPlanPromptRequest) Reset() { *x = GetPlanPromptRequest{} - mi := &file_brent_proto_msgTypes[315] + mi := &file_brent_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24250,7 +24640,7 @@ func (x *GetPlanPromptRequest) String() string { func (*GetPlanPromptRequest) ProtoMessage() {} func (x *GetPlanPromptRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[315] + mi := &file_brent_proto_msgTypes[320] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24263,7 +24653,7 @@ func (x *GetPlanPromptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPlanPromptRequest.ProtoReflect.Descriptor instead. func (*GetPlanPromptRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{315} + return file_brent_proto_rawDescGZIP(), []int{320} } func (x *GetPlanPromptRequest) GetWorkspaceId() string { @@ -24290,7 +24680,7 @@ type GetPlanPromptResponse struct { func (x *GetPlanPromptResponse) Reset() { *x = GetPlanPromptResponse{} - mi := &file_brent_proto_msgTypes[316] + mi := &file_brent_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24302,7 +24692,7 @@ func (x *GetPlanPromptResponse) String() string { func (*GetPlanPromptResponse) ProtoMessage() {} func (x *GetPlanPromptResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[316] + mi := &file_brent_proto_msgTypes[321] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24315,7 +24705,7 @@ func (x *GetPlanPromptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPlanPromptResponse.ProtoReflect.Descriptor instead. func (*GetPlanPromptResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{316} + return file_brent_proto_rawDescGZIP(), []int{321} } func (x *GetPlanPromptResponse) GetPlanFriendlyId() string { @@ -24913,7 +25303,7 @@ const file_brent_proto_rawDesc = "" + "\tartifacts\x18\x12 \x03(\v2 .brent.MetricsComparisonArtifactR\tartifacts\x12E\n" + "\x0fcomparison_mode\x18\x13 \x01(\x0e2\x1c.brent.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + "\x17planned_unplanned_start\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + - "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\x8b9\n" + + "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\xf99\n" + "\x05Event\x12\x19\n" + "\bevent_id\x18\x01 \x01(\tR\aeventId\x12;\n" + "\voccurred_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + @@ -25006,7 +25396,8 @@ const file_brent_proto_rawDesc = "" + "\x1edeviation_finding_acknowledged\x18X \x01(\v2#.brent.DeviationFindingAcknowledgedH\x00R\x1cdeviationFindingAcknowledged\x12\x8a\x01\n" + ")deviation_finding_acknowledgement_cleared\x18Y \x01(\v2-.brent.DeviationFindingAcknowledgementClearedH\x00R&deviationFindingAcknowledgementCleared\x12]\n" + "\x1aplan_review_policy_decided\x18Z \x01(\v2\x1e.brent.PlanReviewPolicyDecidedH\x00R\x17planReviewPolicyDecided\x12@\n" + - "\x0freview_restored\x18[ \x01(\v2\x15.brent.ReviewRestoredH\x00R\x0ereviewRestored\x12S\n" + + "\x0freview_restored\x18[ \x01(\v2\x15.brent.ReviewRestoredH\x00R\x0ereviewRestored\x12l\n" + + "\x1fworkspace_review_policy_updated\x18\\ \x01(\v2#.brent.WorkspaceReviewPolicyUpdatedH\x00R\x1cworkspaceReviewPolicyUpdated\x12S\n" + "\x16unknown_stored_payload\x18F \x01(\v2\x1b.brent.UnknownStoredPayloadH\x00R\x14unknownStoredPayloadB\t\n" + "\apayloadB\t\n" + "\a_objectB\x12\n" + @@ -25078,13 +25469,19 @@ const file_brent_proto_rawDesc = "" + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x124\n" + "\x16requester_principal_id\x18\x02 \x01(\tR\x14requesterPrincipalId\x12?\n" + - "\x1cactive_human_principal_count\x18\x03 \x01(\x05R\x19activeHumanPrincipalCount\"\x82\x02\n" + + "\x1cactive_human_principal_count\x18\x03 \x01(\x05R\x19activeHumanPrincipalCount\"\xba\x02\n" + "\x17PlanReviewPolicyDecided\x12\x1b\n" + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12-\n" + "\x12review_requirement\x18\x03 \x01(\tR\x11reviewRequirement\x120\n" + "\x14review_policy_reason\x18\x04 \x01(\tR\x12reviewPolicyReason\x12?\n" + - "\x1cactive_human_principal_count\x18\x05 \x01(\x05R\x19activeHumanPrincipalCount\"l\n" + + "\x1cactive_human_principal_count\x18\x05 \x01(\x05R\x19activeHumanPrincipalCount\x126\n" + + "\x17workspace_review_policy\x18\x06 \x01(\tR\x15workspaceReviewPolicy\"\xa7\x01\n" + + "\x1cWorkspaceReviewPolicyUpdated\x12'\n" + + "\x0fprevious_policy\x18\x01 \x01(\tR\x0epreviousPolicy\x12\x1d\n" + + "\n" + + "new_policy\x18\x02 \x01(\tR\tnewPolicy\x12?\n" + + "\x1cactive_human_principal_count\x18\x03 \x01(\x05R\x19activeHumanPrincipalCount\"l\n" + "\x10PrincipalCreated\x12!\n" + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x12\n" + "\x04kind\x18\x02 \x01(\tR\x04kind\x12!\n" + @@ -26252,7 +26649,26 @@ const file_brent_proto_rawDesc = "" + "&AdminUpdateAccountBrentSettingsRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12L\n" + "\x11red_finding_kinds\x18\x02 \x01(\v2\x1b.brent.RedFindingKindsPatchH\x00R\x0fredFindingKinds\x88\x01\x01B\x14\n" + - "\x12_red_finding_kinds\"j\n" + + "\x12_red_finding_kinds\"G\n" + + "\"AdminGetAccountReviewPolicyRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xf6\x01\n" + + "#AdminGetAccountReviewPolicyResponse\x124\n" + + "\x06policy\x18\x01 \x01(\x0e2\x1c.brent.WorkspaceReviewPolicyR\x06policy\x12?\n" + + "\x1cactive_human_principal_count\x18\x02 \x01(\x05R\x19activeHumanPrincipalCount\x12\x1d\n" + + "\n" + + "updated_by\x18\x03 \x01(\tR\tupdatedBy\x129\n" + + "\n" + + "updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x80\x01\n" + + "%AdminUpdateAccountReviewPolicyRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x124\n" + + "\x06policy\x18\x02 \x01(\x0e2\x1c.brent.WorkspaceReviewPolicyR\x06policy\"\xf9\x01\n" + + "&AdminUpdateAccountReviewPolicyResponse\x124\n" + + "\x06policy\x18\x01 \x01(\x0e2\x1c.brent.WorkspaceReviewPolicyR\x06policy\x12?\n" + + "\x1cactive_human_principal_count\x18\x02 \x01(\x05R\x19activeHumanPrincipalCount\x12\x1d\n" + + "\n" + + "updated_by\x18\x03 \x01(\tR\tupdatedBy\x129\n" + + "\n" + + "updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"j\n" + ")AdminGetAccountLLMCredentialStatusRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1a\n" + "\bprovider\x18\x02 \x01(\tR\bprovider\"\x94\x01\n" + @@ -26374,7 +26790,11 @@ const file_brent_proto_rawDesc = "" + "\x14WorkspaceMemberState\x12&\n" + "\"WORKSPACE_MEMBER_STATE_UNSPECIFIED\x10\x00\x12!\n" + "\x1dWORKSPACE_MEMBER_STATE_ACTIVE\x10\x01\x12\"\n" + - "\x1eWORKSPACE_MEMBER_STATE_INVITED\x10\x02*\xcf\x01\n" + + "\x1eWORKSPACE_MEMBER_STATE_INVITED\x10\x02*\x8c\x01\n" + + "\x15WorkspaceReviewPolicy\x12'\n" + + "#WORKSPACE_REVIEW_POLICY_UNSPECIFIED\x10\x00\x12$\n" + + " WORKSPACE_REVIEW_POLICY_DISABLED\x10\x01\x12$\n" + + " WORKSPACE_REVIEW_POLICY_REQUIRED\x10\x02*\xcf\x01\n" + "\x1aIntegrationCatalogueSource\x12,\n" + "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + @@ -26433,7 +26853,7 @@ const file_brent_proto_rawDesc = "" + "\x1cSetWorkspaceIntegrationRoles\x12*.brent.SetWorkspaceIntegrationRolesRequest\x1a+.brent.SetWorkspaceIntegrationRolesResponse\x12h\n" + "\x17ResendVerificationEmail\x12%.brent.ResendVerificationEmailRequest\x1a&.brent.ResendVerificationEmailResponse2`\n" + "\x12BrentPublicService\x12J\n" + - "\rGetInvitation\x12\x1b.brent.GetInvitationRequest\x1a\x1c.brent.GetInvitationResponse2\xb0\x1e\n" + + "\rGetInvitation\x12\x1b.brent.GetInvitationRequest\x1a\x1c.brent.GetInvitationResponse2\x9b \n" + "\x11BrentAdminService\x12R\n" + "\x0fExecuteWorkflow\x12\x1d.brent.ExecuteWorkflowRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12;\n" + "\bListRuns\x12\x16.brent.ListRunsRequest\x1a\x17.brent.ListRunsResponse\x12D\n" + @@ -26454,7 +26874,9 @@ const file_brent_proto_rawDesc = "" + "\x1dStartAccountMetricsComparison\x120.brent.AdminStartAccountMetricsComparisonRequest\x1a1.brent.AdminStartAccountMetricsComparisonResponse\x12\x87\x01\n" + "\x1eGetAccountMetricsComparisonRun\x121.brent.AdminGetAccountMetricsComparisonRunRequest\x1a2.brent.AdminGetAccountMetricsComparisonRunResponse\x12f\n" + "\x17GetAccountBrentSettings\x12*.brent.AdminGetAccountBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12o\n" + - "\x1aUpdateAccountBrentSettings\x12-.brent.AdminUpdateAccountBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12\x84\x01\n" + + "\x1aUpdateAccountBrentSettings\x12-.brent.AdminUpdateAccountBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12o\n" + + "\x16GetAccountReviewPolicy\x12).brent.AdminGetAccountReviewPolicyRequest\x1a*.brent.AdminGetAccountReviewPolicyResponse\x12x\n" + + "\x19UpdateAccountReviewPolicy\x12,.brent.AdminUpdateAccountReviewPolicyRequest\x1a-.brent.AdminUpdateAccountReviewPolicyResponse\x12\x84\x01\n" + "\x1dGetAccountLLMCredentialStatus\x120.brent.AdminGetAccountLLMCredentialStatusRequest\x1a1.brent.AdminGetAccountLLMCredentialStatusResponse\x12r\n" + "\x17ListAccountIntegrations\x12*.brent.AdminListAccountIntegrationsRequest\x1a+.brent.AdminListAccountIntegrationsResponse\x12J\n" + "\rListWorkflows\x12\x1b.brent.ListWorkflowsRequest\x1a\x1c.brent.ListWorkflowsResponse\x12D\n" + @@ -26490,8 +26912,8 @@ func file_brent_proto_rawDescGZIP() []byte { return file_brent_proto_rawDescData } -var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 331) +var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 13) +var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 336) var file_brent_proto_goTypes = []any{ (RunStatus)(0), // 0: brent.RunStatus (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode @@ -26504,845 +26926,861 @@ var file_brent_proto_goTypes = []any{ (InvitationStatus)(0), // 8: brent.InvitationStatus (InvitationResultStatus)(0), // 9: brent.InvitationResultStatus (WorkspaceMemberState)(0), // 10: brent.WorkspaceMemberState - (IntegrationCatalogueSource)(0), // 11: brent.IntegrationCatalogueSource - (*ListPullRequestsRequest)(nil), // 12: brent.ListPullRequestsRequest - (*ListPullRequestsResponse)(nil), // 13: brent.ListPullRequestsResponse - (*GetPullRequestByIDRequest)(nil), // 14: brent.GetPullRequestByIDRequest - (*GetPullRequestByIDResponse)(nil), // 15: brent.GetPullRequestByIDResponse - (*ListDeviationAnalysesForPRRequest)(nil), // 16: brent.ListDeviationAnalysesForPRRequest - (*ListDeviationAnalysesForPRResponse)(nil), // 17: brent.ListDeviationAnalysesForPRResponse - (*GetPullRequestTimelineRequest)(nil), // 18: brent.GetPullRequestTimelineRequest - (*PullRequestTimelineEventRow)(nil), // 19: brent.PullRequestTimelineEventRow - (*PullRequestTimelineWarning)(nil), // 20: brent.PullRequestTimelineWarning - (*GetPullRequestTimelineResponse)(nil), // 21: brent.GetPullRequestTimelineResponse - (*PullRequestSummary)(nil), // 22: brent.PullRequestSummary - (*PullRequest)(nil), // 23: brent.PullRequest - (*DeviationAnalysisSummary)(nil), // 24: brent.DeviationAnalysisSummary - (*DeviationFinding)(nil), // 25: brent.DeviationFinding - (*ExecuteWorkflowRequest)(nil), // 26: brent.ExecuteWorkflowRequest - (*ListRunsRequest)(nil), // 27: brent.ListRunsRequest - (*ListRunsResponse)(nil), // 28: brent.ListRunsResponse - (*RunSummary)(nil), // 29: brent.RunSummary - (*WatchRunRequest)(nil), // 30: brent.WatchRunRequest - (*StreamEventsRequest)(nil), // 31: brent.StreamEventsRequest - (*StreamEventsResponse)(nil), // 32: brent.StreamEventsResponse - (*ListEventsRequest)(nil), // 33: brent.ListEventsRequest - (*ListEventsResponse)(nil), // 34: brent.ListEventsResponse - (*CancelRunRequest)(nil), // 35: brent.CancelRunRequest - (*CancelRunResponse)(nil), // 36: brent.CancelRunResponse - (*ListOpenPullRequestsRequest)(nil), // 37: brent.ListOpenPullRequestsRequest - (*ListOpenPullRequestsResponse)(nil), // 38: brent.ListOpenPullRequestsResponse - (*GetPullRequestRequest)(nil), // 39: brent.GetPullRequestRequest - (*GetPullRequestResponse)(nil), // 40: brent.GetPullRequestResponse - (*OpenPullRequest)(nil), // 41: brent.OpenPullRequest - (*ExecuteWorkflowResponse)(nil), // 42: brent.ExecuteWorkflowResponse - (*ReasoningStep)(nil), // 43: brent.ReasoningStep - (*ToolCallStep)(nil), // 44: brent.ToolCallStep - (*ToolResultStep)(nil), // 45: brent.ToolResultStep - (*CompletionStep)(nil), // 46: brent.CompletionStep - (*ErrorStep)(nil), // 47: brent.ErrorStep - (*StatusStep)(nil), // 48: brent.StatusStep - (*RunStartedStep)(nil), // 49: brent.RunStartedStep - (*QAReadyStep)(nil), // 50: brent.QAReadyStep - (*UserQuestionStep)(nil), // 51: brent.UserQuestionStep - (*UserMessageStep)(nil), // 52: brent.UserMessageStep - (*SendQuestionRequest)(nil), // 53: brent.SendQuestionRequest - (*AdminListPlansRequest)(nil), // 54: brent.AdminListPlansRequest - (*AdminListPlansResponse)(nil), // 55: brent.AdminListPlansResponse - (*PlanSummary)(nil), // 56: brent.PlanSummary - (*AdminGetPlanRequest)(nil), // 57: brent.AdminGetPlanRequest - (*AdminGetPlanResponse)(nil), // 58: brent.AdminGetPlanResponse - (*Plan)(nil), // 59: brent.Plan - (*AdminListPrincipalsRequest)(nil), // 60: brent.AdminListPrincipalsRequest - (*AdminListPrincipalsResponse)(nil), // 61: brent.AdminListPrincipalsResponse - (*AdminGetPrincipalRequest)(nil), // 62: brent.AdminGetPrincipalRequest - (*AdminGetPrincipalResponse)(nil), // 63: brent.AdminGetPrincipalResponse - (*PrincipalIdentity)(nil), // 64: brent.PrincipalIdentity - (*AdminUpsertPrincipalBindingRequest)(nil), // 65: brent.AdminUpsertPrincipalBindingRequest - (*AdminUpsertPrincipalBindingResponse)(nil), // 66: brent.AdminUpsertPrincipalBindingResponse - (*AdminDeletePrincipalBindingRequest)(nil), // 67: brent.AdminDeletePrincipalBindingRequest - (*AdminDeletePrincipalBindingResponse)(nil), // 68: brent.AdminDeletePrincipalBindingResponse - (*AdminUpdatePrincipalRequest)(nil), // 69: brent.AdminUpdatePrincipalRequest - (*AdminUpdatePrincipalResponse)(nil), // 70: brent.AdminUpdatePrincipalResponse - (*AdminCreatePrincipalIdentityRequest)(nil), // 71: brent.AdminCreatePrincipalIdentityRequest - (*AdminCreatePrincipalIdentityResponse)(nil), // 72: brent.AdminCreatePrincipalIdentityResponse - (*AdminDeletePrincipalIdentityRequest)(nil), // 73: brent.AdminDeletePrincipalIdentityRequest - (*AdminDeletePrincipalIdentityResponse)(nil), // 74: brent.AdminDeletePrincipalIdentityResponse - (*AdminSetPrincipalCredentialRequest)(nil), // 75: brent.AdminSetPrincipalCredentialRequest - (*AdminSetPrincipalCredentialResponse)(nil), // 76: brent.AdminSetPrincipalCredentialResponse - (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 77: brent.AdminListPrincipalCredentialConnectionsRequest - (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 78: brent.AdminListPrincipalCredentialConnectionsResponse - (*PrincipalCredentialConnection)(nil), // 79: brent.PrincipalCredentialConnection - (*AdminDeletePrincipalCredentialRequest)(nil), // 80: brent.AdminDeletePrincipalCredentialRequest - (*AdminDeletePrincipalCredentialResponse)(nil), // 81: brent.AdminDeletePrincipalCredentialResponse - (*AdminListReviewsRequest)(nil), // 82: brent.AdminListReviewsRequest - (*AdminListReviewsResponse)(nil), // 83: brent.AdminListReviewsResponse - (*ReviewSummary)(nil), // 84: brent.ReviewSummary - (*AdminGetReviewRequest)(nil), // 85: brent.AdminGetReviewRequest - (*AdminGetReviewResponse)(nil), // 86: brent.AdminGetReviewResponse - (*Review)(nil), // 87: brent.Review - (*AccountSummary)(nil), // 88: brent.AccountSummary - (*AdminListAccountsResponse)(nil), // 89: brent.AdminListAccountsResponse - (*AdminGetAccountSummaryRequest)(nil), // 90: brent.AdminGetAccountSummaryRequest - (*AccountRunSummary)(nil), // 91: brent.AccountRunSummary - (*AdminGetAccountSummaryResponse)(nil), // 92: brent.AdminGetAccountSummaryResponse - (*AdminGetAccountHealthAnalysisRequest)(nil), // 93: brent.AdminGetAccountHealthAnalysisRequest - (*AccountHealthFinding)(nil), // 94: brent.AccountHealthFinding - (*AdminGetAccountHealthAnalysisResponse)(nil), // 95: brent.AdminGetAccountHealthAnalysisResponse - (*AdminListAccountMetricReposRequest)(nil), // 96: brent.AdminListAccountMetricReposRequest - (*AccountMetricRepo)(nil), // 97: brent.AccountMetricRepo - (*AdminListAccountMetricReposResponse)(nil), // 98: brent.AdminListAccountMetricReposResponse - (*AdminStartAccountMetricsComparisonRequest)(nil), // 99: brent.AdminStartAccountMetricsComparisonRequest - (*AdminStartAccountMetricsComparisonResponse)(nil), // 100: brent.AdminStartAccountMetricsComparisonResponse - (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 101: brent.AdminGetAccountMetricsComparisonRunRequest - (*MetricsComparisonHeadline)(nil), // 102: brent.MetricsComparisonHeadline - (*MetricsComparisonArtifact)(nil), // 103: brent.MetricsComparisonArtifact - (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 104: brent.AdminGetAccountMetricsComparisonRunResponse - (*Event)(nil), // 105: brent.Event - (*Actor)(nil), // 106: brent.Actor - (*ObjectReference)(nil), // 107: brent.ObjectReference - (*PlanCreated)(nil), // 108: brent.PlanCreated - (*PlanUpdated)(nil), // 109: brent.PlanUpdated - (*PlanDeleted)(nil), // 110: brent.PlanDeleted - (*ReviewDeleted)(nil), // 111: brent.ReviewDeleted - (*ReviewRestored)(nil), // 112: brent.ReviewRestored - (*PlanRestored)(nil), // 113: brent.PlanRestored - (*ReviewRequested)(nil), // 114: brent.ReviewRequested - (*ReviewSubmitted)(nil), // 115: brent.ReviewSubmitted - (*ReviewNoEligibleReviewer)(nil), // 116: brent.ReviewNoEligibleReviewer - (*PlanReviewPolicyDecided)(nil), // 117: brent.PlanReviewPolicyDecided - (*PrincipalCreated)(nil), // 118: brent.PrincipalCreated - (*PrincipalUpdated)(nil), // 119: brent.PrincipalUpdated - (*PrincipalTombstoned)(nil), // 120: brent.PrincipalTombstoned - (*WorkspaceCreated)(nil), // 121: brent.WorkspaceCreated - (*WorkspaceOnboardingCompleted)(nil), // 122: brent.WorkspaceOnboardingCompleted - (*WorkspaceRenamed)(nil), // 123: brent.WorkspaceRenamed - (*WorkspaceDeleted)(nil), // 124: brent.WorkspaceDeleted - (*WorkspaceMemberJoined)(nil), // 125: brent.WorkspaceMemberJoined - (*WorkspaceMemberLeft)(nil), // 126: brent.WorkspaceMemberLeft - (*ApprovedEmailDomainAdded)(nil), // 127: brent.ApprovedEmailDomainAdded - (*ApprovedEmailDomainVerified)(nil), // 128: brent.ApprovedEmailDomainVerified - (*ApprovedEmailDomainDeleted)(nil), // 129: brent.ApprovedEmailDomainDeleted - (*MCPGrantWorkspaceBindingChanged)(nil), // 130: brent.MCPGrantWorkspaceBindingChanged - (*IdentityCreated)(nil), // 131: brent.IdentityCreated - (*IdentityDeleted)(nil), // 132: brent.IdentityDeleted - (*BindingCreated)(nil), // 133: brent.BindingCreated - (*BindingUpdated)(nil), // 134: brent.BindingUpdated - (*BindingDeleted)(nil), // 135: brent.BindingDeleted - (*CredentialConnected)(nil), // 136: brent.CredentialConnected - (*CredentialRevoked)(nil), // 137: brent.CredentialRevoked - (*WorkspaceLLMCredentialConnected)(nil), // 138: brent.WorkspaceLLMCredentialConnected - (*WorkspaceLLMCredentialRevoked)(nil), // 139: brent.WorkspaceLLMCredentialRevoked - (*ReviewDriveByStarted)(nil), // 140: brent.ReviewDriveByStarted - (*OtherEvent)(nil), // 141: brent.OtherEvent - (*UnknownStoredPayload)(nil), // 142: brent.UnknownStoredPayload - (*PullRequestOpened)(nil), // 143: brent.PullRequestOpened - (*PullRequestSynchronized)(nil), // 144: brent.PullRequestSynchronized - (*PullRequestUpdated)(nil), // 145: brent.PullRequestUpdated - (*PullRequestClosed)(nil), // 146: brent.PullRequestClosed - (*PullRequestLinkedToPlan)(nil), // 147: brent.PullRequestLinkedToPlan - (*PullRequestUnlinkedFromPlan)(nil), // 148: brent.PullRequestUnlinkedFromPlan - (*PullRequestLinkedToAgentRun)(nil), // 149: brent.PullRequestLinkedToAgentRun - (*PullRequestReviewRequested)(nil), // 150: brent.PullRequestReviewRequested - (*PullRequestApproved)(nil), // 151: brent.PullRequestApproved - (*PullRequestChangesRequested)(nil), // 152: brent.PullRequestChangesRequested - (*PullRequestReviewDismissed)(nil), // 153: brent.PullRequestReviewDismissed - (*PullRequestCommentCreated)(nil), // 154: brent.PullRequestCommentCreated - (*DeviationAnalysisStarted)(nil), // 155: brent.DeviationAnalysisStarted - (*FindingSummary)(nil), // 156: brent.FindingSummary - (*DeviationAnalysisCompleted)(nil), // 157: brent.DeviationAnalysisCompleted - (*DeviationAnalysisFailed)(nil), // 158: brent.DeviationAnalysisFailed - (*DeviationFindingRecorded)(nil), // 159: brent.DeviationFindingRecorded - (*DeviationFindingUpdated)(nil), // 160: brent.DeviationFindingUpdated - (*DeviationFindingResolved)(nil), // 161: brent.DeviationFindingResolved - (*DeviationFindingAcknowledged)(nil), // 162: brent.DeviationFindingAcknowledged - (*DeviationFindingAcknowledgementCleared)(nil), // 163: brent.DeviationFindingAcknowledgementCleared - (*AgentRunDispatched)(nil), // 164: brent.AgentRunDispatched - (*AgentRunStarted)(nil), // 165: brent.AgentRunStarted - (*AgentRunPullRequestMatched)(nil), // 166: brent.AgentRunPullRequestMatched - (*AgentRunFlaggedNeedsYou)(nil), // 167: brent.AgentRunFlaggedNeedsYou - (*AgentRunGatePassed)(nil), // 168: brent.AgentRunGatePassed - (*AgentRunMerged)(nil), // 169: brent.AgentRunMerged - (*AgentRunCancelled)(nil), // 170: brent.AgentRunCancelled - (*AgentRunDeclined)(nil), // 171: brent.AgentRunDeclined - (*AgentRunAnnotated)(nil), // 172: brent.AgentRunAnnotated - (*WorkflowIngested)(nil), // 173: brent.WorkflowIngested - (*WorkflowRunQueued)(nil), // 174: brent.WorkflowRunQueued - (*WorkflowRunStarted)(nil), // 175: brent.WorkflowRunStarted - (*WorkflowRunCompleted)(nil), // 176: brent.WorkflowRunCompleted - (*WorkflowRunFailed)(nil), // 177: brent.WorkflowRunFailed - (*WorkflowRunCancelled)(nil), // 178: brent.WorkflowRunCancelled - (*SlackWebhook)(nil), // 179: brent.SlackWebhook - (*LinearWebhook)(nil), // 180: brent.LinearWebhook - (*ComposioTriggerMessage)(nil), // 181: brent.ComposioTriggerMessage - (*GitHubWebhook)(nil), // 182: brent.GitHubWebhook - (*GitLabWebhook)(nil), // 183: brent.GitLabWebhook - (*BitbucketWebhook)(nil), // 184: brent.BitbucketWebhook - (*EmbeddedJsonCELFixture)(nil), // 185: brent.EmbeddedJsonCELFixture - (*SlackMentionReceived)(nil), // 186: brent.SlackMentionReceived - (*OrganisationAppInstallationUpserted)(nil), // 187: brent.OrganisationAppInstallationUpserted - (*OrganisationAppInstallationDeleted)(nil), // 188: brent.OrganisationAppInstallationDeleted - (*SlackReactionAdded)(nil), // 189: brent.SlackReactionAdded - (*ListWorkflowsRequest)(nil), // 190: brent.ListWorkflowsRequest - (*ListWorkflowsResponse)(nil), // 191: brent.ListWorkflowsResponse - (*WorkflowSummary)(nil), // 192: brent.WorkflowSummary - (*GetWorkflowRequest)(nil), // 193: brent.GetWorkflowRequest - (*GetWorkflowResponse)(nil), // 194: brent.GetWorkflowResponse - (*Workflow)(nil), // 195: brent.Workflow - (*ListWorkflowRunsRequest)(nil), // 196: brent.ListWorkflowRunsRequest - (*ListWorkflowRunsResponse)(nil), // 197: brent.ListWorkflowRunsResponse - (*WorkflowRunSummary)(nil), // 198: brent.WorkflowRunSummary - (*GetWorkflowRunRequest)(nil), // 199: brent.GetWorkflowRunRequest - (*GetWorkflowRunThreadHistoryRequest)(nil), // 200: brent.GetWorkflowRunThreadHistoryRequest - (*WorkflowRunThreadSegment)(nil), // 201: brent.WorkflowRunThreadSegment - (*GetWorkflowRunThreadHistoryResponse)(nil), // 202: brent.GetWorkflowRunThreadHistoryResponse - (*GetWorkflowRunResponse)(nil), // 203: brent.GetWorkflowRunResponse - (*WorkflowRun)(nil), // 204: brent.WorkflowRun - (*GetPrincipalStatusRequest)(nil), // 205: brent.GetPrincipalStatusRequest - (*GetPrincipalStatusResponse)(nil), // 206: brent.GetPrincipalStatusResponse - (*GetIntegrationConnectURLRequest)(nil), // 207: brent.GetIntegrationConnectURLRequest - (*GetIntegrationConnectURLResponse)(nil), // 208: brent.GetIntegrationConnectURLResponse - (*DisconnectIntegrationRequest)(nil), // 209: brent.DisconnectIntegrationRequest - (*DisconnectIntegrationResponse)(nil), // 210: brent.DisconnectIntegrationResponse - (*ConnectByoHttpMcpRequest)(nil), // 211: brent.ConnectByoHttpMcpRequest - (*ConnectByoHttpMcpResponse)(nil), // 212: brent.ConnectByoHttpMcpResponse - (*GetGitLabConnectionRequest)(nil), // 213: brent.GetGitLabConnectionRequest - (*GetGitLabConnectionResponse)(nil), // 214: brent.GetGitLabConnectionResponse - (*ConnectGitLabRequest)(nil), // 215: brent.ConnectGitLabRequest - (*ConnectGitLabResponse)(nil), // 216: brent.ConnectGitLabResponse - (*SaveGitLabSigningTokenRequest)(nil), // 217: brent.SaveGitLabSigningTokenRequest - (*SaveGitLabSigningTokenResponse)(nil), // 218: brent.SaveGitLabSigningTokenResponse - (*GitHubPendingInstall)(nil), // 219: brent.GitHubPendingInstall - (*IntegrationStatus)(nil), // 220: brent.IntegrationStatus - (*GetWorkspaceIntegrationRolesRequest)(nil), // 221: brent.GetWorkspaceIntegrationRolesRequest - (*GetWorkspaceIntegrationRolesResponse)(nil), // 222: brent.GetWorkspaceIntegrationRolesResponse - (*SetWorkspaceIntegrationRolesRequest)(nil), // 223: brent.SetWorkspaceIntegrationRolesRequest - (*SetWorkspaceIntegrationRolesResponse)(nil), // 224: brent.SetWorkspaceIntegrationRolesResponse - (*Principal)(nil), // 225: brent.Principal - (*Workspace)(nil), // 226: brent.Workspace - (*CreateWorkspaceRequest)(nil), // 227: brent.CreateWorkspaceRequest - (*CreateWorkspaceResponse)(nil), // 228: brent.CreateWorkspaceResponse - (*ListMyWorkspacesRequest)(nil), // 229: brent.ListMyWorkspacesRequest - (*ListMyWorkspacesResponse)(nil), // 230: brent.ListMyWorkspacesResponse - (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 231: brent.DiscoverLoginRecoveryCandidatesRequest - (*LoginRecoveryCandidate)(nil), // 232: brent.LoginRecoveryCandidate - (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 233: brent.DiscoverLoginRecoveryCandidatesResponse - (*RenameWorkspaceRequest)(nil), // 234: brent.RenameWorkspaceRequest - (*RenameWorkspaceResponse)(nil), // 235: brent.RenameWorkspaceResponse - (*DeleteWorkspaceRequest)(nil), // 236: brent.DeleteWorkspaceRequest - (*DeleteWorkspaceResponse)(nil), // 237: brent.DeleteWorkspaceResponse - (*ListJoinableWorkspacesRequest)(nil), // 238: brent.ListJoinableWorkspacesRequest - (*ListJoinableWorkspacesResponse)(nil), // 239: brent.ListJoinableWorkspacesResponse - (*JoinableWorkspace)(nil), // 240: brent.JoinableWorkspace - (*JoinableWorkspaceMember)(nil), // 241: brent.JoinableWorkspaceMember - (*JoinWorkspaceRequest)(nil), // 242: brent.JoinWorkspaceRequest - (*JoinWorkspaceResponse)(nil), // 243: brent.JoinWorkspaceResponse - (*ApprovedEmailDomain)(nil), // 244: brent.ApprovedEmailDomain - (*ListApprovedEmailDomainsRequest)(nil), // 245: brent.ListApprovedEmailDomainsRequest - (*ListApprovedEmailDomainsResponse)(nil), // 246: brent.ListApprovedEmailDomainsResponse - (*AddApprovedEmailDomainRequest)(nil), // 247: brent.AddApprovedEmailDomainRequest - (*AddApprovedEmailDomainResponse)(nil), // 248: brent.AddApprovedEmailDomainResponse - (*VerifyApprovedEmailDomainRequest)(nil), // 249: brent.VerifyApprovedEmailDomainRequest - (*VerifyApprovedEmailDomainResponse)(nil), // 250: brent.VerifyApprovedEmailDomainResponse - (*ResendApprovedEmailDomainCodeRequest)(nil), // 251: brent.ResendApprovedEmailDomainCodeRequest - (*ResendApprovedEmailDomainCodeResponse)(nil), // 252: brent.ResendApprovedEmailDomainCodeResponse - (*ResendVerificationEmailRequest)(nil), // 253: brent.ResendVerificationEmailRequest - (*ResendVerificationEmailResponse)(nil), // 254: brent.ResendVerificationEmailResponse - (*DeleteApprovedEmailDomainRequest)(nil), // 255: brent.DeleteApprovedEmailDomainRequest - (*DeleteApprovedEmailDomainResponse)(nil), // 256: brent.DeleteApprovedEmailDomainResponse - (*WorkspaceLLMCredentialStatus)(nil), // 257: brent.WorkspaceLLMCredentialStatus - (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 258: brent.GetWorkspaceLLMCredentialStatusRequest - (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 259: brent.GetWorkspaceLLMCredentialStatusResponse - (*SetWorkspaceLLMCredentialRequest)(nil), // 260: brent.SetWorkspaceLLMCredentialRequest - (*SetWorkspaceLLMCredentialResponse)(nil), // 261: brent.SetWorkspaceLLMCredentialResponse - (*DeleteWorkspaceLLMCredentialRequest)(nil), // 262: brent.DeleteWorkspaceLLMCredentialRequest - (*DeleteWorkspaceLLMCredentialResponse)(nil), // 263: brent.DeleteWorkspaceLLMCredentialResponse - (*MyCursorCredentialStatus)(nil), // 264: brent.MyCursorCredentialStatus - (*GetMyCursorCredentialStatusRequest)(nil), // 265: brent.GetMyCursorCredentialStatusRequest - (*GetMyCursorCredentialStatusResponse)(nil), // 266: brent.GetMyCursorCredentialStatusResponse - (*SetMyCursorCredentialRequest)(nil), // 267: brent.SetMyCursorCredentialRequest - (*SetMyCursorCredentialResponse)(nil), // 268: brent.SetMyCursorCredentialResponse - (*DeleteMyCursorCredentialRequest)(nil), // 269: brent.DeleteMyCursorCredentialRequest - (*DeleteMyCursorCredentialResponse)(nil), // 270: brent.DeleteMyCursorCredentialResponse - (*UpdateWorkspaceBrandingRequest)(nil), // 271: brent.UpdateWorkspaceBrandingRequest - (*UpdateWorkspaceBrandingResponse)(nil), // 272: brent.UpdateWorkspaceBrandingResponse - (*CompleteWorkspaceOnboardingRequest)(nil), // 273: brent.CompleteWorkspaceOnboardingRequest - (*CompleteWorkspaceOnboardingResponse)(nil), // 274: brent.CompleteWorkspaceOnboardingResponse - (*CreateInvitationRequest)(nil), // 275: brent.CreateInvitationRequest - (*CreateInvitationResponse)(nil), // 276: brent.CreateInvitationResponse - (*CreateInvitationsRequest)(nil), // 277: brent.CreateInvitationsRequest - (*InvitationResult)(nil), // 278: brent.InvitationResult - (*CreateInvitationsResponse)(nil), // 279: brent.CreateInvitationsResponse - (*AcceptInvitationRequest)(nil), // 280: brent.AcceptInvitationRequest - (*AcceptInvitationResponse)(nil), // 281: brent.AcceptInvitationResponse - (*ListWorkspaceMembersRequest)(nil), // 282: brent.ListWorkspaceMembersRequest - (*ListWorkspaceMembersResponse)(nil), // 283: brent.ListWorkspaceMembersResponse - (*WorkspaceMember)(nil), // 284: brent.WorkspaceMember - (*ResendInvitationRequest)(nil), // 285: brent.ResendInvitationRequest - (*ResendInvitationResponse)(nil), // 286: brent.ResendInvitationResponse - (*RevokeInvitationRequest)(nil), // 287: brent.RevokeInvitationRequest - (*RevokeInvitationResponse)(nil), // 288: brent.RevokeInvitationResponse - (*RemoveWorkspaceMemberRequest)(nil), // 289: brent.RemoveWorkspaceMemberRequest - (*RemoveWorkspaceMemberResponse)(nil), // 290: brent.RemoveWorkspaceMemberResponse - (*UpdateWorkspaceMemberRoleRequest)(nil), // 291: brent.UpdateWorkspaceMemberRoleRequest - (*UpdateWorkspaceMemberRoleResponse)(nil), // 292: brent.UpdateWorkspaceMemberRoleResponse - (*GetInvitationRequest)(nil), // 293: brent.GetInvitationRequest - (*GetInvitationResponse)(nil), // 294: brent.GetInvitationResponse - (*UpsertMyVerifiedBindingRequest)(nil), // 295: brent.UpsertMyVerifiedBindingRequest - (*UpsertMyVerifiedBindingResponse)(nil), // 296: brent.UpsertMyVerifiedBindingResponse - (*UpdateMyDisplayNameRequest)(nil), // 297: brent.UpdateMyDisplayNameRequest - (*UpdateMyDisplayNameResponse)(nil), // 298: brent.UpdateMyDisplayNameResponse - (*ListMyBindingsRequest)(nil), // 299: brent.ListMyBindingsRequest - (*ListMyBindingsResponse)(nil), // 300: brent.ListMyBindingsResponse - (*NotificationPreferences)(nil), // 301: brent.NotificationPreferences - (*ChannelPreferences)(nil), // 302: brent.ChannelPreferences - (*GetMyNotificationPreferencesRequest)(nil), // 303: brent.GetMyNotificationPreferencesRequest - (*GetMyNotificationPreferencesResponse)(nil), // 304: brent.GetMyNotificationPreferencesResponse - (*UpdateMyNotificationPreferencesRequest)(nil), // 305: brent.UpdateMyNotificationPreferencesRequest - (*UpdateMyNotificationPreferencesResponse)(nil), // 306: brent.UpdateMyNotificationPreferencesResponse - (*RegisterMyPushSubscriptionRequest)(nil), // 307: brent.RegisterMyPushSubscriptionRequest - (*RegisterMyPushSubscriptionResponse)(nil), // 308: brent.RegisterMyPushSubscriptionResponse - (*GetWebPushPublicKeyRequest)(nil), // 309: brent.GetWebPushPublicKeyRequest - (*GetWebPushPublicKeyResponse)(nil), // 310: brent.GetWebPushPublicKeyResponse - (*Binding)(nil), // 311: brent.Binding - (*RedFindingKindsPatch)(nil), // 312: brent.RedFindingKindsPatch - (*GetBrentSettingsRequest)(nil), // 313: brent.GetBrentSettingsRequest - (*GetBrentSettingsResponse)(nil), // 314: brent.GetBrentSettingsResponse - (*UpdateBrentSettingsRequest)(nil), // 315: brent.UpdateBrentSettingsRequest - (*UpdateBrentSettingsResponse)(nil), // 316: brent.UpdateBrentSettingsResponse - (*AdminGetAccountBrentSettingsRequest)(nil), // 317: brent.AdminGetAccountBrentSettingsRequest - (*AdminUpdateAccountBrentSettingsRequest)(nil), // 318: brent.AdminUpdateAccountBrentSettingsRequest - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 319: brent.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 320: brent.AdminGetAccountLLMCredentialStatusResponse - (*AdminListAccountIntegrationsRequest)(nil), // 321: brent.AdminListAccountIntegrationsRequest - (*AdminAccountIntegrationInstall)(nil), // 322: brent.AdminAccountIntegrationInstall - (*AdminListAccountIntegrationsResponse)(nil), // 323: brent.AdminListAccountIntegrationsResponse - (*ListIntegrationCatalogueRequest)(nil), // 324: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 325: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 326: brent.IntegrationCatalogueEntry - (*GetPlanPromptRequest)(nil), // 327: brent.GetPlanPromptRequest - (*GetPlanPromptResponse)(nil), // 328: brent.GetPlanPromptResponse - nil, // 329: brent.PlanUpdated.PreviousEntry - nil, // 330: brent.PlanUpdated.AfterEntry - nil, // 331: brent.PrincipalUpdated.PreviousEntry - nil, // 332: brent.PrincipalUpdated.AfterEntry - nil, // 333: brent.BindingUpdated.PreviousEntry - nil, // 334: brent.BindingUpdated.AfterEntry - nil, // 335: brent.OtherEvent.FieldsEntry - nil, // 336: brent.PullRequestUpdated.PreviousEntry - nil, // 337: brent.PullRequestUpdated.AfterEntry - nil, // 338: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 339: brent.DeviationFindingUpdated.PreviousEntry - nil, // 340: brent.DeviationFindingUpdated.AfterEntry - nil, // 341: brent.NotificationPreferences.PreferencesEntry - nil, // 342: brent.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 343: google.protobuf.Timestamp - (*structpb.Value)(nil), // 344: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 345: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 346: google.protobuf.Empty + (WorkspaceReviewPolicy)(0), // 11: brent.WorkspaceReviewPolicy + (IntegrationCatalogueSource)(0), // 12: brent.IntegrationCatalogueSource + (*ListPullRequestsRequest)(nil), // 13: brent.ListPullRequestsRequest + (*ListPullRequestsResponse)(nil), // 14: brent.ListPullRequestsResponse + (*GetPullRequestByIDRequest)(nil), // 15: brent.GetPullRequestByIDRequest + (*GetPullRequestByIDResponse)(nil), // 16: brent.GetPullRequestByIDResponse + (*ListDeviationAnalysesForPRRequest)(nil), // 17: brent.ListDeviationAnalysesForPRRequest + (*ListDeviationAnalysesForPRResponse)(nil), // 18: brent.ListDeviationAnalysesForPRResponse + (*GetPullRequestTimelineRequest)(nil), // 19: brent.GetPullRequestTimelineRequest + (*PullRequestTimelineEventRow)(nil), // 20: brent.PullRequestTimelineEventRow + (*PullRequestTimelineWarning)(nil), // 21: brent.PullRequestTimelineWarning + (*GetPullRequestTimelineResponse)(nil), // 22: brent.GetPullRequestTimelineResponse + (*PullRequestSummary)(nil), // 23: brent.PullRequestSummary + (*PullRequest)(nil), // 24: brent.PullRequest + (*DeviationAnalysisSummary)(nil), // 25: brent.DeviationAnalysisSummary + (*DeviationFinding)(nil), // 26: brent.DeviationFinding + (*ExecuteWorkflowRequest)(nil), // 27: brent.ExecuteWorkflowRequest + (*ListRunsRequest)(nil), // 28: brent.ListRunsRequest + (*ListRunsResponse)(nil), // 29: brent.ListRunsResponse + (*RunSummary)(nil), // 30: brent.RunSummary + (*WatchRunRequest)(nil), // 31: brent.WatchRunRequest + (*StreamEventsRequest)(nil), // 32: brent.StreamEventsRequest + (*StreamEventsResponse)(nil), // 33: brent.StreamEventsResponse + (*ListEventsRequest)(nil), // 34: brent.ListEventsRequest + (*ListEventsResponse)(nil), // 35: brent.ListEventsResponse + (*CancelRunRequest)(nil), // 36: brent.CancelRunRequest + (*CancelRunResponse)(nil), // 37: brent.CancelRunResponse + (*ListOpenPullRequestsRequest)(nil), // 38: brent.ListOpenPullRequestsRequest + (*ListOpenPullRequestsResponse)(nil), // 39: brent.ListOpenPullRequestsResponse + (*GetPullRequestRequest)(nil), // 40: brent.GetPullRequestRequest + (*GetPullRequestResponse)(nil), // 41: brent.GetPullRequestResponse + (*OpenPullRequest)(nil), // 42: brent.OpenPullRequest + (*ExecuteWorkflowResponse)(nil), // 43: brent.ExecuteWorkflowResponse + (*ReasoningStep)(nil), // 44: brent.ReasoningStep + (*ToolCallStep)(nil), // 45: brent.ToolCallStep + (*ToolResultStep)(nil), // 46: brent.ToolResultStep + (*CompletionStep)(nil), // 47: brent.CompletionStep + (*ErrorStep)(nil), // 48: brent.ErrorStep + (*StatusStep)(nil), // 49: brent.StatusStep + (*RunStartedStep)(nil), // 50: brent.RunStartedStep + (*QAReadyStep)(nil), // 51: brent.QAReadyStep + (*UserQuestionStep)(nil), // 52: brent.UserQuestionStep + (*UserMessageStep)(nil), // 53: brent.UserMessageStep + (*SendQuestionRequest)(nil), // 54: brent.SendQuestionRequest + (*AdminListPlansRequest)(nil), // 55: brent.AdminListPlansRequest + (*AdminListPlansResponse)(nil), // 56: brent.AdminListPlansResponse + (*PlanSummary)(nil), // 57: brent.PlanSummary + (*AdminGetPlanRequest)(nil), // 58: brent.AdminGetPlanRequest + (*AdminGetPlanResponse)(nil), // 59: brent.AdminGetPlanResponse + (*Plan)(nil), // 60: brent.Plan + (*AdminListPrincipalsRequest)(nil), // 61: brent.AdminListPrincipalsRequest + (*AdminListPrincipalsResponse)(nil), // 62: brent.AdminListPrincipalsResponse + (*AdminGetPrincipalRequest)(nil), // 63: brent.AdminGetPrincipalRequest + (*AdminGetPrincipalResponse)(nil), // 64: brent.AdminGetPrincipalResponse + (*PrincipalIdentity)(nil), // 65: brent.PrincipalIdentity + (*AdminUpsertPrincipalBindingRequest)(nil), // 66: brent.AdminUpsertPrincipalBindingRequest + (*AdminUpsertPrincipalBindingResponse)(nil), // 67: brent.AdminUpsertPrincipalBindingResponse + (*AdminDeletePrincipalBindingRequest)(nil), // 68: brent.AdminDeletePrincipalBindingRequest + (*AdminDeletePrincipalBindingResponse)(nil), // 69: brent.AdminDeletePrincipalBindingResponse + (*AdminUpdatePrincipalRequest)(nil), // 70: brent.AdminUpdatePrincipalRequest + (*AdminUpdatePrincipalResponse)(nil), // 71: brent.AdminUpdatePrincipalResponse + (*AdminCreatePrincipalIdentityRequest)(nil), // 72: brent.AdminCreatePrincipalIdentityRequest + (*AdminCreatePrincipalIdentityResponse)(nil), // 73: brent.AdminCreatePrincipalIdentityResponse + (*AdminDeletePrincipalIdentityRequest)(nil), // 74: brent.AdminDeletePrincipalIdentityRequest + (*AdminDeletePrincipalIdentityResponse)(nil), // 75: brent.AdminDeletePrincipalIdentityResponse + (*AdminSetPrincipalCredentialRequest)(nil), // 76: brent.AdminSetPrincipalCredentialRequest + (*AdminSetPrincipalCredentialResponse)(nil), // 77: brent.AdminSetPrincipalCredentialResponse + (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 78: brent.AdminListPrincipalCredentialConnectionsRequest + (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 79: brent.AdminListPrincipalCredentialConnectionsResponse + (*PrincipalCredentialConnection)(nil), // 80: brent.PrincipalCredentialConnection + (*AdminDeletePrincipalCredentialRequest)(nil), // 81: brent.AdminDeletePrincipalCredentialRequest + (*AdminDeletePrincipalCredentialResponse)(nil), // 82: brent.AdminDeletePrincipalCredentialResponse + (*AdminListReviewsRequest)(nil), // 83: brent.AdminListReviewsRequest + (*AdminListReviewsResponse)(nil), // 84: brent.AdminListReviewsResponse + (*ReviewSummary)(nil), // 85: brent.ReviewSummary + (*AdminGetReviewRequest)(nil), // 86: brent.AdminGetReviewRequest + (*AdminGetReviewResponse)(nil), // 87: brent.AdminGetReviewResponse + (*Review)(nil), // 88: brent.Review + (*AccountSummary)(nil), // 89: brent.AccountSummary + (*AdminListAccountsResponse)(nil), // 90: brent.AdminListAccountsResponse + (*AdminGetAccountSummaryRequest)(nil), // 91: brent.AdminGetAccountSummaryRequest + (*AccountRunSummary)(nil), // 92: brent.AccountRunSummary + (*AdminGetAccountSummaryResponse)(nil), // 93: brent.AdminGetAccountSummaryResponse + (*AdminGetAccountHealthAnalysisRequest)(nil), // 94: brent.AdminGetAccountHealthAnalysisRequest + (*AccountHealthFinding)(nil), // 95: brent.AccountHealthFinding + (*AdminGetAccountHealthAnalysisResponse)(nil), // 96: brent.AdminGetAccountHealthAnalysisResponse + (*AdminListAccountMetricReposRequest)(nil), // 97: brent.AdminListAccountMetricReposRequest + (*AccountMetricRepo)(nil), // 98: brent.AccountMetricRepo + (*AdminListAccountMetricReposResponse)(nil), // 99: brent.AdminListAccountMetricReposResponse + (*AdminStartAccountMetricsComparisonRequest)(nil), // 100: brent.AdminStartAccountMetricsComparisonRequest + (*AdminStartAccountMetricsComparisonResponse)(nil), // 101: brent.AdminStartAccountMetricsComparisonResponse + (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 102: brent.AdminGetAccountMetricsComparisonRunRequest + (*MetricsComparisonHeadline)(nil), // 103: brent.MetricsComparisonHeadline + (*MetricsComparisonArtifact)(nil), // 104: brent.MetricsComparisonArtifact + (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 105: brent.AdminGetAccountMetricsComparisonRunResponse + (*Event)(nil), // 106: brent.Event + (*Actor)(nil), // 107: brent.Actor + (*ObjectReference)(nil), // 108: brent.ObjectReference + (*PlanCreated)(nil), // 109: brent.PlanCreated + (*PlanUpdated)(nil), // 110: brent.PlanUpdated + (*PlanDeleted)(nil), // 111: brent.PlanDeleted + (*ReviewDeleted)(nil), // 112: brent.ReviewDeleted + (*ReviewRestored)(nil), // 113: brent.ReviewRestored + (*PlanRestored)(nil), // 114: brent.PlanRestored + (*ReviewRequested)(nil), // 115: brent.ReviewRequested + (*ReviewSubmitted)(nil), // 116: brent.ReviewSubmitted + (*ReviewNoEligibleReviewer)(nil), // 117: brent.ReviewNoEligibleReviewer + (*PlanReviewPolicyDecided)(nil), // 118: brent.PlanReviewPolicyDecided + (*WorkspaceReviewPolicyUpdated)(nil), // 119: brent.WorkspaceReviewPolicyUpdated + (*PrincipalCreated)(nil), // 120: brent.PrincipalCreated + (*PrincipalUpdated)(nil), // 121: brent.PrincipalUpdated + (*PrincipalTombstoned)(nil), // 122: brent.PrincipalTombstoned + (*WorkspaceCreated)(nil), // 123: brent.WorkspaceCreated + (*WorkspaceOnboardingCompleted)(nil), // 124: brent.WorkspaceOnboardingCompleted + (*WorkspaceRenamed)(nil), // 125: brent.WorkspaceRenamed + (*WorkspaceDeleted)(nil), // 126: brent.WorkspaceDeleted + (*WorkspaceMemberJoined)(nil), // 127: brent.WorkspaceMemberJoined + (*WorkspaceMemberLeft)(nil), // 128: brent.WorkspaceMemberLeft + (*ApprovedEmailDomainAdded)(nil), // 129: brent.ApprovedEmailDomainAdded + (*ApprovedEmailDomainVerified)(nil), // 130: brent.ApprovedEmailDomainVerified + (*ApprovedEmailDomainDeleted)(nil), // 131: brent.ApprovedEmailDomainDeleted + (*MCPGrantWorkspaceBindingChanged)(nil), // 132: brent.MCPGrantWorkspaceBindingChanged + (*IdentityCreated)(nil), // 133: brent.IdentityCreated + (*IdentityDeleted)(nil), // 134: brent.IdentityDeleted + (*BindingCreated)(nil), // 135: brent.BindingCreated + (*BindingUpdated)(nil), // 136: brent.BindingUpdated + (*BindingDeleted)(nil), // 137: brent.BindingDeleted + (*CredentialConnected)(nil), // 138: brent.CredentialConnected + (*CredentialRevoked)(nil), // 139: brent.CredentialRevoked + (*WorkspaceLLMCredentialConnected)(nil), // 140: brent.WorkspaceLLMCredentialConnected + (*WorkspaceLLMCredentialRevoked)(nil), // 141: brent.WorkspaceLLMCredentialRevoked + (*ReviewDriveByStarted)(nil), // 142: brent.ReviewDriveByStarted + (*OtherEvent)(nil), // 143: brent.OtherEvent + (*UnknownStoredPayload)(nil), // 144: brent.UnknownStoredPayload + (*PullRequestOpened)(nil), // 145: brent.PullRequestOpened + (*PullRequestSynchronized)(nil), // 146: brent.PullRequestSynchronized + (*PullRequestUpdated)(nil), // 147: brent.PullRequestUpdated + (*PullRequestClosed)(nil), // 148: brent.PullRequestClosed + (*PullRequestLinkedToPlan)(nil), // 149: brent.PullRequestLinkedToPlan + (*PullRequestUnlinkedFromPlan)(nil), // 150: brent.PullRequestUnlinkedFromPlan + (*PullRequestLinkedToAgentRun)(nil), // 151: brent.PullRequestLinkedToAgentRun + (*PullRequestReviewRequested)(nil), // 152: brent.PullRequestReviewRequested + (*PullRequestApproved)(nil), // 153: brent.PullRequestApproved + (*PullRequestChangesRequested)(nil), // 154: brent.PullRequestChangesRequested + (*PullRequestReviewDismissed)(nil), // 155: brent.PullRequestReviewDismissed + (*PullRequestCommentCreated)(nil), // 156: brent.PullRequestCommentCreated + (*DeviationAnalysisStarted)(nil), // 157: brent.DeviationAnalysisStarted + (*FindingSummary)(nil), // 158: brent.FindingSummary + (*DeviationAnalysisCompleted)(nil), // 159: brent.DeviationAnalysisCompleted + (*DeviationAnalysisFailed)(nil), // 160: brent.DeviationAnalysisFailed + (*DeviationFindingRecorded)(nil), // 161: brent.DeviationFindingRecorded + (*DeviationFindingUpdated)(nil), // 162: brent.DeviationFindingUpdated + (*DeviationFindingResolved)(nil), // 163: brent.DeviationFindingResolved + (*DeviationFindingAcknowledged)(nil), // 164: brent.DeviationFindingAcknowledged + (*DeviationFindingAcknowledgementCleared)(nil), // 165: brent.DeviationFindingAcknowledgementCleared + (*AgentRunDispatched)(nil), // 166: brent.AgentRunDispatched + (*AgentRunStarted)(nil), // 167: brent.AgentRunStarted + (*AgentRunPullRequestMatched)(nil), // 168: brent.AgentRunPullRequestMatched + (*AgentRunFlaggedNeedsYou)(nil), // 169: brent.AgentRunFlaggedNeedsYou + (*AgentRunGatePassed)(nil), // 170: brent.AgentRunGatePassed + (*AgentRunMerged)(nil), // 171: brent.AgentRunMerged + (*AgentRunCancelled)(nil), // 172: brent.AgentRunCancelled + (*AgentRunDeclined)(nil), // 173: brent.AgentRunDeclined + (*AgentRunAnnotated)(nil), // 174: brent.AgentRunAnnotated + (*WorkflowIngested)(nil), // 175: brent.WorkflowIngested + (*WorkflowRunQueued)(nil), // 176: brent.WorkflowRunQueued + (*WorkflowRunStarted)(nil), // 177: brent.WorkflowRunStarted + (*WorkflowRunCompleted)(nil), // 178: brent.WorkflowRunCompleted + (*WorkflowRunFailed)(nil), // 179: brent.WorkflowRunFailed + (*WorkflowRunCancelled)(nil), // 180: brent.WorkflowRunCancelled + (*SlackWebhook)(nil), // 181: brent.SlackWebhook + (*LinearWebhook)(nil), // 182: brent.LinearWebhook + (*ComposioTriggerMessage)(nil), // 183: brent.ComposioTriggerMessage + (*GitHubWebhook)(nil), // 184: brent.GitHubWebhook + (*GitLabWebhook)(nil), // 185: brent.GitLabWebhook + (*BitbucketWebhook)(nil), // 186: brent.BitbucketWebhook + (*EmbeddedJsonCELFixture)(nil), // 187: brent.EmbeddedJsonCELFixture + (*SlackMentionReceived)(nil), // 188: brent.SlackMentionReceived + (*OrganisationAppInstallationUpserted)(nil), // 189: brent.OrganisationAppInstallationUpserted + (*OrganisationAppInstallationDeleted)(nil), // 190: brent.OrganisationAppInstallationDeleted + (*SlackReactionAdded)(nil), // 191: brent.SlackReactionAdded + (*ListWorkflowsRequest)(nil), // 192: brent.ListWorkflowsRequest + (*ListWorkflowsResponse)(nil), // 193: brent.ListWorkflowsResponse + (*WorkflowSummary)(nil), // 194: brent.WorkflowSummary + (*GetWorkflowRequest)(nil), // 195: brent.GetWorkflowRequest + (*GetWorkflowResponse)(nil), // 196: brent.GetWorkflowResponse + (*Workflow)(nil), // 197: brent.Workflow + (*ListWorkflowRunsRequest)(nil), // 198: brent.ListWorkflowRunsRequest + (*ListWorkflowRunsResponse)(nil), // 199: brent.ListWorkflowRunsResponse + (*WorkflowRunSummary)(nil), // 200: brent.WorkflowRunSummary + (*GetWorkflowRunRequest)(nil), // 201: brent.GetWorkflowRunRequest + (*GetWorkflowRunThreadHistoryRequest)(nil), // 202: brent.GetWorkflowRunThreadHistoryRequest + (*WorkflowRunThreadSegment)(nil), // 203: brent.WorkflowRunThreadSegment + (*GetWorkflowRunThreadHistoryResponse)(nil), // 204: brent.GetWorkflowRunThreadHistoryResponse + (*GetWorkflowRunResponse)(nil), // 205: brent.GetWorkflowRunResponse + (*WorkflowRun)(nil), // 206: brent.WorkflowRun + (*GetPrincipalStatusRequest)(nil), // 207: brent.GetPrincipalStatusRequest + (*GetPrincipalStatusResponse)(nil), // 208: brent.GetPrincipalStatusResponse + (*GetIntegrationConnectURLRequest)(nil), // 209: brent.GetIntegrationConnectURLRequest + (*GetIntegrationConnectURLResponse)(nil), // 210: brent.GetIntegrationConnectURLResponse + (*DisconnectIntegrationRequest)(nil), // 211: brent.DisconnectIntegrationRequest + (*DisconnectIntegrationResponse)(nil), // 212: brent.DisconnectIntegrationResponse + (*ConnectByoHttpMcpRequest)(nil), // 213: brent.ConnectByoHttpMcpRequest + (*ConnectByoHttpMcpResponse)(nil), // 214: brent.ConnectByoHttpMcpResponse + (*GetGitLabConnectionRequest)(nil), // 215: brent.GetGitLabConnectionRequest + (*GetGitLabConnectionResponse)(nil), // 216: brent.GetGitLabConnectionResponse + (*ConnectGitLabRequest)(nil), // 217: brent.ConnectGitLabRequest + (*ConnectGitLabResponse)(nil), // 218: brent.ConnectGitLabResponse + (*SaveGitLabSigningTokenRequest)(nil), // 219: brent.SaveGitLabSigningTokenRequest + (*SaveGitLabSigningTokenResponse)(nil), // 220: brent.SaveGitLabSigningTokenResponse + (*GitHubPendingInstall)(nil), // 221: brent.GitHubPendingInstall + (*IntegrationStatus)(nil), // 222: brent.IntegrationStatus + (*GetWorkspaceIntegrationRolesRequest)(nil), // 223: brent.GetWorkspaceIntegrationRolesRequest + (*GetWorkspaceIntegrationRolesResponse)(nil), // 224: brent.GetWorkspaceIntegrationRolesResponse + (*SetWorkspaceIntegrationRolesRequest)(nil), // 225: brent.SetWorkspaceIntegrationRolesRequest + (*SetWorkspaceIntegrationRolesResponse)(nil), // 226: brent.SetWorkspaceIntegrationRolesResponse + (*Principal)(nil), // 227: brent.Principal + (*Workspace)(nil), // 228: brent.Workspace + (*CreateWorkspaceRequest)(nil), // 229: brent.CreateWorkspaceRequest + (*CreateWorkspaceResponse)(nil), // 230: brent.CreateWorkspaceResponse + (*ListMyWorkspacesRequest)(nil), // 231: brent.ListMyWorkspacesRequest + (*ListMyWorkspacesResponse)(nil), // 232: brent.ListMyWorkspacesResponse + (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 233: brent.DiscoverLoginRecoveryCandidatesRequest + (*LoginRecoveryCandidate)(nil), // 234: brent.LoginRecoveryCandidate + (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 235: brent.DiscoverLoginRecoveryCandidatesResponse + (*RenameWorkspaceRequest)(nil), // 236: brent.RenameWorkspaceRequest + (*RenameWorkspaceResponse)(nil), // 237: brent.RenameWorkspaceResponse + (*DeleteWorkspaceRequest)(nil), // 238: brent.DeleteWorkspaceRequest + (*DeleteWorkspaceResponse)(nil), // 239: brent.DeleteWorkspaceResponse + (*ListJoinableWorkspacesRequest)(nil), // 240: brent.ListJoinableWorkspacesRequest + (*ListJoinableWorkspacesResponse)(nil), // 241: brent.ListJoinableWorkspacesResponse + (*JoinableWorkspace)(nil), // 242: brent.JoinableWorkspace + (*JoinableWorkspaceMember)(nil), // 243: brent.JoinableWorkspaceMember + (*JoinWorkspaceRequest)(nil), // 244: brent.JoinWorkspaceRequest + (*JoinWorkspaceResponse)(nil), // 245: brent.JoinWorkspaceResponse + (*ApprovedEmailDomain)(nil), // 246: brent.ApprovedEmailDomain + (*ListApprovedEmailDomainsRequest)(nil), // 247: brent.ListApprovedEmailDomainsRequest + (*ListApprovedEmailDomainsResponse)(nil), // 248: brent.ListApprovedEmailDomainsResponse + (*AddApprovedEmailDomainRequest)(nil), // 249: brent.AddApprovedEmailDomainRequest + (*AddApprovedEmailDomainResponse)(nil), // 250: brent.AddApprovedEmailDomainResponse + (*VerifyApprovedEmailDomainRequest)(nil), // 251: brent.VerifyApprovedEmailDomainRequest + (*VerifyApprovedEmailDomainResponse)(nil), // 252: brent.VerifyApprovedEmailDomainResponse + (*ResendApprovedEmailDomainCodeRequest)(nil), // 253: brent.ResendApprovedEmailDomainCodeRequest + (*ResendApprovedEmailDomainCodeResponse)(nil), // 254: brent.ResendApprovedEmailDomainCodeResponse + (*ResendVerificationEmailRequest)(nil), // 255: brent.ResendVerificationEmailRequest + (*ResendVerificationEmailResponse)(nil), // 256: brent.ResendVerificationEmailResponse + (*DeleteApprovedEmailDomainRequest)(nil), // 257: brent.DeleteApprovedEmailDomainRequest + (*DeleteApprovedEmailDomainResponse)(nil), // 258: brent.DeleteApprovedEmailDomainResponse + (*WorkspaceLLMCredentialStatus)(nil), // 259: brent.WorkspaceLLMCredentialStatus + (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 260: brent.GetWorkspaceLLMCredentialStatusRequest + (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 261: brent.GetWorkspaceLLMCredentialStatusResponse + (*SetWorkspaceLLMCredentialRequest)(nil), // 262: brent.SetWorkspaceLLMCredentialRequest + (*SetWorkspaceLLMCredentialResponse)(nil), // 263: brent.SetWorkspaceLLMCredentialResponse + (*DeleteWorkspaceLLMCredentialRequest)(nil), // 264: brent.DeleteWorkspaceLLMCredentialRequest + (*DeleteWorkspaceLLMCredentialResponse)(nil), // 265: brent.DeleteWorkspaceLLMCredentialResponse + (*MyCursorCredentialStatus)(nil), // 266: brent.MyCursorCredentialStatus + (*GetMyCursorCredentialStatusRequest)(nil), // 267: brent.GetMyCursorCredentialStatusRequest + (*GetMyCursorCredentialStatusResponse)(nil), // 268: brent.GetMyCursorCredentialStatusResponse + (*SetMyCursorCredentialRequest)(nil), // 269: brent.SetMyCursorCredentialRequest + (*SetMyCursorCredentialResponse)(nil), // 270: brent.SetMyCursorCredentialResponse + (*DeleteMyCursorCredentialRequest)(nil), // 271: brent.DeleteMyCursorCredentialRequest + (*DeleteMyCursorCredentialResponse)(nil), // 272: brent.DeleteMyCursorCredentialResponse + (*UpdateWorkspaceBrandingRequest)(nil), // 273: brent.UpdateWorkspaceBrandingRequest + (*UpdateWorkspaceBrandingResponse)(nil), // 274: brent.UpdateWorkspaceBrandingResponse + (*CompleteWorkspaceOnboardingRequest)(nil), // 275: brent.CompleteWorkspaceOnboardingRequest + (*CompleteWorkspaceOnboardingResponse)(nil), // 276: brent.CompleteWorkspaceOnboardingResponse + (*CreateInvitationRequest)(nil), // 277: brent.CreateInvitationRequest + (*CreateInvitationResponse)(nil), // 278: brent.CreateInvitationResponse + (*CreateInvitationsRequest)(nil), // 279: brent.CreateInvitationsRequest + (*InvitationResult)(nil), // 280: brent.InvitationResult + (*CreateInvitationsResponse)(nil), // 281: brent.CreateInvitationsResponse + (*AcceptInvitationRequest)(nil), // 282: brent.AcceptInvitationRequest + (*AcceptInvitationResponse)(nil), // 283: brent.AcceptInvitationResponse + (*ListWorkspaceMembersRequest)(nil), // 284: brent.ListWorkspaceMembersRequest + (*ListWorkspaceMembersResponse)(nil), // 285: brent.ListWorkspaceMembersResponse + (*WorkspaceMember)(nil), // 286: brent.WorkspaceMember + (*ResendInvitationRequest)(nil), // 287: brent.ResendInvitationRequest + (*ResendInvitationResponse)(nil), // 288: brent.ResendInvitationResponse + (*RevokeInvitationRequest)(nil), // 289: brent.RevokeInvitationRequest + (*RevokeInvitationResponse)(nil), // 290: brent.RevokeInvitationResponse + (*RemoveWorkspaceMemberRequest)(nil), // 291: brent.RemoveWorkspaceMemberRequest + (*RemoveWorkspaceMemberResponse)(nil), // 292: brent.RemoveWorkspaceMemberResponse + (*UpdateWorkspaceMemberRoleRequest)(nil), // 293: brent.UpdateWorkspaceMemberRoleRequest + (*UpdateWorkspaceMemberRoleResponse)(nil), // 294: brent.UpdateWorkspaceMemberRoleResponse + (*GetInvitationRequest)(nil), // 295: brent.GetInvitationRequest + (*GetInvitationResponse)(nil), // 296: brent.GetInvitationResponse + (*UpsertMyVerifiedBindingRequest)(nil), // 297: brent.UpsertMyVerifiedBindingRequest + (*UpsertMyVerifiedBindingResponse)(nil), // 298: brent.UpsertMyVerifiedBindingResponse + (*UpdateMyDisplayNameRequest)(nil), // 299: brent.UpdateMyDisplayNameRequest + (*UpdateMyDisplayNameResponse)(nil), // 300: brent.UpdateMyDisplayNameResponse + (*ListMyBindingsRequest)(nil), // 301: brent.ListMyBindingsRequest + (*ListMyBindingsResponse)(nil), // 302: brent.ListMyBindingsResponse + (*NotificationPreferences)(nil), // 303: brent.NotificationPreferences + (*ChannelPreferences)(nil), // 304: brent.ChannelPreferences + (*GetMyNotificationPreferencesRequest)(nil), // 305: brent.GetMyNotificationPreferencesRequest + (*GetMyNotificationPreferencesResponse)(nil), // 306: brent.GetMyNotificationPreferencesResponse + (*UpdateMyNotificationPreferencesRequest)(nil), // 307: brent.UpdateMyNotificationPreferencesRequest + (*UpdateMyNotificationPreferencesResponse)(nil), // 308: brent.UpdateMyNotificationPreferencesResponse + (*RegisterMyPushSubscriptionRequest)(nil), // 309: brent.RegisterMyPushSubscriptionRequest + (*RegisterMyPushSubscriptionResponse)(nil), // 310: brent.RegisterMyPushSubscriptionResponse + (*GetWebPushPublicKeyRequest)(nil), // 311: brent.GetWebPushPublicKeyRequest + (*GetWebPushPublicKeyResponse)(nil), // 312: brent.GetWebPushPublicKeyResponse + (*Binding)(nil), // 313: brent.Binding + (*RedFindingKindsPatch)(nil), // 314: brent.RedFindingKindsPatch + (*GetBrentSettingsRequest)(nil), // 315: brent.GetBrentSettingsRequest + (*GetBrentSettingsResponse)(nil), // 316: brent.GetBrentSettingsResponse + (*UpdateBrentSettingsRequest)(nil), // 317: brent.UpdateBrentSettingsRequest + (*UpdateBrentSettingsResponse)(nil), // 318: brent.UpdateBrentSettingsResponse + (*AdminGetAccountBrentSettingsRequest)(nil), // 319: brent.AdminGetAccountBrentSettingsRequest + (*AdminUpdateAccountBrentSettingsRequest)(nil), // 320: brent.AdminUpdateAccountBrentSettingsRequest + (*AdminGetAccountReviewPolicyRequest)(nil), // 321: brent.AdminGetAccountReviewPolicyRequest + (*AdminGetAccountReviewPolicyResponse)(nil), // 322: brent.AdminGetAccountReviewPolicyResponse + (*AdminUpdateAccountReviewPolicyRequest)(nil), // 323: brent.AdminUpdateAccountReviewPolicyRequest + (*AdminUpdateAccountReviewPolicyResponse)(nil), // 324: brent.AdminUpdateAccountReviewPolicyResponse + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 325: brent.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 326: brent.AdminGetAccountLLMCredentialStatusResponse + (*AdminListAccountIntegrationsRequest)(nil), // 327: brent.AdminListAccountIntegrationsRequest + (*AdminAccountIntegrationInstall)(nil), // 328: brent.AdminAccountIntegrationInstall + (*AdminListAccountIntegrationsResponse)(nil), // 329: brent.AdminListAccountIntegrationsResponse + (*ListIntegrationCatalogueRequest)(nil), // 330: brent.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 331: brent.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 332: brent.IntegrationCatalogueEntry + (*GetPlanPromptRequest)(nil), // 333: brent.GetPlanPromptRequest + (*GetPlanPromptResponse)(nil), // 334: brent.GetPlanPromptResponse + nil, // 335: brent.PlanUpdated.PreviousEntry + nil, // 336: brent.PlanUpdated.AfterEntry + nil, // 337: brent.PrincipalUpdated.PreviousEntry + nil, // 338: brent.PrincipalUpdated.AfterEntry + nil, // 339: brent.BindingUpdated.PreviousEntry + nil, // 340: brent.BindingUpdated.AfterEntry + nil, // 341: brent.OtherEvent.FieldsEntry + nil, // 342: brent.PullRequestUpdated.PreviousEntry + nil, // 343: brent.PullRequestUpdated.AfterEntry + nil, // 344: brent.DeviationAnalysisCompleted.FindingCountByTagEntry + nil, // 345: brent.DeviationFindingUpdated.PreviousEntry + nil, // 346: brent.DeviationFindingUpdated.AfterEntry + nil, // 347: brent.NotificationPreferences.PreferencesEntry + nil, // 348: brent.ChannelPreferences.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 349: google.protobuf.Timestamp + (*structpb.Value)(nil), // 350: google.protobuf.Value + (*descriptorpb.FieldOptions)(nil), // 351: google.protobuf.FieldOptions + (*emptypb.Empty)(nil), // 352: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ - 22, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary - 23, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest - 24, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 343, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp - 23, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest - 19, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow - 20, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 343, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 343, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 343, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 343, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 343, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 343, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 343, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp - 25, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 343, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp - 29, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary + 23, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary + 24, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest + 25, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary + 349, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 24, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest + 20, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow + 21, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning + 349, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 349, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 349, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 349, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 349, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp + 349, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp + 26, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding + 349, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp + 30, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 343, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 343, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp - 105, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 343, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 343, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp - 105, // 23: brent.ListEventsResponse.events:type_name -> brent.Event - 41, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest - 41, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 343, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 343, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp - 43, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep - 44, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep - 45, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep - 46, // 31: brent.ExecuteWorkflowResponse.completion:type_name -> brent.CompletionStep - 47, // 32: brent.ExecuteWorkflowResponse.error:type_name -> brent.ErrorStep - 48, // 33: brent.ExecuteWorkflowResponse.status:type_name -> brent.StatusStep - 49, // 34: brent.ExecuteWorkflowResponse.run_started:type_name -> brent.RunStartedStep - 50, // 35: brent.ExecuteWorkflowResponse.qa_ready:type_name -> brent.QAReadyStep - 51, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep - 52, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep - 56, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 343, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 343, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 343, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 343, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 59, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan - 84, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary - 22, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 343, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 343, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 343, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 225, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal - 225, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal - 64, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity - 311, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 343, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 343, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 311, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding - 225, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal - 64, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity - 79, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 343, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp - 84, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 343, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 343, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp - 87, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review - 56, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 343, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 343, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 343, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 343, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp - 88, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 343, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 343, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp - 91, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary - 94, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 343, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp - 97, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 343, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 343, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 343, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 343, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 349, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 106, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event + 349, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 349, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 106, // 23: brent.ListEventsResponse.events:type_name -> brent.Event + 42, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest + 42, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest + 349, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 349, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp + 44, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep + 45, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep + 46, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep + 47, // 31: brent.ExecuteWorkflowResponse.completion:type_name -> brent.CompletionStep + 48, // 32: brent.ExecuteWorkflowResponse.error:type_name -> brent.ErrorStep + 49, // 33: brent.ExecuteWorkflowResponse.status:type_name -> brent.StatusStep + 50, // 34: brent.ExecuteWorkflowResponse.run_started:type_name -> brent.RunStartedStep + 51, // 35: brent.ExecuteWorkflowResponse.qa_ready:type_name -> brent.QAReadyStep + 52, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep + 53, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep + 57, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary + 349, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 349, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 349, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 349, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 60, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan + 85, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary + 23, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary + 349, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp + 349, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp + 349, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 227, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal + 227, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal + 65, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity + 313, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding + 349, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 349, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 313, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding + 227, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal + 65, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity + 80, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection + 349, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 85, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary + 349, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 349, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 88, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review + 57, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary + 349, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp + 349, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp + 349, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp + 349, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp + 89, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary + 349, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 92, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary + 95, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding + 349, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 98, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo + 349, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 349, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 349, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 349, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 343, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 343, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 343, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 343, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp - 102, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 343, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 343, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 343, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 343, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp - 103, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact + 349, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 349, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 349, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 349, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 103, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline + 349, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 349, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 349, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 349, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 104, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 343, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 343, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 343, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp - 106, // 95: brent.Event.actor:type_name -> brent.Actor - 107, // 96: brent.Event.object:type_name -> brent.ObjectReference - 343, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp - 108, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated - 109, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated - 110, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted - 114, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested - 115, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted - 141, // 103: brent.Event.other:type_name -> brent.OtherEvent - 182, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook - 186, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived - 189, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded - 143, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened - 144, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized - 145, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated - 146, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed - 147, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan - 148, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan - 187, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted - 188, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted - 155, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted - 157, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted - 158, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed - 174, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued - 175, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted - 176, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted - 177, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed - 178, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled - 116, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer - 118, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated - 119, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated - 120, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned - 131, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated - 132, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted - 133, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated - 134, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated - 135, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted - 140, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted - 179, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook - 111, // 134: brent.Event.review_deleted:type_name -> brent.ReviewDeleted - 113, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored - 180, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook - 154, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated - 159, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded - 160, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated - 161, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved - 164, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched - 165, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted - 166, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched - 167, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou - 169, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged - 171, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined - 170, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled - 168, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed - 149, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun - 173, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested - 150, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested - 151, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved - 152, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested - 153, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed - 136, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected - 137, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked - 172, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated - 121, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated - 130, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged - 122, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted - 123, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed - 124, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted - 127, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded - 128, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified - 129, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted - 183, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook - 138, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected - 139, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked - 184, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook - 125, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined - 126, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft - 181, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage - 162, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged - 163, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared - 117, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided - 112, // 176: brent.Event.review_restored:type_name -> brent.ReviewRestored - 142, // 177: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 329, // 178: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 330, // 179: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 343, // 180: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 331, // 181: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 332, // 182: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry - 7, // 183: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 333, // 184: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 334, // 185: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 335, // 186: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 336, // 187: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 337, // 188: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 343, // 189: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 338, // 190: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 343, // 191: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp - 156, // 192: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 343, // 193: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 343, // 194: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 339, // 195: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 340, // 196: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 343, // 197: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 343, // 198: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 343, // 199: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 343, // 200: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 343, // 201: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 343, // 202: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 343, // 203: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 343, // 204: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp - 192, // 205: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 343, // 206: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 343, // 207: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp - 195, // 208: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 343, // 209: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 343, // 210: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp - 198, // 211: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 343, // 212: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 343, // 213: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 343, // 214: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 343, // 215: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp - 198, // 216: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary - 42, // 217: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse - 201, // 218: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment - 204, // 219: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun - 192, // 220: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 343, // 221: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 343, // 222: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 343, // 223: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 343, // 224: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp - 105, // 225: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event - 2, // 226: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState - 225, // 227: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal - 220, // 228: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus - 3, // 229: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider - 4, // 230: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent - 3, // 231: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 343, // 232: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 343, // 233: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp - 3, // 234: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider - 219, // 235: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 343, // 236: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp - 5, // 237: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus - 3, // 238: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 239: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider - 3, // 240: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 343, // 241: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 343, // 242: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp - 226, // 243: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace - 226, // 244: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace - 6, // 245: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider - 6, // 246: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider - 232, // 247: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate - 226, // 248: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace - 240, // 249: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 343, // 250: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp - 241, // 251: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember - 7, // 252: brent.JoinableWorkspace.source:type_name -> brent.JoinSource - 226, // 253: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 343, // 254: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp - 244, // 255: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain - 244, // 256: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 244, // 257: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 343, // 258: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 343, // 259: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp - 257, // 260: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 257, // 261: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 343, // 262: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 264, // 263: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus - 264, // 264: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus - 226, // 265: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace - 226, // 266: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 343, // 267: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 9, // 268: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus - 278, // 269: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult - 226, // 270: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace - 284, // 271: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember - 10, // 272: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 343, // 273: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 8, // 274: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 311, // 275: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding - 225, // 276: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 311, // 277: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 341, // 278: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 342, // 279: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry - 301, // 280: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 301, // 281: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences - 301, // 282: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 343, // 283: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 343, // 284: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 343, // 285: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 312, // 286: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 343, // 287: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 312, // 288: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 257, // 289: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 343, // 290: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp - 5, // 291: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus - 322, // 292: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall - 3, // 293: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 294: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 295: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider - 326, // 296: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry - 11, // 297: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource - 3, // 298: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 343, // 299: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 344, // 300: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 344, // 301: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 344, // 302: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 344, // 303: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 344, // 304: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 344, // 305: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 344, // 306: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 344, // 307: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 344, // 308: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 344, // 309: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 302, // 310: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 345, // 311: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 37, // 312: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 39, // 313: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 205, // 314: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 327, // 315: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest - 207, // 316: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 209, // 317: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 211, // 318: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 213, // 319: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 215, // 320: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 217, // 321: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 295, // 322: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 299, // 323: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 303, // 324: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 305, // 325: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 307, // 326: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest - 309, // 327: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest - 297, // 328: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 313, // 329: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 315, // 330: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 324, // 331: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 227, // 332: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 229, // 333: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 231, // 334: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 234, // 335: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 271, // 336: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 273, // 337: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 236, // 338: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 238, // 339: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 242, // 340: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 275, // 341: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 277, // 342: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 280, // 343: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 282, // 344: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 285, // 345: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 287, // 346: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 289, // 347: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 291, // 348: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 245, // 349: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 247, // 350: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 249, // 351: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 251, // 352: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 255, // 353: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 258, // 354: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 260, // 355: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 262, // 356: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 265, // 357: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 267, // 358: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 269, // 359: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 221, // 360: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 223, // 361: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 253, // 362: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 293, // 363: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 26, // 364: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 27, // 365: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 30, // 366: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 31, // 367: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 33, // 368: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 35, // 369: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 53, // 370: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 54, // 371: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 57, // 372: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 82, // 373: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 85, // 374: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 346, // 375: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 90, // 376: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 93, // 377: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 96, // 378: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 99, // 379: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 101, // 380: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 317, // 381: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 318, // 382: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 319, // 383: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 321, // 384: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest - 190, // 385: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 193, // 386: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 196, // 387: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 199, // 388: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 200, // 389: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 12, // 390: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 14, // 391: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 16, // 392: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 60, // 393: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 62, // 394: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 65, // 395: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 67, // 396: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 69, // 397: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 71, // 398: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 73, // 399: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 75, // 400: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 77, // 401: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 80, // 402: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 18, // 403: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 38, // 404: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 40, // 405: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 206, // 406: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 328, // 407: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse - 208, // 408: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 210, // 409: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 212, // 410: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 214, // 411: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 216, // 412: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 218, // 413: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 296, // 414: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 300, // 415: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 304, // 416: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 306, // 417: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 308, // 418: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse - 310, // 419: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse - 298, // 420: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 314, // 421: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 316, // 422: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 325, // 423: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 228, // 424: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 230, // 425: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 233, // 426: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 235, // 427: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 272, // 428: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 274, // 429: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 237, // 430: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 239, // 431: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 243, // 432: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 276, // 433: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 279, // 434: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 281, // 435: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 283, // 436: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 286, // 437: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 288, // 438: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 290, // 439: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 292, // 440: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 246, // 441: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 248, // 442: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 250, // 443: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 252, // 444: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 256, // 445: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 259, // 446: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 261, // 447: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 263, // 448: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 266, // 449: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 268, // 450: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 270, // 451: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 222, // 452: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 224, // 453: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 254, // 454: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 294, // 455: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 42, // 456: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 28, // 457: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 42, // 458: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 32, // 459: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 34, // 460: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 36, // 461: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 42, // 462: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 55, // 463: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 58, // 464: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 83, // 465: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 86, // 466: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 89, // 467: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 92, // 468: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 95, // 469: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 98, // 470: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 100, // 471: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 104, // 472: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 314, // 473: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 316, // 474: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 320, // 475: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 323, // 476: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse - 191, // 477: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 194, // 478: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 197, // 479: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 203, // 480: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 202, // 481: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 13, // 482: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 15, // 483: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 17, // 484: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 61, // 485: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 63, // 486: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 66, // 487: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 68, // 488: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 70, // 489: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 72, // 490: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 74, // 491: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 76, // 492: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 78, // 493: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 81, // 494: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 21, // 495: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse - 404, // [404:496] is the sub-list for method output_type - 312, // [312:404] is the sub-list for method input_type - 312, // [312:312] is the sub-list for extension type_name - 311, // [311:312] is the sub-list for extension extendee - 0, // [0:311] is the sub-list for field type_name + 349, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 349, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 349, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp + 107, // 95: brent.Event.actor:type_name -> brent.Actor + 108, // 96: brent.Event.object:type_name -> brent.ObjectReference + 349, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp + 109, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated + 110, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated + 111, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted + 115, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested + 116, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted + 143, // 103: brent.Event.other:type_name -> brent.OtherEvent + 184, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook + 188, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived + 191, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded + 145, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened + 146, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized + 147, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated + 148, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed + 149, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan + 150, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan + 189, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted + 190, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted + 157, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted + 159, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted + 160, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed + 176, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued + 177, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted + 178, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted + 179, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed + 180, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled + 117, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer + 120, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated + 121, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated + 122, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned + 133, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated + 134, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted + 135, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated + 136, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated + 137, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted + 142, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted + 181, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook + 112, // 134: brent.Event.review_deleted:type_name -> brent.ReviewDeleted + 114, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored + 182, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook + 156, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated + 161, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded + 162, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated + 163, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved + 166, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched + 167, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted + 168, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched + 169, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou + 171, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged + 173, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined + 172, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled + 170, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed + 151, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun + 175, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested + 152, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested + 153, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved + 154, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested + 155, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed + 138, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected + 139, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked + 174, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated + 123, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated + 132, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged + 124, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted + 125, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed + 126, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted + 129, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded + 130, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified + 131, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted + 185, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook + 140, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected + 141, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked + 186, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook + 127, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined + 128, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft + 183, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage + 164, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged + 165, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared + 118, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided + 113, // 176: brent.Event.review_restored:type_name -> brent.ReviewRestored + 119, // 177: brent.Event.workspace_review_policy_updated:type_name -> brent.WorkspaceReviewPolicyUpdated + 144, // 178: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload + 335, // 179: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry + 336, // 180: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry + 349, // 181: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 337, // 182: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry + 338, // 183: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry + 7, // 184: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource + 339, // 185: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry + 340, // 186: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry + 341, // 187: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry + 342, // 188: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry + 343, // 189: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry + 349, // 190: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp + 344, // 191: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry + 349, // 192: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp + 158, // 193: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary + 349, // 194: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp + 349, // 195: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 345, // 196: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry + 346, // 197: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry + 349, // 198: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp + 349, // 199: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 349, // 200: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 349, // 201: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 349, // 202: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp + 349, // 203: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 349, // 204: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 349, // 205: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 194, // 206: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary + 349, // 207: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp + 349, // 208: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp + 197, // 209: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow + 349, // 210: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp + 349, // 211: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp + 200, // 212: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary + 349, // 213: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 214: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 349, // 215: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp + 349, // 216: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 200, // 217: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary + 43, // 218: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse + 203, // 219: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment + 206, // 220: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun + 194, // 221: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary + 349, // 222: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp + 349, // 223: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp + 349, // 224: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp + 349, // 225: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp + 106, // 226: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event + 2, // 227: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState + 227, // 228: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal + 222, // 229: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus + 3, // 230: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider + 4, // 231: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent + 3, // 232: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider + 349, // 233: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 349, // 234: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 3, // 235: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider + 221, // 236: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall + 349, // 237: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 5, // 238: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus + 3, // 239: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 240: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider + 3, // 241: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider + 349, // 242: brent.Principal.created_at:type_name -> google.protobuf.Timestamp + 349, // 243: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp + 228, // 244: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace + 228, // 245: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace + 6, // 246: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider + 6, // 247: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider + 234, // 248: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate + 228, // 249: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace + 242, // 250: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace + 349, // 251: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 243, // 252: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember + 7, // 253: brent.JoinableWorkspace.source:type_name -> brent.JoinSource + 228, // 254: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace + 349, // 255: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 246, // 256: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain + 246, // 257: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 246, // 258: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain + 349, // 259: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 349, // 260: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 259, // 261: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 259, // 262: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 349, // 263: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 266, // 264: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus + 266, // 265: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus + 228, // 266: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace + 228, // 267: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace + 349, // 268: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 9, // 269: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus + 280, // 270: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult + 228, // 271: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace + 286, // 272: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember + 10, // 273: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState + 349, // 274: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 8, // 275: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus + 313, // 276: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding + 227, // 277: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal + 313, // 278: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding + 347, // 279: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry + 348, // 280: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry + 303, // 281: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 303, // 282: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences + 303, // 283: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences + 349, // 284: brent.Binding.created_at:type_name -> google.protobuf.Timestamp + 349, // 285: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp + 349, // 286: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 314, // 287: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 349, // 288: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp + 314, // 289: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch + 11, // 290: brent.AdminGetAccountReviewPolicyResponse.policy:type_name -> brent.WorkspaceReviewPolicy + 349, // 291: brent.AdminGetAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp + 11, // 292: brent.AdminUpdateAccountReviewPolicyRequest.policy:type_name -> brent.WorkspaceReviewPolicy + 11, // 293: brent.AdminUpdateAccountReviewPolicyResponse.policy:type_name -> brent.WorkspaceReviewPolicy + 349, // 294: brent.AdminUpdateAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp + 259, // 295: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus + 349, // 296: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp + 5, // 297: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus + 328, // 298: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall + 3, // 299: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider + 3, // 300: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider + 3, // 301: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider + 332, // 302: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry + 12, // 303: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource + 3, // 304: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider + 349, // 305: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 350, // 306: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 307: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 308: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 309: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 310: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 311: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 312: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 313: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 314: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 315: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 304, // 316: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences + 351, // 317: brent.embedded_json:extendee -> google.protobuf.FieldOptions + 38, // 318: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest + 40, // 319: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest + 207, // 320: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest + 333, // 321: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest + 209, // 322: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest + 211, // 323: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest + 213, // 324: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest + 215, // 325: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest + 217, // 326: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest + 219, // 327: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest + 297, // 328: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest + 301, // 329: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest + 305, // 330: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest + 307, // 331: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest + 309, // 332: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest + 311, // 333: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest + 299, // 334: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest + 315, // 335: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest + 317, // 336: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest + 330, // 337: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest + 229, // 338: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest + 231, // 339: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest + 233, // 340: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest + 236, // 341: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest + 273, // 342: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest + 275, // 343: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest + 238, // 344: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest + 240, // 345: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest + 244, // 346: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest + 277, // 347: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest + 279, // 348: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest + 282, // 349: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest + 284, // 350: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest + 287, // 351: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest + 289, // 352: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest + 291, // 353: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest + 293, // 354: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest + 247, // 355: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest + 249, // 356: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest + 251, // 357: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest + 253, // 358: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest + 257, // 359: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest + 260, // 360: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest + 262, // 361: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest + 264, // 362: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest + 267, // 363: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest + 269, // 364: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest + 271, // 365: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest + 223, // 366: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest + 225, // 367: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest + 255, // 368: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest + 295, // 369: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest + 27, // 370: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest + 28, // 371: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest + 31, // 372: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest + 32, // 373: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest + 34, // 374: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest + 36, // 375: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest + 54, // 376: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest + 55, // 377: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest + 58, // 378: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest + 83, // 379: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest + 86, // 380: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest + 352, // 381: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty + 91, // 382: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest + 94, // 383: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest + 97, // 384: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest + 100, // 385: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest + 102, // 386: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest + 319, // 387: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest + 320, // 388: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest + 321, // 389: brent.BrentAdminService.GetAccountReviewPolicy:input_type -> brent.AdminGetAccountReviewPolicyRequest + 323, // 390: brent.BrentAdminService.UpdateAccountReviewPolicy:input_type -> brent.AdminUpdateAccountReviewPolicyRequest + 325, // 391: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest + 327, // 392: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest + 192, // 393: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest + 195, // 394: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest + 198, // 395: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest + 201, // 396: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest + 202, // 397: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest + 13, // 398: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest + 15, // 399: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest + 17, // 400: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest + 61, // 401: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest + 63, // 402: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest + 66, // 403: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest + 68, // 404: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest + 70, // 405: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest + 72, // 406: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest + 74, // 407: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest + 76, // 408: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest + 78, // 409: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest + 81, // 410: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest + 19, // 411: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest + 39, // 412: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse + 41, // 413: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse + 208, // 414: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse + 334, // 415: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse + 210, // 416: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse + 212, // 417: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse + 214, // 418: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse + 216, // 419: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse + 218, // 420: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse + 220, // 421: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse + 298, // 422: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse + 302, // 423: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse + 306, // 424: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse + 308, // 425: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse + 310, // 426: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse + 312, // 427: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse + 300, // 428: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse + 316, // 429: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse + 318, // 430: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 331, // 431: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse + 230, // 432: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse + 232, // 433: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse + 235, // 434: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse + 237, // 435: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse + 274, // 436: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse + 276, // 437: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse + 239, // 438: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse + 241, // 439: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse + 245, // 440: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse + 278, // 441: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse + 281, // 442: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse + 283, // 443: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse + 285, // 444: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse + 288, // 445: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse + 290, // 446: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse + 292, // 447: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse + 294, // 448: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse + 248, // 449: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse + 250, // 450: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse + 252, // 451: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse + 254, // 452: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse + 258, // 453: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse + 261, // 454: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse + 263, // 455: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse + 265, // 456: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse + 268, // 457: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse + 270, // 458: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse + 272, // 459: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse + 224, // 460: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse + 226, // 461: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse + 256, // 462: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse + 296, // 463: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse + 43, // 464: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse + 29, // 465: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse + 43, // 466: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse + 33, // 467: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse + 35, // 468: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse + 37, // 469: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse + 43, // 470: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse + 56, // 471: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse + 59, // 472: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse + 84, // 473: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse + 87, // 474: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse + 90, // 475: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse + 93, // 476: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse + 96, // 477: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse + 99, // 478: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse + 101, // 479: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse + 105, // 480: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse + 316, // 481: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse + 318, // 482: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse + 322, // 483: brent.BrentAdminService.GetAccountReviewPolicy:output_type -> brent.AdminGetAccountReviewPolicyResponse + 324, // 484: brent.BrentAdminService.UpdateAccountReviewPolicy:output_type -> brent.AdminUpdateAccountReviewPolicyResponse + 326, // 485: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse + 329, // 486: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse + 193, // 487: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse + 196, // 488: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse + 199, // 489: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse + 205, // 490: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse + 204, // 491: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse + 14, // 492: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse + 16, // 493: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse + 18, // 494: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse + 62, // 495: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse + 64, // 496: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse + 67, // 497: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse + 69, // 498: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse + 71, // 499: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse + 73, // 500: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse + 75, // 501: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse + 77, // 502: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse + 79, // 503: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse + 82, // 504: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse + 22, // 505: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 412, // [412:506] is the sub-list for method output_type + 318, // [318:412] is the sub-list for method input_type + 318, // [318:318] is the sub-list for extension type_name + 317, // [317:318] is the sub-list for extension extendee + 0, // [0:317] is the sub-list for field type_name } func init() { file_brent_proto_init() } @@ -27448,28 +27886,29 @@ func file_brent_proto_init() { (*Event_DeviationFindingAcknowledgementCleared)(nil), (*Event_PlanReviewPolicyDecided)(nil), (*Event_ReviewRestored)(nil), + (*Event_WorkspaceReviewPolicyUpdated)(nil), (*Event_UnknownStoredPayload)(nil), } - file_brent_proto_msgTypes[161].OneofWrappers = []any{} - file_brent_proto_msgTypes[186].OneofWrappers = []any{} - file_brent_proto_msgTypes[191].OneofWrappers = []any{} + file_brent_proto_msgTypes[162].OneofWrappers = []any{} + file_brent_proto_msgTypes[187].OneofWrappers = []any{} file_brent_proto_msgTypes[192].OneofWrappers = []any{} - file_brent_proto_msgTypes[194].OneofWrappers = []any{} - file_brent_proto_msgTypes[213].OneofWrappers = []any{} + file_brent_proto_msgTypes[193].OneofWrappers = []any{} + file_brent_proto_msgTypes[195].OneofWrappers = []any{} file_brent_proto_msgTypes[214].OneofWrappers = []any{} - file_brent_proto_msgTypes[228].OneofWrappers = []any{} + file_brent_proto_msgTypes[215].OneofWrappers = []any{} file_brent_proto_msgTypes[229].OneofWrappers = []any{} - file_brent_proto_msgTypes[272].OneofWrappers = []any{} - file_brent_proto_msgTypes[282].OneofWrappers = []any{} - file_brent_proto_msgTypes[303].OneofWrappers = []any{} - file_brent_proto_msgTypes[306].OneofWrappers = []any{} + file_brent_proto_msgTypes[230].OneofWrappers = []any{} + file_brent_proto_msgTypes[273].OneofWrappers = []any{} + file_brent_proto_msgTypes[283].OneofWrappers = []any{} + file_brent_proto_msgTypes[304].OneofWrappers = []any{} + file_brent_proto_msgTypes[307].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), - NumEnums: 12, - NumMessages: 331, + NumEnums: 13, + NumMessages: 336, NumExtensions: 1, NumServices: 3, }, diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index ee0487b9..71c7572c 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -251,6 +251,12 @@ const ( // BrentAdminServiceUpdateAccountBrentSettingsProcedure is the fully-qualified name of the // BrentAdminService's UpdateAccountBrentSettings RPC. BrentAdminServiceUpdateAccountBrentSettingsProcedure = "/brent.BrentAdminService/UpdateAccountBrentSettings" + // BrentAdminServiceGetAccountReviewPolicyProcedure is the fully-qualified name of the + // BrentAdminService's GetAccountReviewPolicy RPC. + BrentAdminServiceGetAccountReviewPolicyProcedure = "/brent.BrentAdminService/GetAccountReviewPolicy" + // BrentAdminServiceUpdateAccountReviewPolicyProcedure is the fully-qualified name of the + // BrentAdminService's UpdateAccountReviewPolicy RPC. + BrentAdminServiceUpdateAccountReviewPolicyProcedure = "/brent.BrentAdminService/UpdateAccountReviewPolicy" // BrentAdminServiceGetAccountLLMCredentialStatusProcedure is the fully-qualified name of the // BrentAdminService's GetAccountLLMCredentialStatus RPC. BrentAdminServiceGetAccountLLMCredentialStatusProcedure = "/brent.BrentAdminService/GetAccountLLMCredentialStatus" @@ -2257,6 +2263,17 @@ type BrentAdminServiceClient interface { // requires an explicit account_name. PATCH semantics — omit red_finding_kinds // to leave it unchanged; pass an empty array to disable red on all kinds. UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + // Reads a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). + // Gates on admin:read and requires an explicit account_name (no + // caller-account fallback). Returns the persisted policy, active-human + // principal count, and attribution metadata. + GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) + // Updates a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). + // Gates on admin:write and requires an explicit account_name. Enabling + // REQUIRED fails with FailedPrecondition when fewer than two active humans + // are present. The update, attribution fields, and audit event commit + // atomically. Unspecified/unknown policy values return InvalidArgument. + UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) // Reads an account's LLM provider key status for support triage. Operator-facing // twin of GetWorkspaceLLMCredentialStatus: gates on admin:read and takes an // explicit account_name, so brent-area51 can show any account's key status @@ -2468,6 +2485,18 @@ func NewBrentAdminServiceClient(httpClient connect.HTTPClient, baseURL string, o connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountBrentSettings")), connect.WithClientOptions(opts...), ), + getAccountReviewPolicy: connect.NewClient[sdp_go.AdminGetAccountReviewPolicyRequest, sdp_go.AdminGetAccountReviewPolicyResponse]( + httpClient, + baseURL+BrentAdminServiceGetAccountReviewPolicyProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountReviewPolicy")), + connect.WithClientOptions(opts...), + ), + updateAccountReviewPolicy: connect.NewClient[sdp_go.AdminUpdateAccountReviewPolicyRequest, sdp_go.AdminUpdateAccountReviewPolicyResponse]( + httpClient, + baseURL+BrentAdminServiceUpdateAccountReviewPolicyProcedure, + connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), + connect.WithClientOptions(opts...), + ), getAccountLLMCredentialStatus: connect.NewClient[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse]( httpClient, baseURL+BrentAdminServiceGetAccountLLMCredentialStatusProcedure, @@ -2618,6 +2647,8 @@ type brentAdminServiceClient struct { getAccountMetricsComparisonRun *connect.Client[sdp_go.AdminGetAccountMetricsComparisonRunRequest, sdp_go.AdminGetAccountMetricsComparisonRunResponse] getAccountBrentSettings *connect.Client[sdp_go.AdminGetAccountBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] updateAccountBrentSettings *connect.Client[sdp_go.AdminUpdateAccountBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] + getAccountReviewPolicy *connect.Client[sdp_go.AdminGetAccountReviewPolicyRequest, sdp_go.AdminGetAccountReviewPolicyResponse] + updateAccountReviewPolicy *connect.Client[sdp_go.AdminUpdateAccountReviewPolicyRequest, sdp_go.AdminUpdateAccountReviewPolicyResponse] getAccountLLMCredentialStatus *connect.Client[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse] listAccountIntegrations *connect.Client[sdp_go.AdminListAccountIntegrationsRequest, sdp_go.AdminListAccountIntegrationsResponse] listWorkflows *connect.Client[sdp_go.ListWorkflowsRequest, sdp_go.ListWorkflowsResponse] @@ -2736,6 +2767,16 @@ func (c *brentAdminServiceClient) UpdateAccountBrentSettings(ctx context.Context return c.updateAccountBrentSettings.CallUnary(ctx, req) } +// GetAccountReviewPolicy calls brent.BrentAdminService.GetAccountReviewPolicy. +func (c *brentAdminServiceClient) GetAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { + return c.getAccountReviewPolicy.CallUnary(ctx, req) +} + +// UpdateAccountReviewPolicy calls brent.BrentAdminService.UpdateAccountReviewPolicy. +func (c *brentAdminServiceClient) UpdateAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { + return c.updateAccountReviewPolicy.CallUnary(ctx, req) +} + // GetAccountLLMCredentialStatus calls brent.BrentAdminService.GetAccountLLMCredentialStatus. func (c *brentAdminServiceClient) GetAccountLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { return c.getAccountLLMCredentialStatus.CallUnary(ctx, req) @@ -2935,6 +2976,17 @@ type BrentAdminServiceHandler interface { // requires an explicit account_name. PATCH semantics — omit red_finding_kinds // to leave it unchanged; pass an empty array to disable red on all kinds. UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + // Reads a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). + // Gates on admin:read and requires an explicit account_name (no + // caller-account fallback). Returns the persisted policy, active-human + // principal count, and attribution metadata. + GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) + // Updates a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). + // Gates on admin:write and requires an explicit account_name. Enabling + // REQUIRED fails with FailedPrecondition when fewer than two active humans + // are present. The update, attribution fields, and audit event commit + // atomically. Unspecified/unknown policy values return InvalidArgument. + UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) // Reads an account's LLM provider key status for support triage. Operator-facing // twin of GetWorkspaceLLMCredentialStatus: gates on admin:read and takes an // explicit account_name, so brent-area51 can show any account's key status @@ -3142,6 +3194,18 @@ func NewBrentAdminServiceHandler(svc BrentAdminServiceHandler, opts ...connect.H connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountBrentSettings")), connect.WithHandlerOptions(opts...), ) + brentAdminServiceGetAccountReviewPolicyHandler := connect.NewUnaryHandler( + BrentAdminServiceGetAccountReviewPolicyProcedure, + svc.GetAccountReviewPolicy, + connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountReviewPolicy")), + connect.WithHandlerOptions(opts...), + ) + brentAdminServiceUpdateAccountReviewPolicyHandler := connect.NewUnaryHandler( + BrentAdminServiceUpdateAccountReviewPolicyProcedure, + svc.UpdateAccountReviewPolicy, + connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), + connect.WithHandlerOptions(opts...), + ) brentAdminServiceGetAccountLLMCredentialStatusHandler := connect.NewUnaryHandler( BrentAdminServiceGetAccountLLMCredentialStatusProcedure, svc.GetAccountLLMCredentialStatus, @@ -3308,6 +3372,10 @@ func NewBrentAdminServiceHandler(svc BrentAdminServiceHandler, opts ...connect.H brentAdminServiceGetAccountBrentSettingsHandler.ServeHTTP(w, r) case BrentAdminServiceUpdateAccountBrentSettingsProcedure: brentAdminServiceUpdateAccountBrentSettingsHandler.ServeHTTP(w, r) + case BrentAdminServiceGetAccountReviewPolicyProcedure: + brentAdminServiceGetAccountReviewPolicyHandler.ServeHTTP(w, r) + case BrentAdminServiceUpdateAccountReviewPolicyProcedure: + brentAdminServiceUpdateAccountReviewPolicyHandler.ServeHTTP(w, r) case BrentAdminServiceGetAccountLLMCredentialStatusProcedure: brentAdminServiceGetAccountLLMCredentialStatusHandler.ServeHTTP(w, r) case BrentAdminServiceListAccountIntegrationsProcedure: @@ -3435,6 +3503,14 @@ func (UnimplementedBrentAdminServiceHandler) UpdateAccountBrentSettings(context. return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpdateAccountBrentSettings is not implemented")) } +func (UnimplementedBrentAdminServiceHandler) GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountReviewPolicy is not implemented")) +} + +func (UnimplementedBrentAdminServiceHandler) UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpdateAccountReviewPolicy is not implemented")) +} + func (UnimplementedBrentAdminServiceHandler) GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountLLMCredentialStatus is not implemented")) } From 10fd10036e5f2df7897a6fd979f90dc2da35526e Mon Sep 17 00:00:00 2001 From: Lionel Wilson <80872669+Lionel-Wilson@users.noreply.github.com> Date: Wed, 5 Aug 2026 11:28:03 +0100 Subject: [PATCH 22/36] Rename Brent-vocabulary to Until in account health findings (#6231) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary This PR delivers the account/workspace health slice of the *Replace Brent in customer messages* milestone in the *Rename Brent → Until* project, tracked in [ENG-5952](https://linear.app/overmind/issue/ENG-5952/rename-customer-facing-account-health-messages-to-until). ## Changes Updates the `AccountHealthFinding` titles, details, and comments in `buildAccountHealthFindings` to use Until vocabulary per the [naming worksheet](docs/design/until-rename/naming-worksheet.md): | # | Current title | New title | |---|---|---| | 2 | Deviation analysis never runs | **Plan checks never run** | | 4 | Every analysis is a clean match | **Every Plan check is a clean match** | | 5 | High workflow failure rate | **High custom loop failure rate** | | 7 | Short plans are causing deviations | **Short plans are causing Plan differences** | **Detail string vocabulary mapping:** - "deviation analyses" → "Plan checks" - "workflow runs" → "custom loop runs" - "deviation findings" → "Plan differences" - "Brent" → "Until" **Also updates:** - Go source comments above affected findings - Proto docstring on `AccountHealthFinding` message (regenerated artifacts) - Test assertions in `accounts_health_findings_test.go` ## Testing - All `TestBuildAccountHealthFindings_*` unit tests pass with updated assertions - `go build` and `go vet` pass on sdp-go - `golangci-lint run` passes on modified packages - `pnpm typecheck` passes on sdp-js ## Out of scope Per the ticket's *Does not include* clause: - Metric column names, SQL query names, RPC/proto message names - Heuristic thresholds and logic - Telemetry attributes, alert names, `/healthz` infrastructure - Internal research docs (`docs/research/nothing-fails-silently-daily-health-digest.md` — explicitly excluded by the plan) Brent-Plan: BRENT-832
Open in Web Open in Cursor 
Co-authored-by: Cursor Agent Co-authored-by: Lionel Wilson GitOrigin-RevId: 0fb55d2038461c43133382ceffc49dbb4526a21b --- go/sdp-go/brent.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index 18096158..dabee270 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -6565,7 +6565,7 @@ func (x *AdminGetAccountHealthAnalysisRequest) GetAccountName() string { } // AccountHealthFinding is one heuristic observation about how an account is -// using Brent. Internal-only operator coaching signal. +// using Until. Internal-only operator coaching signal. type AccountHealthFinding struct { state protoimpl.MessageState `protogen:"open.v1"` // Severity bucket: "warning" (likely a problem) or "info" (worth noting). From 8c006d423d808dd85359cc7d2aa493c02448cc91 Mon Sep 17 00:00:00 2001 From: TP Honey Date: Thu, 6 Aug 2026 12:35:43 +0100 Subject: [PATCH 23/36] [ENG-5960] Prepare Until protobuf, API, Event, RPC, and SDK contracts (#6251) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Introduce Until wire contracts inside the existing `sdp/brent.proto` file (`package until`, Workspace/Public/Admin services, PlanCheck/PlanDifference/Loop renames) while keeping `brent*` generated basenames so Copybara isolation stays intact. - Dual-register Connect: generated `/until.*` handlers plus a Go façade for every legacy `/brent.*` RPC; Event read aliases + legacy trigger names; dual CEL schema families with composite cache identity. - Ship non-Atlas Event `payload_type`/key backfill builders (execution owned by dogfood/production cutover tickets) and document the Until-content-in-`brent*` wart for ENG-5977. ## Linear Ticket Fixes: [ENG-5960](https://linear.app/overmind/issue/ENG-5960/prepare-until-protobuf-api-event-rpc-and-sdk-contracts) — Prepare Until protobuf, API, Event, RPC, and SDK contracts - **Purpose**: Make Until API/SDK contracts available beside legacy contracts without breaking stored Events, CEL, generated clients, or internal API isolation. - **Blocks**: ENG-5962 (Plan-ID migration), ENG-5972 (CEL/template migration), ENG-5973 (pre-switch baseline), ENG-5974 (dogfood switch), ENG-5979 (literal-zero checks) ## Changes **Proto / codegen** - `sdp/brent.proto` → `package until` with ENG-5923 symbol renames; field/oneof numbers preserved; file **not** renamed to `until.proto`. - Regenerated Go/TS (`brent*` basenames). `sdp-js` exports point at Workspace/Admin/Public connectquery modules. - Go identifier collision with `account.AdminService`: wire path stays `/until.AdminService/`; Go symbols are `UntilAdminService*` via `sdp/scripts/disambiguate_until_admin_go.py` (part of `pnpm build`). **Connect** - Mount Until handlers; legacy `/brent.BrentService|Public|Admin/` façade rewrites all 94 RPCs (including renamed methods such as `GetBrentSettings` → `GetPlanCheckSettings`) onto shared handlers with auth parity. Exhaustive table-driven mount tests. **Events / triggers / CEL** - Stored-name + protojson key aliases on read; writes emit Until message names. - `EventTypeName` still returns Brent-era PascalCase for `on:` matching until ENG-5969. - CEL: `until.Event`, legacy vs until schema families, cache keyed by `(schemaFamily, expression)`; default = legacy. **Backfill / isolation** - `services/brent-backend/build/backfill-until-rename` (+ pure `events.BackfillStoredEventPayload`) — dry-run/idempotent; not executed against environments here. - Isolation docs/rule/BUGBOT note Until content under `brent*` until ENG-5977 tickets the filename/glob rename. Copybara isolation check passes. **Out of scope (by design)** - MCP renames (ENG-5966/5967), environment backfill execution (ENG-5974/5980), customer CEL/template rewrites (ENG-5972), trigger vocabulary cutover (ENG-5969), `brent.proto` → `until.proto` file rename (ENG-5977). ## Until Plan Plan ID: BRENT-839 - **Plan**: Prepare Until protobuf, API, Event, RPC, and SDK contracts - **Approved by**: Elliot Waddington - **Pending reviews**: none > Deviation analysis and reviewer assignment are handled automatically by the > pre-approved PR review automation (see docs/PREAPPROVED_CHANGES.md). --- > [!NOTE] > **High Risk** > Touches public RPC paths, event/CEL compatibility, and proto wire contracts; a mistake in dual-registration or aliases could break legacy and Until clients together. > > **Overview** > Introduces **Until** wire contracts while keeping **`brent*` generated basenames** so Copybara isolation is unchanged: `sdp/brent.proto` is now `package until` with renamed services/messages (e.g. `WorkspaceService`, `PlanCheckCompleted`), with field numbers preserved and the file **not** renamed to `until.proto` (documented wart until ENG-5977). > > **Runtime compatibility** (per PR scope): dual Connect mounts on `/until.*` and legacy `/brent.*` façades to the same handlers; event read aliases and dual CEL schema families; backfill tooling for stored payload types (not executed in this PR). > > **In this diff:** dev **nginx** on port 5000 proxies **`/until.WorkspaceService/`**, **`/until.AdminService/`**, and **`/until.PublicService/`** (SSE settings) and adds **`/brent.BrentPublicService/`**; **Copybara isolation** docs and the Cursor rule now require **`brent*.proto`** for Until product API content and call out the intentional Until-in-`brent.proto` naming. > > Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 704e045ce7b3fbbd5964744341a4dc7fb276c3e6. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot). GitOrigin-RevId: c64812f22ce58c63a790b7080577d6ec5cb5832e --- go/sdp-go/brent.pb.go | 4711 ++++++++++++------------- go/sdp-go/brent_descriptor_test.go | 90 +- go/sdp-go/sdpconnect/brent.connect.go | 2903 ++++++++------- 3 files changed, 3884 insertions(+), 3820 deletions(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index dabee270..b2a19204 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -961,7 +961,7 @@ func (x *GetPullRequestByIDResponse) GetPullRequest() *PullRequest { return nil } -type ListDeviationAnalysesForPRRequest struct { +type ListPlanChecksForPRRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // UUID of the pull request. PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` @@ -972,20 +972,20 @@ type ListDeviationAnalysesForPRRequest struct { sizeCache protoimpl.SizeCache } -func (x *ListDeviationAnalysesForPRRequest) Reset() { - *x = ListDeviationAnalysesForPRRequest{} +func (x *ListPlanChecksForPRRequest) Reset() { + *x = ListPlanChecksForPRRequest{} mi := &file_brent_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListDeviationAnalysesForPRRequest) String() string { +func (x *ListPlanChecksForPRRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListDeviationAnalysesForPRRequest) ProtoMessage() {} +func (*ListPlanChecksForPRRequest) ProtoMessage() {} -func (x *ListDeviationAnalysesForPRRequest) ProtoReflect() protoreflect.Message { +func (x *ListPlanChecksForPRRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -997,46 +997,46 @@ func (x *ListDeviationAnalysesForPRRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use ListDeviationAnalysesForPRRequest.ProtoReflect.Descriptor instead. -func (*ListDeviationAnalysesForPRRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListPlanChecksForPRRequest.ProtoReflect.Descriptor instead. +func (*ListPlanChecksForPRRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{4} } -func (x *ListDeviationAnalysesForPRRequest) GetPrId() string { +func (x *ListPlanChecksForPRRequest) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *ListDeviationAnalysesForPRRequest) GetAccountName() string { +func (x *ListPlanChecksForPRRequest) GetAccountName() string { if x != nil { return x.AccountName } return "" } -type ListDeviationAnalysesForPRResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Analyses []*DeviationAnalysisSummary `protobuf:"bytes,1,rep,name=analyses,proto3" json:"analyses,omitempty"` +type ListPlanChecksForPRResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Analyses []*PlanCheckSummary `protobuf:"bytes,1,rep,name=analyses,proto3" json:"analyses,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *ListDeviationAnalysesForPRResponse) Reset() { - *x = ListDeviationAnalysesForPRResponse{} +func (x *ListPlanChecksForPRResponse) Reset() { + *x = ListPlanChecksForPRResponse{} mi := &file_brent_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListDeviationAnalysesForPRResponse) String() string { +func (x *ListPlanChecksForPRResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListDeviationAnalysesForPRResponse) ProtoMessage() {} +func (*ListPlanChecksForPRResponse) ProtoMessage() {} -func (x *ListDeviationAnalysesForPRResponse) ProtoReflect() protoreflect.Message { +func (x *ListPlanChecksForPRResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1048,12 +1048,12 @@ func (x *ListDeviationAnalysesForPRResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use ListDeviationAnalysesForPRResponse.ProtoReflect.Descriptor instead. -func (*ListDeviationAnalysesForPRResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListPlanChecksForPRResponse.ProtoReflect.Descriptor instead. +func (*ListPlanChecksForPRResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{5} } -func (x *ListDeviationAnalysesForPRResponse) GetAnalyses() []*DeviationAnalysisSummary { +func (x *ListPlanChecksForPRResponse) GetAnalyses() []*PlanCheckSummary { if x != nil { return x.Analyses } @@ -1345,7 +1345,7 @@ func (x *GetPullRequestTimelineResponse) GetWarnings() []*PullRequestTimelineWar // PullRequestSummary is the tenant-scoped list shape for the /pull-requests/ // debug page. Account is always the JWT tenant (field retained for consistency -// with PlanSummary / ReviewSummary / WorkflowSummary). +// with PlanSummary / ReviewSummary / LoopSummary). type PullRequestSummary struct { state protoimpl.MessageState `protogen:"open.v1"` PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` @@ -1709,38 +1709,38 @@ func (x *PullRequest) GetLinkedPlanUuid() string { return "" } -// DeviationAnalysisSummary carries the analysis header plus all its findings. -type DeviationAnalysisSummary struct { +// PlanCheckSummary carries the analysis header plus all its findings. +type PlanCheckSummary struct { state protoimpl.MessageState `protogen:"open.v1"` - AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` PrId string `protobuf:"bytes,3,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` PlanUuid string `protobuf:"bytes,4,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - WorkflowRunId string `protobuf:"bytes,6,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + LoopRunId string `protobuf:"bytes,6,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` FailureReason string `protobuf:"bytes,9,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"` StartedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` CompletedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` FailedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=failed_at,json=failedAt,proto3" json:"failed_at,omitempty"` - Findings []*DeviationFinding `protobuf:"bytes,13,rep,name=findings,proto3" json:"findings,omitempty"` + Differences []*PlanDifference `protobuf:"bytes,13,rep,name=differences,proto3" json:"differences,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *DeviationAnalysisSummary) Reset() { - *x = DeviationAnalysisSummary{} +func (x *PlanCheckSummary) Reset() { + *x = PlanCheckSummary{} mi := &file_brent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationAnalysisSummary) String() string { +func (x *PlanCheckSummary) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationAnalysisSummary) ProtoMessage() {} +func (*PlanCheckSummary) ProtoMessage() {} -func (x *DeviationAnalysisSummary) ProtoReflect() protoreflect.Message { +func (x *PlanCheckSummary) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1752,92 +1752,92 @@ func (x *DeviationAnalysisSummary) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationAnalysisSummary.ProtoReflect.Descriptor instead. -func (*DeviationAnalysisSummary) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanCheckSummary.ProtoReflect.Descriptor instead. +func (*PlanCheckSummary) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{12} } -func (x *DeviationAnalysisSummary) GetAnalysisId() string { +func (x *PlanCheckSummary) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationAnalysisSummary) GetAccountName() string { +func (x *PlanCheckSummary) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *DeviationAnalysisSummary) GetPrId() string { +func (x *PlanCheckSummary) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *DeviationAnalysisSummary) GetPlanUuid() string { +func (x *PlanCheckSummary) GetPlanUuid() string { if x != nil { return x.PlanUuid } return "" } -func (x *DeviationAnalysisSummary) GetHeadSha() string { +func (x *PlanCheckSummary) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *DeviationAnalysisSummary) GetWorkflowRunId() string { +func (x *PlanCheckSummary) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } -func (x *DeviationAnalysisSummary) GetFailureReason() string { +func (x *PlanCheckSummary) GetFailureReason() string { if x != nil { return x.FailureReason } return "" } -func (x *DeviationAnalysisSummary) GetStartedAt() *timestamppb.Timestamp { +func (x *PlanCheckSummary) GetStartedAt() *timestamppb.Timestamp { if x != nil { return x.StartedAt } return nil } -func (x *DeviationAnalysisSummary) GetCompletedAt() *timestamppb.Timestamp { +func (x *PlanCheckSummary) GetCompletedAt() *timestamppb.Timestamp { if x != nil { return x.CompletedAt } return nil } -func (x *DeviationAnalysisSummary) GetFailedAt() *timestamppb.Timestamp { +func (x *PlanCheckSummary) GetFailedAt() *timestamppb.Timestamp { if x != nil { return x.FailedAt } return nil } -func (x *DeviationAnalysisSummary) GetFindings() []*DeviationFinding { +func (x *PlanCheckSummary) GetDifferences() []*PlanDifference { if x != nil { - return x.Findings + return x.Differences } return nil } -// DeviationFinding is a single finding produced by the deviation-analysis agent. -type DeviationFinding struct { - state protoimpl.MessageState `protogen:"open.v1"` - FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` +// PlanDifference is a single finding produced by the deviation-analysis agent. +type PlanDifference struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` // Tag per deviation-analysis-v2.md §2: Changed | Missing | Beyond | Scope. Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` @@ -1867,20 +1867,20 @@ type DeviationFinding struct { sizeCache protoimpl.SizeCache } -func (x *DeviationFinding) Reset() { - *x = DeviationFinding{} +func (x *PlanDifference) Reset() { + *x = PlanDifference{} mi := &file_brent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationFinding) String() string { +func (x *PlanDifference) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationFinding) ProtoMessage() {} +func (*PlanDifference) ProtoMessage() {} -func (x *DeviationFinding) ProtoReflect() protoreflect.Message { +func (x *PlanDifference) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1892,135 +1892,135 @@ func (x *DeviationFinding) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationFinding.ProtoReflect.Descriptor instead. -func (*DeviationFinding) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanDifference.ProtoReflect.Descriptor instead. +func (*PlanDifference) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{13} } -func (x *DeviationFinding) GetFindingId() string { +func (x *PlanDifference) GetPlanDifferenceId() string { if x != nil { - return x.FindingId + return x.PlanDifferenceId } return "" } -func (x *DeviationFinding) GetTag() string { +func (x *PlanDifference) GetTag() string { if x != nil { return x.Tag } return "" } -func (x *DeviationFinding) GetSummary() string { +func (x *PlanDifference) GetSummary() string { if x != nil { return x.Summary } return "" } -func (x *DeviationFinding) GetAnchorPath() string { +func (x *PlanDifference) GetAnchorPath() string { if x != nil { return x.AnchorPath } return "" } -func (x *DeviationFinding) GetAnchorStartLine() int32 { +func (x *PlanDifference) GetAnchorStartLine() int32 { if x != nil { return x.AnchorStartLine } return 0 } -func (x *DeviationFinding) GetAnchorEndLine() int32 { +func (x *PlanDifference) GetAnchorEndLine() int32 { if x != nil { return x.AnchorEndLine } return 0 } -func (x *DeviationFinding) GetDetailsJson() string { +func (x *PlanDifference) GetDetailsJson() string { if x != nil { return x.DetailsJson } return "" } -func (x *DeviationFinding) GetResolved() bool { +func (x *PlanDifference) GetResolved() bool { if x != nil { return x.Resolved } return false } -func (x *DeviationFinding) GetResolvedAt() *timestamppb.Timestamp { +func (x *PlanDifference) GetResolvedAt() *timestamppb.Timestamp { if x != nil { return x.ResolvedAt } return nil } -func (x *DeviationFinding) GetResolutionReason() string { +func (x *PlanDifference) GetResolutionReason() string { if x != nil { return x.ResolutionReason } return "" } -func (x *DeviationFinding) GetResolutionCommit() string { +func (x *PlanDifference) GetResolutionCommit() string { if x != nil { return x.ResolutionCommit } return "" } -func (x *DeviationFinding) GetAcknowledged() bool { +func (x *PlanDifference) GetAcknowledged() bool { if x != nil { return x.Acknowledged } return false } -func (x *DeviationFinding) GetAckSource() string { +func (x *PlanDifference) GetAckSource() string { if x != nil { return x.AckSource } return "" } -func (x *DeviationFinding) GetAckRef() string { +func (x *PlanDifference) GetAckRef() string { if x != nil { return x.AckRef } return "" } -func (x *DeviationFinding) GetAckReasoningQuote() string { +func (x *PlanDifference) GetAckReasoningQuote() string { if x != nil { return x.AckReasoningQuote } return "" } -func (x *DeviationFinding) GetSlug() string { +func (x *PlanDifference) GetSlug() string { if x != nil { return x.Slug } return "" } -// ExecuteWorkflowRequest initiates a workflow run. -type ExecuteWorkflowRequest struct { +// ExecuteLoopRequest initiates a workflow run. +type ExecuteLoopRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Natural-language instructions for the agent. // Example: "Look up ticket ENG-1234 in Linear, summarize it, post to #engineering in Slack" - WorkflowPrompt string `protobuf:"bytes,1,opt,name=workflow_prompt,json=workflowPrompt,proto3" json:"workflow_prompt,omitempty"` + LoopPrompt string `protobuf:"bytes,1,opt,name=loop_prompt,json=loopPrompt,proto3" json:"loop_prompt,omitempty"` // Raw JSON of the triggering event (e.g. GitHub webhook payload). // Empty for UI-initiated runs. TriggerEventJson *string `protobuf:"bytes,2,opt,name=trigger_event_json,json=triggerEventJson,proto3,oneof" json:"trigger_event_json,omitempty"` // Human-readable name for this run. Used as workflow_runs.name. // Defaults to "Manual Run" on the backend if absent. - WorkflowName *string `protobuf:"bytes,6,opt,name=workflow_name,json=workflowName,proto3,oneof" json:"workflow_name,omitempty"` + LoopName *string `protobuf:"bytes,6,opt,name=loop_name,json=loopName,proto3,oneof" json:"loop_name,omitempty"` // Optional operator override: run under this workspace/account instead of the // caller's own account. Operator-only (already gated on admin:write). When // empty, falls back to the caller's account, then "default". Lets operators @@ -2031,20 +2031,20 @@ type ExecuteWorkflowRequest struct { sizeCache protoimpl.SizeCache } -func (x *ExecuteWorkflowRequest) Reset() { - *x = ExecuteWorkflowRequest{} +func (x *ExecuteLoopRequest) Reset() { + *x = ExecuteLoopRequest{} mi := &file_brent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ExecuteWorkflowRequest) String() string { +func (x *ExecuteLoopRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecuteWorkflowRequest) ProtoMessage() {} +func (*ExecuteLoopRequest) ProtoMessage() {} -func (x *ExecuteWorkflowRequest) ProtoReflect() protoreflect.Message { +func (x *ExecuteLoopRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2056,33 +2056,33 @@ func (x *ExecuteWorkflowRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExecuteWorkflowRequest.ProtoReflect.Descriptor instead. -func (*ExecuteWorkflowRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ExecuteLoopRequest.ProtoReflect.Descriptor instead. +func (*ExecuteLoopRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{14} } -func (x *ExecuteWorkflowRequest) GetWorkflowPrompt() string { +func (x *ExecuteLoopRequest) GetLoopPrompt() string { if x != nil { - return x.WorkflowPrompt + return x.LoopPrompt } return "" } -func (x *ExecuteWorkflowRequest) GetTriggerEventJson() string { +func (x *ExecuteLoopRequest) GetTriggerEventJson() string { if x != nil && x.TriggerEventJson != nil { return *x.TriggerEventJson } return "" } -func (x *ExecuteWorkflowRequest) GetWorkflowName() string { - if x != nil && x.WorkflowName != nil { - return *x.WorkflowName +func (x *ExecuteLoopRequest) GetLoopName() string { + if x != nil && x.LoopName != nil { + return *x.LoopName } return "" } -func (x *ExecuteWorkflowRequest) GetAccountName() string { +func (x *ExecuteLoopRequest) GetAccountName() string { if x != nil && x.AccountName != nil { return *x.AccountName } @@ -2093,7 +2093,7 @@ type ListRunsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Optional filter by workflow definition name (workflow_runs.name). Empty // means no filter. - WorkflowName string `protobuf:"bytes,1,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + LoopName string `protobuf:"bytes,1,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` // Optional filter by run status (pending, running, completed, failed, // cancelled). Empty means no filter. Matches workflow_runs.status verbatim. Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` @@ -2131,9 +2131,9 @@ func (*ListRunsRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{15} } -func (x *ListRunsRequest) GetWorkflowName() string { +func (x *ListRunsRequest) GetLoopName() string { if x != nil { - return x.WorkflowName + return x.LoopName } return "" } @@ -2192,8 +2192,8 @@ func (x *ListRunsResponse) GetRuns() []*RunSummary { type RunSummary struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status RunStatus `protobuf:"varint,2,opt,name=status,proto3,enum=brent.RunStatus" json:"status,omitempty"` - WorkflowPrompt string `protobuf:"bytes,3,opt,name=workflow_prompt,json=workflowPrompt,proto3" json:"workflow_prompt,omitempty"` + Status RunStatus `protobuf:"varint,2,opt,name=status,proto3,enum=until.RunStatus" json:"status,omitempty"` + LoopPrompt string `protobuf:"bytes,3,opt,name=loop_prompt,json=loopPrompt,proto3" json:"loop_prompt,omitempty"` TriggerEventJson *string `protobuf:"bytes,4,opt,name=trigger_event_json,json=triggerEventJson,proto3,oneof" json:"trigger_event_json,omitempty"` StartedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` CompletedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` @@ -2248,9 +2248,9 @@ func (x *RunSummary) GetStatus() RunStatus { return RunStatus_RUN_STATUS_UNSPECIFIED } -func (x *RunSummary) GetWorkflowPrompt() string { +func (x *RunSummary) GetLoopPrompt() string { if x != nil { - return x.WorkflowPrompt + return x.LoopPrompt } return "" } @@ -2848,7 +2848,7 @@ func (x *GetPullRequestResponse) GetPullRequest() *OpenPullRequest { return nil } -// OpenPullRequest is the summary info needed to drive an ExecuteWorkflow +// OpenPullRequest is the summary info needed to drive an ExecuteLoop // call for a pull request. type OpenPullRequest struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -2959,9 +2959,9 @@ func (x *OpenPullRequest) GetUpdatedAt() *timestamppb.Timestamp { return nil } -// ExecuteWorkflowResponse is a single step in the execution stream. +// ExecuteLoopResponse is a single step in the execution stream. // Each response carries a timestamp so the client can order steps. -type ExecuteWorkflowResponse struct { +type ExecuteLoopResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // When this step was produced by the server. Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` @@ -2969,35 +2969,35 @@ type ExecuteWorkflowResponse struct { // // Types that are valid to be assigned to Step: // - // *ExecuteWorkflowResponse_Reasoning - // *ExecuteWorkflowResponse_ToolCall - // *ExecuteWorkflowResponse_ToolResult - // *ExecuteWorkflowResponse_Completion - // *ExecuteWorkflowResponse_Error - // *ExecuteWorkflowResponse_Status - // *ExecuteWorkflowResponse_RunStarted - // *ExecuteWorkflowResponse_QaReady - // *ExecuteWorkflowResponse_UserQuestion - // *ExecuteWorkflowResponse_UserMessage - Step isExecuteWorkflowResponse_Step `protobuf_oneof:"step"` + // *ExecuteLoopResponse_Reasoning + // *ExecuteLoopResponse_ToolCall + // *ExecuteLoopResponse_ToolResult + // *ExecuteLoopResponse_Completion + // *ExecuteLoopResponse_Error + // *ExecuteLoopResponse_Status + // *ExecuteLoopResponse_RunStarted + // *ExecuteLoopResponse_QaReady + // *ExecuteLoopResponse_UserQuestion + // *ExecuteLoopResponse_UserMessage + Step isExecuteLoopResponse_Step `protobuf_oneof:"step"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *ExecuteWorkflowResponse) Reset() { - *x = ExecuteWorkflowResponse{} +func (x *ExecuteLoopResponse) Reset() { + *x = ExecuteLoopResponse{} mi := &file_brent_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ExecuteWorkflowResponse) String() string { +func (x *ExecuteLoopResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecuteWorkflowResponse) ProtoMessage() {} +func (*ExecuteLoopResponse) ProtoMessage() {} -func (x *ExecuteWorkflowResponse) ProtoReflect() protoreflect.Message { +func (x *ExecuteLoopResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3009,193 +3009,193 @@ func (x *ExecuteWorkflowResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExecuteWorkflowResponse.ProtoReflect.Descriptor instead. -func (*ExecuteWorkflowResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ExecuteLoopResponse.ProtoReflect.Descriptor instead. +func (*ExecuteLoopResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{30} } -func (x *ExecuteWorkflowResponse) GetTimestamp() *timestamppb.Timestamp { +func (x *ExecuteLoopResponse) GetTimestamp() *timestamppb.Timestamp { if x != nil { return x.Timestamp } return nil } -func (x *ExecuteWorkflowResponse) GetStep() isExecuteWorkflowResponse_Step { +func (x *ExecuteLoopResponse) GetStep() isExecuteLoopResponse_Step { if x != nil { return x.Step } return nil } -func (x *ExecuteWorkflowResponse) GetReasoning() *ReasoningStep { +func (x *ExecuteLoopResponse) GetReasoning() *ReasoningStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_Reasoning); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_Reasoning); ok { return x.Reasoning } } return nil } -func (x *ExecuteWorkflowResponse) GetToolCall() *ToolCallStep { +func (x *ExecuteLoopResponse) GetToolCall() *ToolCallStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_ToolCall); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_ToolCall); ok { return x.ToolCall } } return nil } -func (x *ExecuteWorkflowResponse) GetToolResult() *ToolResultStep { +func (x *ExecuteLoopResponse) GetToolResult() *ToolResultStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_ToolResult); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_ToolResult); ok { return x.ToolResult } } return nil } -func (x *ExecuteWorkflowResponse) GetCompletion() *CompletionStep { +func (x *ExecuteLoopResponse) GetCompletion() *CompletionStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_Completion); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_Completion); ok { return x.Completion } } return nil } -func (x *ExecuteWorkflowResponse) GetError() *ErrorStep { +func (x *ExecuteLoopResponse) GetError() *ErrorStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_Error); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_Error); ok { return x.Error } } return nil } -func (x *ExecuteWorkflowResponse) GetStatus() *StatusStep { +func (x *ExecuteLoopResponse) GetStatus() *StatusStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_Status); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_Status); ok { return x.Status } } return nil } -func (x *ExecuteWorkflowResponse) GetRunStarted() *RunStartedStep { +func (x *ExecuteLoopResponse) GetRunStarted() *RunStartedStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_RunStarted); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_RunStarted); ok { return x.RunStarted } } return nil } -func (x *ExecuteWorkflowResponse) GetQaReady() *QAReadyStep { +func (x *ExecuteLoopResponse) GetQaReady() *QAReadyStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_QaReady); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_QaReady); ok { return x.QaReady } } return nil } -func (x *ExecuteWorkflowResponse) GetUserQuestion() *UserQuestionStep { +func (x *ExecuteLoopResponse) GetUserQuestion() *UserQuestionStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_UserQuestion); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_UserQuestion); ok { return x.UserQuestion } } return nil } -func (x *ExecuteWorkflowResponse) GetUserMessage() *UserMessageStep { +func (x *ExecuteLoopResponse) GetUserMessage() *UserMessageStep { if x != nil { - if x, ok := x.Step.(*ExecuteWorkflowResponse_UserMessage); ok { + if x, ok := x.Step.(*ExecuteLoopResponse_UserMessage); ok { return x.UserMessage } } return nil } -type isExecuteWorkflowResponse_Step interface { - isExecuteWorkflowResponse_Step() +type isExecuteLoopResponse_Step interface { + isExecuteLoopResponse_Step() } -type ExecuteWorkflowResponse_Reasoning struct { +type ExecuteLoopResponse_Reasoning struct { // A chunk of the agent's reasoning / LLM output text. Reasoning *ReasoningStep `protobuf:"bytes,10,opt,name=reasoning,proto3,oneof"` } -type ExecuteWorkflowResponse_ToolCall struct { +type ExecuteLoopResponse_ToolCall struct { // The agent is calling a tool on an MCP server. ToolCall *ToolCallStep `protobuf:"bytes,11,opt,name=tool_call,json=toolCall,proto3,oneof"` } -type ExecuteWorkflowResponse_ToolResult struct { +type ExecuteLoopResponse_ToolResult struct { // The result returned from an MCP tool call. ToolResult *ToolResultStep `protobuf:"bytes,12,opt,name=tool_result,json=toolResult,proto3,oneof"` } -type ExecuteWorkflowResponse_Completion struct { +type ExecuteLoopResponse_Completion struct { // The agent finished successfully. Completion *CompletionStep `protobuf:"bytes,13,opt,name=completion,proto3,oneof"` } -type ExecuteWorkflowResponse_Error struct { +type ExecuteLoopResponse_Error struct { // A terminal error — the stream ends after this step. Error *ErrorStep `protobuf:"bytes,14,opt,name=error,proto3,oneof"` } -type ExecuteWorkflowResponse_Status struct { +type ExecuteLoopResponse_Status struct { // Operational progress (e.g. "Connecting to MCP servers..."). Status *StatusStep `protobuf:"bytes,15,opt,name=status,proto3,oneof"` } -type ExecuteWorkflowResponse_RunStarted struct { +type ExecuteLoopResponse_RunStarted struct { // First step on a PR-context run; carries the server-assigned runId // so the client can deep-link to the run via the sidebar. Not emitted // on the webhook-triggered path. RunStarted *RunStartedStep `protobuf:"bytes,16,opt,name=run_started,json=runStarted,proto3,oneof"` } -type ExecuteWorkflowResponse_QaReady struct { +type ExecuteLoopResponse_QaReady struct { // Emitted after a run completes successfully to signal that Q&A // questions can now be sent via the SendQuestion RPC. QaReady *QAReadyStep `protobuf:"bytes,17,opt,name=qa_ready,json=qaReady,proto3,oneof"` } -type ExecuteWorkflowResponse_UserQuestion struct { +type ExecuteLoopResponse_UserQuestion struct { // A follow-up question submitted by the user after a run enters Q&A mode. UserQuestion *UserQuestionStep `protobuf:"bytes,18,opt,name=user_question,json=userQuestion,proto3,oneof"` } -type ExecuteWorkflowResponse_UserMessage struct { +type ExecuteLoopResponse_UserMessage struct { // First user message sent to the LLM at run start. Captured as a step so // it flows through the same persistence, streaming, and MCP-replay paths // as every other timeline event. UserMessage *UserMessageStep `protobuf:"bytes,19,opt,name=user_message,json=userMessage,proto3,oneof"` } -func (*ExecuteWorkflowResponse_Reasoning) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_Reasoning) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_ToolCall) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_ToolCall) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_ToolResult) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_ToolResult) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_Completion) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_Completion) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_Error) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_Error) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_Status) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_Status) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_RunStarted) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_RunStarted) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_QaReady) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_QaReady) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_UserQuestion) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_UserQuestion) isExecuteLoopResponse_Step() {} -func (*ExecuteWorkflowResponse_UserMessage) isExecuteWorkflowResponse_Step() {} +func (*ExecuteLoopResponse_UserMessage) isExecuteLoopResponse_Step() {} // ReasoningStep carries a chunk of the agent's streaming output. Multiple // ReasoningSteps form the full reasoning trace when concatenated in order. @@ -3544,7 +3544,7 @@ func (x *StatusStep) GetMessage() string { } // RunStartedStep is emitted as the first step on a streaming -// ExecuteWorkflow invocation. It tells the client the server-side runId +// ExecuteLoop invocation. It tells the client the server-side runId // so it can deep-link to the full stream via WatchRun. The // webhook-triggered path does not emit this step. type RunStartedStep struct { @@ -3966,7 +3966,7 @@ type PlanSummary struct { ProjectCode string `protobuf:"bytes,12,opt,name=project_code,json=projectCode,proto3" json:"project_code,omitempty"` // Set when the plan has been soft-deleted. DeletedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"` - // Aggregate review status for BrentAdminService.ListPlans display and + // Aggregate review status for AdminService.ListPlans display and // filtering: none | requested | approved | rejected. Priority across // non-deleted reviews: approved > rejected > requested > none. Mirrors // review_status on AdminListPlansRequest. Interim operator-only slice — @@ -6299,7 +6299,7 @@ func (x *AdminGetAccountSummaryRequest) GetAccountName() string { type AccountRunSummary struct { state protoimpl.MessageState `protogen:"open.v1"` // workflow_runs.external_id (UUID string); links to the run detail view. - WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` // Human-readable workflow run name. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Run status: pending / running / completed / failed / cancelled. @@ -6340,9 +6340,9 @@ func (*AccountRunSummary) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{79} } -func (x *AccountRunSummary) GetWorkflowRunId() string { +func (x *AccountRunSummary) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } @@ -6375,15 +6375,15 @@ type AdminGetAccountSummaryResponse struct { state protoimpl.MessageState `protogen:"open.v1"` AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` // GitHub org login(s) connected to this account. - GithubOrgs []string `protobuf:"bytes,2,rep,name=github_orgs,json=githubOrgs,proto3" json:"github_orgs,omitempty"` - SlackConnected bool `protobuf:"varint,3,opt,name=slack_connected,json=slackConnected,proto3" json:"slack_connected,omitempty"` - LinearConnected bool `protobuf:"varint,4,opt,name=linear_connected,json=linearConnected,proto3" json:"linear_connected,omitempty"` - PlanCount int64 `protobuf:"varint,5,opt,name=plan_count,json=planCount,proto3" json:"plan_count,omitempty"` - ReviewCount int64 `protobuf:"varint,6,opt,name=review_count,json=reviewCount,proto3" json:"review_count,omitempty"` - WorkflowRunCount int64 `protobuf:"varint,7,opt,name=workflow_run_count,json=workflowRunCount,proto3" json:"workflow_run_count,omitempty"` + GithubOrgs []string `protobuf:"bytes,2,rep,name=github_orgs,json=githubOrgs,proto3" json:"github_orgs,omitempty"` + SlackConnected bool `protobuf:"varint,3,opt,name=slack_connected,json=slackConnected,proto3" json:"slack_connected,omitempty"` + LinearConnected bool `protobuf:"varint,4,opt,name=linear_connected,json=linearConnected,proto3" json:"linear_connected,omitempty"` + PlanCount int64 `protobuf:"varint,5,opt,name=plan_count,json=planCount,proto3" json:"plan_count,omitempty"` + ReviewCount int64 `protobuf:"varint,6,opt,name=review_count,json=reviewCount,proto3" json:"review_count,omitempty"` + LoopRunCount int64 `protobuf:"varint,7,opt,name=loop_run_count,json=loopRunCount,proto3" json:"loop_run_count,omitempty"` // Subset of workflow_run_count whose status is 'failed'. - WorkflowRunErrorCount int64 `protobuf:"varint,8,opt,name=workflow_run_error_count,json=workflowRunErrorCount,proto3" json:"workflow_run_error_count,omitempty"` - PrCount int64 `protobuf:"varint,9,opt,name=pr_count,json=prCount,proto3" json:"pr_count,omitempty"` + LoopRunErrorCount int64 `protobuf:"varint,8,opt,name=loop_run_error_count,json=loopRunErrorCount,proto3" json:"loop_run_error_count,omitempty"` + PrCount int64 `protobuf:"varint,9,opt,name=pr_count,json=prCount,proto3" json:"pr_count,omitempty"` // Most recent activity across the account's runs, plans, reviews, and PRs, // collapsed to the latest workflow-run timestamp. Null when there has been // no activity at all. @@ -6470,16 +6470,16 @@ func (x *AdminGetAccountSummaryResponse) GetReviewCount() int64 { return 0 } -func (x *AdminGetAccountSummaryResponse) GetWorkflowRunCount() int64 { +func (x *AdminGetAccountSummaryResponse) GetLoopRunCount() int64 { if x != nil { - return x.WorkflowRunCount + return x.LoopRunCount } return 0 } -func (x *AdminGetAccountSummaryResponse) GetWorkflowRunErrorCount() int64 { +func (x *AdminGetAccountSummaryResponse) GetLoopRunErrorCount() int64 { if x != nil { - return x.WorkflowRunErrorCount + return x.LoopRunErrorCount } return 0 } @@ -6836,7 +6836,7 @@ type AdminStartAccountMetricsComparisonRequest struct { // Optional Linear team name. When empty, or when Linear is unavailable, the // run continues GitHub-only and surfaces the reason in linear_status_detail. LinearTeamName string `protobuf:"bytes,7,opt,name=linear_team_name,json=linearTeamName,proto3" json:"linear_team_name,omitempty"` - ComparisonMode MetricsComparisonMode `protobuf:"varint,8,opt,name=comparison_mode,json=comparisonMode,proto3,enum=brent.MetricsComparisonMode" json:"comparison_mode,omitempty"` + ComparisonMode MetricsComparisonMode `protobuf:"varint,8,opt,name=comparison_mode,json=comparisonMode,proto3,enum=until.MetricsComparisonMode" json:"comparison_mode,omitempty"` PlannedUnplannedStart *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=planned_unplanned_start,json=plannedUnplannedStart,proto3" json:"planned_unplanned_start,omitempty"` PlannedUnplannedEnd *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=planned_unplanned_end,json=plannedUnplannedEnd,proto3" json:"planned_unplanned_end,omitempty"` unknownFields protoimpl.UnknownFields @@ -7207,7 +7207,7 @@ type AdminGetAccountMetricsComparisonRunResponse struct { // the primary HTML report for compatibility; artifacts contains the // mode-specific HTML report(s) plus structured JSON evidence. Artifacts []*MetricsComparisonArtifact `protobuf:"bytes,18,rep,name=artifacts,proto3" json:"artifacts,omitempty"` - ComparisonMode MetricsComparisonMode `protobuf:"varint,19,opt,name=comparison_mode,json=comparisonMode,proto3,enum=brent.MetricsComparisonMode" json:"comparison_mode,omitempty"` + ComparisonMode MetricsComparisonMode `protobuf:"varint,19,opt,name=comparison_mode,json=comparisonMode,proto3,enum=until.MetricsComparisonMode" json:"comparison_mode,omitempty"` PlannedUnplannedStart *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=planned_unplanned_start,json=plannedUnplannedStart,proto3" json:"planned_unplanned_start,omitempty"` PlannedUnplannedEnd *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=planned_unplanned_end,json=plannedUnplannedEnd,proto3" json:"planned_unplanned_end,omitempty"` unknownFields protoimpl.UnknownFields @@ -7448,14 +7448,14 @@ type Event struct { // *Event_PullRequestUnlinkedFromPlan // *Event_OrganisationAppInstallationUpserted // *Event_OrganisationAppInstallationDeleted - // *Event_DeviationAnalysisStarted - // *Event_DeviationAnalysisCompleted - // *Event_DeviationAnalysisFailed - // *Event_WorkflowRunQueued - // *Event_WorkflowRunStarted - // *Event_WorkflowRunCompleted - // *Event_WorkflowRunFailed - // *Event_WorkflowRunCancelled + // *Event_PlanCheckStarted + // *Event_PlanCheckCompleted + // *Event_PlanCheckFailed + // *Event_LoopRunQueued + // *Event_LoopRunStarted + // *Event_LoopRunCompleted + // *Event_LoopRunFailed + // *Event_LoopRunCancelled // *Event_ReviewNoEligibleReviewer // *Event_PrincipalCreated // *Event_PrincipalUpdated @@ -7471,9 +7471,9 @@ type Event struct { // *Event_PlanRestored // *Event_LinearWebhook // *Event_PullRequestCommentCreated - // *Event_DeviationFindingRecorded - // *Event_DeviationFindingUpdated - // *Event_DeviationFindingResolved + // *Event_PlanDifferenceRecorded + // *Event_PlanDifferenceUpdated + // *Event_PlanDifferenceResolved // *Event_AgentRunDispatched // *Event_AgentRunStarted // *Event_AgentRunPullRequestMatched @@ -7483,7 +7483,7 @@ type Event struct { // *Event_AgentRunCancelled // *Event_AgentRunGatePassed // *Event_PullRequestLinkedToAgentRun - // *Event_WorkflowIngested + // *Event_LoopIngested // *Event_PullRequestReviewRequested // *Event_PullRequestApproved // *Event_PullRequestChangesRequested @@ -7506,8 +7506,8 @@ type Event struct { // *Event_WorkspaceMemberJoined // *Event_WorkspaceMemberLeft // *Event_ComposioTriggerMessage - // *Event_DeviationFindingAcknowledged - // *Event_DeviationFindingAcknowledgementCleared + // *Event_PlanDifferenceAcknowledged + // *Event_PlanDifferenceAcknowledgementCleared // *Event_PlanReviewPolicyDecided // *Event_ReviewRestored // *Event_WorkspaceReviewPolicyUpdated @@ -7777,73 +7777,73 @@ func (x *Event) GetOrganisationAppInstallationDeleted() *OrganisationAppInstalla return nil } -func (x *Event) GetDeviationAnalysisStarted() *DeviationAnalysisStarted { +func (x *Event) GetPlanCheckStarted() *PlanCheckStarted { if x != nil { - if x, ok := x.Payload.(*Event_DeviationAnalysisStarted); ok { - return x.DeviationAnalysisStarted + if x, ok := x.Payload.(*Event_PlanCheckStarted); ok { + return x.PlanCheckStarted } } return nil } -func (x *Event) GetDeviationAnalysisCompleted() *DeviationAnalysisCompleted { +func (x *Event) GetPlanCheckCompleted() *PlanCheckCompleted { if x != nil { - if x, ok := x.Payload.(*Event_DeviationAnalysisCompleted); ok { - return x.DeviationAnalysisCompleted + if x, ok := x.Payload.(*Event_PlanCheckCompleted); ok { + return x.PlanCheckCompleted } } return nil } -func (x *Event) GetDeviationAnalysisFailed() *DeviationAnalysisFailed { +func (x *Event) GetPlanCheckFailed() *PlanCheckFailed { if x != nil { - if x, ok := x.Payload.(*Event_DeviationAnalysisFailed); ok { - return x.DeviationAnalysisFailed + if x, ok := x.Payload.(*Event_PlanCheckFailed); ok { + return x.PlanCheckFailed } } return nil } -func (x *Event) GetWorkflowRunQueued() *WorkflowRunQueued { +func (x *Event) GetLoopRunQueued() *LoopRunQueued { if x != nil { - if x, ok := x.Payload.(*Event_WorkflowRunQueued); ok { - return x.WorkflowRunQueued + if x, ok := x.Payload.(*Event_LoopRunQueued); ok { + return x.LoopRunQueued } } return nil } -func (x *Event) GetWorkflowRunStarted() *WorkflowRunStarted { +func (x *Event) GetLoopRunStarted() *LoopRunStarted { if x != nil { - if x, ok := x.Payload.(*Event_WorkflowRunStarted); ok { - return x.WorkflowRunStarted + if x, ok := x.Payload.(*Event_LoopRunStarted); ok { + return x.LoopRunStarted } } return nil } -func (x *Event) GetWorkflowRunCompleted() *WorkflowRunCompleted { +func (x *Event) GetLoopRunCompleted() *LoopRunCompleted { if x != nil { - if x, ok := x.Payload.(*Event_WorkflowRunCompleted); ok { - return x.WorkflowRunCompleted + if x, ok := x.Payload.(*Event_LoopRunCompleted); ok { + return x.LoopRunCompleted } } return nil } -func (x *Event) GetWorkflowRunFailed() *WorkflowRunFailed { +func (x *Event) GetLoopRunFailed() *LoopRunFailed { if x != nil { - if x, ok := x.Payload.(*Event_WorkflowRunFailed); ok { - return x.WorkflowRunFailed + if x, ok := x.Payload.(*Event_LoopRunFailed); ok { + return x.LoopRunFailed } } return nil } -func (x *Event) GetWorkflowRunCancelled() *WorkflowRunCancelled { +func (x *Event) GetLoopRunCancelled() *LoopRunCancelled { if x != nil { - if x, ok := x.Payload.(*Event_WorkflowRunCancelled); ok { - return x.WorkflowRunCancelled + if x, ok := x.Payload.(*Event_LoopRunCancelled); ok { + return x.LoopRunCancelled } } return nil @@ -7984,28 +7984,28 @@ func (x *Event) GetPullRequestCommentCreated() *PullRequestCommentCreated { return nil } -func (x *Event) GetDeviationFindingRecorded() *DeviationFindingRecorded { +func (x *Event) GetPlanDifferenceRecorded() *PlanDifferenceRecorded { if x != nil { - if x, ok := x.Payload.(*Event_DeviationFindingRecorded); ok { - return x.DeviationFindingRecorded + if x, ok := x.Payload.(*Event_PlanDifferenceRecorded); ok { + return x.PlanDifferenceRecorded } } return nil } -func (x *Event) GetDeviationFindingUpdated() *DeviationFindingUpdated { +func (x *Event) GetPlanDifferenceUpdated() *PlanDifferenceUpdated { if x != nil { - if x, ok := x.Payload.(*Event_DeviationFindingUpdated); ok { - return x.DeviationFindingUpdated + if x, ok := x.Payload.(*Event_PlanDifferenceUpdated); ok { + return x.PlanDifferenceUpdated } } return nil } -func (x *Event) GetDeviationFindingResolved() *DeviationFindingResolved { +func (x *Event) GetPlanDifferenceResolved() *PlanDifferenceResolved { if x != nil { - if x, ok := x.Payload.(*Event_DeviationFindingResolved); ok { - return x.DeviationFindingResolved + if x, ok := x.Payload.(*Event_PlanDifferenceResolved); ok { + return x.PlanDifferenceResolved } } return nil @@ -8092,10 +8092,10 @@ func (x *Event) GetPullRequestLinkedToAgentRun() *PullRequestLinkedToAgentRun { return nil } -func (x *Event) GetWorkflowIngested() *WorkflowIngested { +func (x *Event) GetLoopIngested() *LoopIngested { if x != nil { - if x, ok := x.Payload.(*Event_WorkflowIngested); ok { - return x.WorkflowIngested + if x, ok := x.Payload.(*Event_LoopIngested); ok { + return x.LoopIngested } } return nil @@ -8299,19 +8299,19 @@ func (x *Event) GetComposioTriggerMessage() *ComposioTriggerMessage { return nil } -func (x *Event) GetDeviationFindingAcknowledged() *DeviationFindingAcknowledged { +func (x *Event) GetPlanDifferenceAcknowledged() *PlanDifferenceAcknowledged { if x != nil { - if x, ok := x.Payload.(*Event_DeviationFindingAcknowledged); ok { - return x.DeviationFindingAcknowledged + if x, ok := x.Payload.(*Event_PlanDifferenceAcknowledged); ok { + return x.PlanDifferenceAcknowledged } } return nil } -func (x *Event) GetDeviationFindingAcknowledgementCleared() *DeviationFindingAcknowledgementCleared { +func (x *Event) GetPlanDifferenceAcknowledgementCleared() *PlanDifferenceAcknowledgementCleared { if x != nil { - if x, ok := x.Payload.(*Event_DeviationFindingAcknowledgementCleared); ok { - return x.DeviationFindingAcknowledgementCleared + if x, ok := x.Payload.(*Event_PlanDifferenceAcknowledgementCleared); ok { + return x.PlanDifferenceAcknowledgementCleared } } return nil @@ -8425,36 +8425,36 @@ type Event_OrganisationAppInstallationDeleted struct { OrganisationAppInstallationDeleted *OrganisationAppInstallationDeleted `protobuf:"bytes,26,opt,name=organisation_app_installation_deleted,json=organisationAppInstallationDeleted,proto3,oneof"` } -type Event_DeviationAnalysisStarted struct { - DeviationAnalysisStarted *DeviationAnalysisStarted `protobuf:"bytes,27,opt,name=deviation_analysis_started,json=deviationAnalysisStarted,proto3,oneof"` +type Event_PlanCheckStarted struct { + PlanCheckStarted *PlanCheckStarted `protobuf:"bytes,27,opt,name=plan_check_started,json=planCheckStarted,proto3,oneof"` } -type Event_DeviationAnalysisCompleted struct { - DeviationAnalysisCompleted *DeviationAnalysisCompleted `protobuf:"bytes,28,opt,name=deviation_analysis_completed,json=deviationAnalysisCompleted,proto3,oneof"` +type Event_PlanCheckCompleted struct { + PlanCheckCompleted *PlanCheckCompleted `protobuf:"bytes,28,opt,name=plan_check_completed,json=planCheckCompleted,proto3,oneof"` } -type Event_DeviationAnalysisFailed struct { - DeviationAnalysisFailed *DeviationAnalysisFailed `protobuf:"bytes,29,opt,name=deviation_analysis_failed,json=deviationAnalysisFailed,proto3,oneof"` +type Event_PlanCheckFailed struct { + PlanCheckFailed *PlanCheckFailed `protobuf:"bytes,29,opt,name=plan_check_failed,json=planCheckFailed,proto3,oneof"` } -type Event_WorkflowRunQueued struct { - WorkflowRunQueued *WorkflowRunQueued `protobuf:"bytes,30,opt,name=workflow_run_queued,json=workflowRunQueued,proto3,oneof"` +type Event_LoopRunQueued struct { + LoopRunQueued *LoopRunQueued `protobuf:"bytes,30,opt,name=loop_run_queued,json=loopRunQueued,proto3,oneof"` } -type Event_WorkflowRunStarted struct { - WorkflowRunStarted *WorkflowRunStarted `protobuf:"bytes,31,opt,name=workflow_run_started,json=workflowRunStarted,proto3,oneof"` +type Event_LoopRunStarted struct { + LoopRunStarted *LoopRunStarted `protobuf:"bytes,31,opt,name=loop_run_started,json=loopRunStarted,proto3,oneof"` } -type Event_WorkflowRunCompleted struct { - WorkflowRunCompleted *WorkflowRunCompleted `protobuf:"bytes,32,opt,name=workflow_run_completed,json=workflowRunCompleted,proto3,oneof"` +type Event_LoopRunCompleted struct { + LoopRunCompleted *LoopRunCompleted `protobuf:"bytes,32,opt,name=loop_run_completed,json=loopRunCompleted,proto3,oneof"` } -type Event_WorkflowRunFailed struct { - WorkflowRunFailed *WorkflowRunFailed `protobuf:"bytes,33,opt,name=workflow_run_failed,json=workflowRunFailed,proto3,oneof"` +type Event_LoopRunFailed struct { + LoopRunFailed *LoopRunFailed `protobuf:"bytes,33,opt,name=loop_run_failed,json=loopRunFailed,proto3,oneof"` } -type Event_WorkflowRunCancelled struct { - WorkflowRunCancelled *WorkflowRunCancelled `protobuf:"bytes,34,opt,name=workflow_run_cancelled,json=workflowRunCancelled,proto3,oneof"` +type Event_LoopRunCancelled struct { + LoopRunCancelled *LoopRunCancelled `protobuf:"bytes,34,opt,name=loop_run_cancelled,json=loopRunCancelled,proto3,oneof"` } type Event_ReviewNoEligibleReviewer struct { @@ -8532,16 +8532,16 @@ type Event_PullRequestCommentCreated struct { PullRequestCommentCreated *PullRequestCommentCreated `protobuf:"bytes,49,opt,name=pull_request_comment_created,json=pullRequestCommentCreated,proto3,oneof"` } -type Event_DeviationFindingRecorded struct { - DeviationFindingRecorded *DeviationFindingRecorded `protobuf:"bytes,50,opt,name=deviation_finding_recorded,json=deviationFindingRecorded,proto3,oneof"` +type Event_PlanDifferenceRecorded struct { + PlanDifferenceRecorded *PlanDifferenceRecorded `protobuf:"bytes,50,opt,name=plan_difference_recorded,json=planDifferenceRecorded,proto3,oneof"` } -type Event_DeviationFindingUpdated struct { - DeviationFindingUpdated *DeviationFindingUpdated `protobuf:"bytes,51,opt,name=deviation_finding_updated,json=deviationFindingUpdated,proto3,oneof"` +type Event_PlanDifferenceUpdated struct { + PlanDifferenceUpdated *PlanDifferenceUpdated `protobuf:"bytes,51,opt,name=plan_difference_updated,json=planDifferenceUpdated,proto3,oneof"` } -type Event_DeviationFindingResolved struct { - DeviationFindingResolved *DeviationFindingResolved `protobuf:"bytes,52,opt,name=deviation_finding_resolved,json=deviationFindingResolved,proto3,oneof"` +type Event_PlanDifferenceResolved struct { + PlanDifferenceResolved *PlanDifferenceResolved `protobuf:"bytes,52,opt,name=plan_difference_resolved,json=planDifferenceResolved,proto3,oneof"` } type Event_AgentRunDispatched struct { @@ -8580,11 +8580,11 @@ type Event_PullRequestLinkedToAgentRun struct { PullRequestLinkedToAgentRun *PullRequestLinkedToAgentRun `protobuf:"bytes,60,opt,name=pull_request_linked_to_agent_run,json=pullRequestLinkedToAgentRun,proto3,oneof"` } -type Event_WorkflowIngested struct { - // WorkflowIngested records the outcome of ingesting one +type Event_LoopIngested struct { + // LoopIngested records the outcome of ingesting one // .brent/workflows/*.md file. Internal audit trail only — must not // appear in customer workflow on: docs (no workflow should match it). - WorkflowIngested *WorkflowIngested `protobuf:"bytes,61,opt,name=workflow_ingested,json=workflowIngested,proto3,oneof"` + LoopIngested *LoopIngested `protobuf:"bytes,61,opt,name=loop_ingested,json=loopIngested,proto3,oneof"` } type Event_PullRequestReviewRequested struct { @@ -8701,12 +8701,12 @@ type Event_ComposioTriggerMessage struct { ComposioTriggerMessage *ComposioTriggerMessage `protobuf:"bytes,87,opt,name=composio_trigger_message,json=composioTriggerMessage,proto3,oneof"` } -type Event_DeviationFindingAcknowledged struct { - DeviationFindingAcknowledged *DeviationFindingAcknowledged `protobuf:"bytes,88,opt,name=deviation_finding_acknowledged,json=deviationFindingAcknowledged,proto3,oneof"` +type Event_PlanDifferenceAcknowledged struct { + PlanDifferenceAcknowledged *PlanDifferenceAcknowledged `protobuf:"bytes,88,opt,name=plan_difference_acknowledged,json=planDifferenceAcknowledged,proto3,oneof"` } -type Event_DeviationFindingAcknowledgementCleared struct { - DeviationFindingAcknowledgementCleared *DeviationFindingAcknowledgementCleared `protobuf:"bytes,89,opt,name=deviation_finding_acknowledgement_cleared,json=deviationFindingAcknowledgementCleared,proto3,oneof"` +type Event_PlanDifferenceAcknowledgementCleared struct { + PlanDifferenceAcknowledgementCleared *PlanDifferenceAcknowledgementCleared `protobuf:"bytes,89,opt,name=plan_difference_acknowledgement_cleared,json=planDifferenceAcknowledgementCleared,proto3,oneof"` } type Event_PlanReviewPolicyDecided struct { @@ -8768,21 +8768,21 @@ func (*Event_OrganisationAppInstallationUpserted) isEvent_Payload() {} func (*Event_OrganisationAppInstallationDeleted) isEvent_Payload() {} -func (*Event_DeviationAnalysisStarted) isEvent_Payload() {} +func (*Event_PlanCheckStarted) isEvent_Payload() {} -func (*Event_DeviationAnalysisCompleted) isEvent_Payload() {} +func (*Event_PlanCheckCompleted) isEvent_Payload() {} -func (*Event_DeviationAnalysisFailed) isEvent_Payload() {} +func (*Event_PlanCheckFailed) isEvent_Payload() {} -func (*Event_WorkflowRunQueued) isEvent_Payload() {} +func (*Event_LoopRunQueued) isEvent_Payload() {} -func (*Event_WorkflowRunStarted) isEvent_Payload() {} +func (*Event_LoopRunStarted) isEvent_Payload() {} -func (*Event_WorkflowRunCompleted) isEvent_Payload() {} +func (*Event_LoopRunCompleted) isEvent_Payload() {} -func (*Event_WorkflowRunFailed) isEvent_Payload() {} +func (*Event_LoopRunFailed) isEvent_Payload() {} -func (*Event_WorkflowRunCancelled) isEvent_Payload() {} +func (*Event_LoopRunCancelled) isEvent_Payload() {} func (*Event_ReviewNoEligibleReviewer) isEvent_Payload() {} @@ -8814,11 +8814,11 @@ func (*Event_LinearWebhook) isEvent_Payload() {} func (*Event_PullRequestCommentCreated) isEvent_Payload() {} -func (*Event_DeviationFindingRecorded) isEvent_Payload() {} +func (*Event_PlanDifferenceRecorded) isEvent_Payload() {} -func (*Event_DeviationFindingUpdated) isEvent_Payload() {} +func (*Event_PlanDifferenceUpdated) isEvent_Payload() {} -func (*Event_DeviationFindingResolved) isEvent_Payload() {} +func (*Event_PlanDifferenceResolved) isEvent_Payload() {} func (*Event_AgentRunDispatched) isEvent_Payload() {} @@ -8838,7 +8838,7 @@ func (*Event_AgentRunGatePassed) isEvent_Payload() {} func (*Event_PullRequestLinkedToAgentRun) isEvent_Payload() {} -func (*Event_WorkflowIngested) isEvent_Payload() {} +func (*Event_LoopIngested) isEvent_Payload() {} func (*Event_PullRequestReviewRequested) isEvent_Payload() {} @@ -8884,9 +8884,9 @@ func (*Event_WorkspaceMemberLeft) isEvent_Payload() {} func (*Event_ComposioTriggerMessage) isEvent_Payload() {} -func (*Event_DeviationFindingAcknowledged) isEvent_Payload() {} +func (*Event_PlanDifferenceAcknowledged) isEvent_Payload() {} -func (*Event_DeviationFindingAcknowledgementCleared) isEvent_Payload() {} +func (*Event_PlanDifferenceAcknowledgementCleared) isEvent_Payload() {} func (*Event_PlanReviewPolicyDecided) isEvent_Payload() {} @@ -9141,7 +9141,7 @@ type PlanUpdated struct { // carried so workflow CEL reads plan.friendly_id without a lookup. PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` // Field names whose values changed in this update (e.g. - // ["title", "content"]). Workflows match on this to skip irrelevant + // ["title", "content"]). Loops match on this to skip irrelevant // updates cheaply, e.g. `"content" in event.plan_updated.changed_fields`. ChangedFields []string `protobuf:"bytes,2,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` // Previous values for the changed fields only, keyed by field name. @@ -9607,7 +9607,7 @@ type ReviewSubmitted struct { // carried so workflow CEL reads plan.friendly_id without a lookup. PlanFriendlyId string `protobuf:"bytes,9,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` // Verdict-driven status: "approved" or "rejected". Mirrors - // reviews.Review.Status. Workflows typically filter on this, e.g. + // reviews.Review.Status. Loops typically filter on this, e.g. // `match: event.payload.status == "approved"`. Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // The reviewer's free-text verdict comment. @@ -9708,7 +9708,7 @@ func (x *ReviewSubmitted) GetReviewerPrincipalId() string { // // The actor on the surrounding Event is the calling principal (the would- // be requester). The object reference points at the plan they tried to -// route. Workflows can match on this to drop a soft notice into the SPA +// route. Loops can match on this to drop a soft notice into the SPA // — "Invite a teammate" — rather than letting the failed tool call sit // silently in chat history. // @@ -10461,7 +10461,7 @@ type WorkspaceMemberJoined struct { PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` // "member" | "admin" - Source JoinSource `protobuf:"varint,5,opt,name=source,proto3,enum=brent.JoinSource" json:"source,omitempty"` // JOIN_SOURCE_DOMAIN | JOIN_SOURCE_INVITE + Source JoinSource `protobuf:"varint,5,opt,name=source,proto3,enum=until.JoinSource" json:"source,omitempty"` // JOIN_SOURCE_DOMAIN | JOIN_SOURCE_INVITE unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -13533,35 +13533,35 @@ func (x *PullRequestCommentCreated) GetAuthorIsBot() bool { return false } -// DeviationAnalysisStarted fires when deviationanalyses.Store.BeginAnalysis +// PlanCheckStarted fires when deviationanalyses.Store.BeginAnalysis // inserts a fresh analysis row (idempotent re-calls do not re-emit). -type DeviationAnalysisStarted struct { +type PlanCheckStarted struct { state protoimpl.MessageState `protogen:"open.v1"` - AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - WorkflowRunId string `protobuf:"bytes,5,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` + LoopRunId string `protobuf:"bytes,5,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` StartedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *DeviationAnalysisStarted) Reset() { - *x = DeviationAnalysisStarted{} +func (x *PlanCheckStarted) Reset() { + *x = PlanCheckStarted{} mi := &file_brent_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationAnalysisStarted) String() string { +func (x *PlanCheckStarted) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationAnalysisStarted) ProtoMessage() {} +func (*PlanCheckStarted) ProtoMessage() {} -func (x *DeviationAnalysisStarted) ProtoReflect() protoreflect.Message { +func (x *PlanCheckStarted) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13573,64 +13573,64 @@ func (x *DeviationAnalysisStarted) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationAnalysisStarted.ProtoReflect.Descriptor instead. -func (*DeviationAnalysisStarted) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanCheckStarted.ProtoReflect.Descriptor instead. +func (*PlanCheckStarted) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{144} } -func (x *DeviationAnalysisStarted) GetAnalysisId() string { +func (x *PlanCheckStarted) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationAnalysisStarted) GetPrId() string { +func (x *PlanCheckStarted) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *DeviationAnalysisStarted) GetPlanUuid() string { +func (x *PlanCheckStarted) GetPlanUuid() string { if x != nil { return x.PlanUuid } return "" } -func (x *DeviationAnalysisStarted) GetPlanFriendlyId() string { +func (x *PlanCheckStarted) GetPlanFriendlyId() string { if x != nil { return x.PlanFriendlyId } return "" } -func (x *DeviationAnalysisStarted) GetHeadSha() string { +func (x *PlanCheckStarted) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *DeviationAnalysisStarted) GetWorkflowRunId() string { +func (x *PlanCheckStarted) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } -func (x *DeviationAnalysisStarted) GetStartedAt() *timestamppb.Timestamp { +func (x *PlanCheckStarted) GetStartedAt() *timestamppb.Timestamp { if x != nil { return x.StartedAt } return nil } -// DeviationAnalysisCompleted fires when deviationanalyses.Store.CompleteAnalysis +// PlanCheckCompleted fires when deviationanalyses.Store.CompleteAnalysis // commits. check_conclusion and findings carry the four-state model for // workflow branching (success | failure | neutral). -type FindingSummary struct { +type DifferenceSummary struct { state protoimpl.MessageState `protogen:"open.v1"` Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` Acknowledged bool `protobuf:"varint,2,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"` @@ -13641,20 +13641,20 @@ type FindingSummary struct { sizeCache protoimpl.SizeCache } -func (x *FindingSummary) Reset() { - *x = FindingSummary{} +func (x *DifferenceSummary) Reset() { + *x = DifferenceSummary{} mi := &file_brent_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *FindingSummary) String() string { +func (x *DifferenceSummary) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FindingSummary) ProtoMessage() {} +func (*DifferenceSummary) ProtoMessage() {} -func (x *FindingSummary) ProtoReflect() protoreflect.Message { +func (x *DifferenceSummary) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13666,76 +13666,76 @@ func (x *FindingSummary) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FindingSummary.ProtoReflect.Descriptor instead. -func (*FindingSummary) Descriptor() ([]byte, []int) { +// Deprecated: Use DifferenceSummary.ProtoReflect.Descriptor instead. +func (*DifferenceSummary) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{145} } -func (x *FindingSummary) GetKind() string { +func (x *DifferenceSummary) GetKind() string { if x != nil { return x.Kind } return "" } -func (x *FindingSummary) GetAcknowledged() bool { +func (x *DifferenceSummary) GetAcknowledged() bool { if x != nil { return x.Acknowledged } return false } -func (x *FindingSummary) GetAckSource() string { +func (x *DifferenceSummary) GetAckSource() string { if x != nil { return x.AckSource } return "" } -func (x *FindingSummary) GetAckRef() string { +func (x *DifferenceSummary) GetAckRef() string { if x != nil { return x.AckRef } return "" } -func (x *FindingSummary) GetAckReasoningQuote() string { +func (x *DifferenceSummary) GetAckReasoningQuote() string { if x != nil { return x.AckReasoningQuote } return "" } -type DeviationAnalysisCompleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` - PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,12,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - FindingCountByTag map[string]int64 `protobuf:"bytes,7,rep,name=finding_count_by_tag,json=findingCountByTag,proto3" json:"finding_count_by_tag,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` - CheckConclusion string `protobuf:"bytes,9,opt,name=check_conclusion,json=checkConclusion,proto3" json:"check_conclusion,omitempty"` - AppliedRedFindingKinds []string `protobuf:"bytes,10,rep,name=applied_red_finding_kinds,json=appliedRedFindingKinds,proto3" json:"applied_red_finding_kinds,omitempty"` - Findings []*FindingSummary `protobuf:"bytes,11,rep,name=findings,proto3" json:"findings,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type PlanCheckCompleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` + PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` + PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` + PlanFriendlyId string `protobuf:"bytes,12,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` + HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` + DifferenceCountByTag map[string]int64 `protobuf:"bytes,7,rep,name=difference_count_by_tag,json=differenceCountByTag,proto3" json:"difference_count_by_tag,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` + PlanCheckOutcome string `protobuf:"bytes,9,opt,name=plan_check_outcome,json=planCheckOutcome,proto3" json:"plan_check_outcome,omitempty"` + AppliedBlockingDifferenceTags []string `protobuf:"bytes,10,rep,name=applied_blocking_difference_tags,json=appliedBlockingDifferenceTags,proto3" json:"applied_blocking_difference_tags,omitempty"` + Differences []*DifferenceSummary `protobuf:"bytes,11,rep,name=differences,proto3" json:"differences,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DeviationAnalysisCompleted) Reset() { - *x = DeviationAnalysisCompleted{} +func (x *PlanCheckCompleted) Reset() { + *x = PlanCheckCompleted{} mi := &file_brent_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationAnalysisCompleted) String() string { +func (x *PlanCheckCompleted) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationAnalysisCompleted) ProtoMessage() {} +func (*PlanCheckCompleted) ProtoMessage() {} -func (x *DeviationAnalysisCompleted) ProtoReflect() protoreflect.Message { +func (x *PlanCheckCompleted) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13747,85 +13747,85 @@ func (x *DeviationAnalysisCompleted) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationAnalysisCompleted.ProtoReflect.Descriptor instead. -func (*DeviationAnalysisCompleted) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanCheckCompleted.ProtoReflect.Descriptor instead. +func (*PlanCheckCompleted) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{146} } -func (x *DeviationAnalysisCompleted) GetAnalysisId() string { +func (x *PlanCheckCompleted) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationAnalysisCompleted) GetPrId() string { +func (x *PlanCheckCompleted) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *DeviationAnalysisCompleted) GetPlanUuid() string { +func (x *PlanCheckCompleted) GetPlanUuid() string { if x != nil { return x.PlanUuid } return "" } -func (x *DeviationAnalysisCompleted) GetPlanFriendlyId() string { +func (x *PlanCheckCompleted) GetPlanFriendlyId() string { if x != nil { return x.PlanFriendlyId } return "" } -func (x *DeviationAnalysisCompleted) GetHeadSha() string { +func (x *PlanCheckCompleted) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *DeviationAnalysisCompleted) GetFindingCountByTag() map[string]int64 { +func (x *PlanCheckCompleted) GetDifferenceCountByTag() map[string]int64 { if x != nil { - return x.FindingCountByTag + return x.DifferenceCountByTag } return nil } -func (x *DeviationAnalysisCompleted) GetCompletedAt() *timestamppb.Timestamp { +func (x *PlanCheckCompleted) GetCompletedAt() *timestamppb.Timestamp { if x != nil { return x.CompletedAt } return nil } -func (x *DeviationAnalysisCompleted) GetCheckConclusion() string { +func (x *PlanCheckCompleted) GetPlanCheckOutcome() string { if x != nil { - return x.CheckConclusion + return x.PlanCheckOutcome } return "" } -func (x *DeviationAnalysisCompleted) GetAppliedRedFindingKinds() []string { +func (x *PlanCheckCompleted) GetAppliedBlockingDifferenceTags() []string { if x != nil { - return x.AppliedRedFindingKinds + return x.AppliedBlockingDifferenceTags } return nil } -func (x *DeviationAnalysisCompleted) GetFindings() []*FindingSummary { +func (x *PlanCheckCompleted) GetDifferences() []*DifferenceSummary { if x != nil { - return x.Findings + return x.Differences } return nil } -// DeviationAnalysisFailed fires when deviationanalyses.Store.FailAnalysis commits. -type DeviationAnalysisFailed struct { +// PlanCheckFailed fires when deviationanalyses.Store.FailAnalysis commits. +type PlanCheckFailed struct { state protoimpl.MessageState `protogen:"open.v1"` - AnalysisId string `protobuf:"bytes,1,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` @@ -13836,20 +13836,20 @@ type DeviationAnalysisFailed struct { sizeCache protoimpl.SizeCache } -func (x *DeviationAnalysisFailed) Reset() { - *x = DeviationAnalysisFailed{} +func (x *PlanCheckFailed) Reset() { + *x = PlanCheckFailed{} mi := &file_brent_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationAnalysisFailed) String() string { +func (x *PlanCheckFailed) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationAnalysisFailed) ProtoMessage() {} +func (*PlanCheckFailed) ProtoMessage() {} -func (x *DeviationAnalysisFailed) ProtoReflect() protoreflect.Message { +func (x *PlanCheckFailed) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13861,86 +13861,86 @@ func (x *DeviationAnalysisFailed) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationAnalysisFailed.ProtoReflect.Descriptor instead. -func (*DeviationAnalysisFailed) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanCheckFailed.ProtoReflect.Descriptor instead. +func (*PlanCheckFailed) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{147} } -func (x *DeviationAnalysisFailed) GetAnalysisId() string { +func (x *PlanCheckFailed) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationAnalysisFailed) GetPrId() string { +func (x *PlanCheckFailed) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *DeviationAnalysisFailed) GetPlanUuid() string { +func (x *PlanCheckFailed) GetPlanUuid() string { if x != nil { return x.PlanUuid } return "" } -func (x *DeviationAnalysisFailed) GetPlanFriendlyId() string { +func (x *PlanCheckFailed) GetPlanFriendlyId() string { if x != nil { return x.PlanFriendlyId } return "" } -func (x *DeviationAnalysisFailed) GetHeadSha() string { +func (x *PlanCheckFailed) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *DeviationAnalysisFailed) GetReason() string { +func (x *PlanCheckFailed) GetReason() string { if x != nil { return x.Reason } return "" } -func (x *DeviationAnalysisFailed) GetFailedAt() *timestamppb.Timestamp { +func (x *PlanCheckFailed) GetFailedAt() *timestamppb.Timestamp { if x != nil { return x.FailedAt } return nil } -// DeviationFindingRecorded fires when deviationanalyses.Store.RecordFinding commits. -type DeviationFindingRecorded struct { - state protoimpl.MessageState `protogen:"open.v1"` - FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` - AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` - Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` - RecordedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=recorded_at,json=recordedAt,proto3" json:"recorded_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +// PlanDifferenceRecorded fires when deviationanalyses.Store.RecordFinding commits. +type PlanDifferenceRecorded struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` + PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` + RecordedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=recorded_at,json=recordedAt,proto3" json:"recorded_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DeviationFindingRecorded) Reset() { - *x = DeviationFindingRecorded{} +func (x *PlanDifferenceRecorded) Reset() { + *x = PlanDifferenceRecorded{} mi := &file_brent_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationFindingRecorded) String() string { +func (x *PlanDifferenceRecorded) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationFindingRecorded) ProtoMessage() {} +func (*PlanDifferenceRecorded) ProtoMessage() {} -func (x *DeviationFindingRecorded) ProtoReflect() protoreflect.Message { +func (x *PlanDifferenceRecorded) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13952,58 +13952,58 @@ func (x *DeviationFindingRecorded) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationFindingRecorded.ProtoReflect.Descriptor instead. -func (*DeviationFindingRecorded) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanDifferenceRecorded.ProtoReflect.Descriptor instead. +func (*PlanDifferenceRecorded) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{148} } -func (x *DeviationFindingRecorded) GetFindingId() string { +func (x *PlanDifferenceRecorded) GetPlanDifferenceId() string { if x != nil { - return x.FindingId + return x.PlanDifferenceId } return "" } -func (x *DeviationFindingRecorded) GetAnalysisId() string { +func (x *PlanDifferenceRecorded) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationFindingRecorded) GetTag() string { +func (x *PlanDifferenceRecorded) GetTag() string { if x != nil { return x.Tag } return "" } -func (x *DeviationFindingRecorded) GetSummary() string { +func (x *PlanDifferenceRecorded) GetSummary() string { if x != nil { return x.Summary } return "" } -func (x *DeviationFindingRecorded) GetRecordedAt() *timestamppb.Timestamp { +func (x *PlanDifferenceRecorded) GetRecordedAt() *timestamppb.Timestamp { if x != nil { return x.RecordedAt } return nil } -// DeviationFindingUpdated fires when deviationanalyses.Store.UpdateFinding +// PlanDifferenceUpdated fires when deviationanalyses.Store.UpdateFinding // commits. Routing snapshot fields (tag, summary) remain on the message; // field diffs use the uniform changed_fields / previous / after triple // (changed fields only). `after` captures post-update values at emission // time — not live finding state. -type DeviationFindingUpdated struct { - state protoimpl.MessageState `protogen:"open.v1"` - FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` - AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` - Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` - ChangedFields []string `protobuf:"bytes,5,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` +type PlanDifferenceUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` + PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` + ChangedFields []string `protobuf:"bytes,5,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` // Previous values for changed_fields only, keyed by field name. Previous map[string]*structpb.Value `protobuf:"bytes,6,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Post-update values for changed_fields only. Frozen at emission time. @@ -14012,20 +14012,20 @@ type DeviationFindingUpdated struct { sizeCache protoimpl.SizeCache } -func (x *DeviationFindingUpdated) Reset() { - *x = DeviationFindingUpdated{} +func (x *PlanDifferenceUpdated) Reset() { + *x = PlanDifferenceUpdated{} mi := &file_brent_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationFindingUpdated) String() string { +func (x *PlanDifferenceUpdated) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationFindingUpdated) ProtoMessage() {} +func (*PlanDifferenceUpdated) ProtoMessage() {} -func (x *DeviationFindingUpdated) ProtoReflect() protoreflect.Message { +func (x *PlanDifferenceUpdated) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14037,65 +14037,65 @@ func (x *DeviationFindingUpdated) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationFindingUpdated.ProtoReflect.Descriptor instead. -func (*DeviationFindingUpdated) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanDifferenceUpdated.ProtoReflect.Descriptor instead. +func (*PlanDifferenceUpdated) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{149} } -func (x *DeviationFindingUpdated) GetFindingId() string { +func (x *PlanDifferenceUpdated) GetPlanDifferenceId() string { if x != nil { - return x.FindingId + return x.PlanDifferenceId } return "" } -func (x *DeviationFindingUpdated) GetAnalysisId() string { +func (x *PlanDifferenceUpdated) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationFindingUpdated) GetTag() string { +func (x *PlanDifferenceUpdated) GetTag() string { if x != nil { return x.Tag } return "" } -func (x *DeviationFindingUpdated) GetSummary() string { +func (x *PlanDifferenceUpdated) GetSummary() string { if x != nil { return x.Summary } return "" } -func (x *DeviationFindingUpdated) GetChangedFields() []string { +func (x *PlanDifferenceUpdated) GetChangedFields() []string { if x != nil { return x.ChangedFields } return nil } -func (x *DeviationFindingUpdated) GetPrevious() map[string]*structpb.Value { +func (x *PlanDifferenceUpdated) GetPrevious() map[string]*structpb.Value { if x != nil { return x.Previous } return nil } -func (x *DeviationFindingUpdated) GetAfter() map[string]*structpb.Value { +func (x *PlanDifferenceUpdated) GetAfter() map[string]*structpb.Value { if x != nil { return x.After } return nil } -// DeviationFindingResolved fires when deviationanalyses.Store.ResolveFinding commits. -type DeviationFindingResolved struct { +// PlanDifferenceResolved fires when deviationanalyses.Store.ResolveFinding commits. +type PlanDifferenceResolved struct { state protoimpl.MessageState `protogen:"open.v1"` - FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` - AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` + PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` + PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` ResolutionCommit string `protobuf:"bytes,5,opt,name=resolution_commit,json=resolutionCommit,proto3" json:"resolution_commit,omitempty"` @@ -14104,20 +14104,20 @@ type DeviationFindingResolved struct { sizeCache protoimpl.SizeCache } -func (x *DeviationFindingResolved) Reset() { - *x = DeviationFindingResolved{} +func (x *PlanDifferenceResolved) Reset() { + *x = PlanDifferenceResolved{} mi := &file_brent_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationFindingResolved) String() string { +func (x *PlanDifferenceResolved) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationFindingResolved) ProtoMessage() {} +func (*PlanDifferenceResolved) ProtoMessage() {} -func (x *DeviationFindingResolved) ProtoReflect() protoreflect.Message { +func (x *PlanDifferenceResolved) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14129,60 +14129,60 @@ func (x *DeviationFindingResolved) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationFindingResolved.ProtoReflect.Descriptor instead. -func (*DeviationFindingResolved) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanDifferenceResolved.ProtoReflect.Descriptor instead. +func (*PlanDifferenceResolved) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{150} } -func (x *DeviationFindingResolved) GetFindingId() string { +func (x *PlanDifferenceResolved) GetPlanDifferenceId() string { if x != nil { - return x.FindingId + return x.PlanDifferenceId } return "" } -func (x *DeviationFindingResolved) GetAnalysisId() string { +func (x *PlanDifferenceResolved) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationFindingResolved) GetTag() string { +func (x *PlanDifferenceResolved) GetTag() string { if x != nil { return x.Tag } return "" } -func (x *DeviationFindingResolved) GetReason() string { +func (x *PlanDifferenceResolved) GetReason() string { if x != nil { return x.Reason } return "" } -func (x *DeviationFindingResolved) GetResolutionCommit() string { +func (x *PlanDifferenceResolved) GetResolutionCommit() string { if x != nil { return x.ResolutionCommit } return "" } -func (x *DeviationFindingResolved) GetResolvedAt() *timestamppb.Timestamp { +func (x *PlanDifferenceResolved) GetResolvedAt() *timestamppb.Timestamp { if x != nil { return x.ResolvedAt } return nil } -// DeviationFindingAcknowledged fires when a finding transitions from +// PlanDifferenceAcknowledged fires when a finding transitions from // unacknowledged to acknowledged. -type DeviationFindingAcknowledged struct { - state protoimpl.MessageState `protogen:"open.v1"` - FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` - AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` +type PlanDifferenceAcknowledged struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` + PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` // Empty for legacy findings created before slug support. Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` // issue_comment | review_comment | commit_message | pr_description. @@ -14194,20 +14194,20 @@ type DeviationFindingAcknowledged struct { sizeCache protoimpl.SizeCache } -func (x *DeviationFindingAcknowledged) Reset() { - *x = DeviationFindingAcknowledged{} +func (x *PlanDifferenceAcknowledged) Reset() { + *x = PlanDifferenceAcknowledged{} mi := &file_brent_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationFindingAcknowledged) String() string { +func (x *PlanDifferenceAcknowledged) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationFindingAcknowledged) ProtoMessage() {} +func (*PlanDifferenceAcknowledged) ProtoMessage() {} -func (x *DeviationFindingAcknowledged) ProtoReflect() protoreflect.Message { +func (x *PlanDifferenceAcknowledged) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14219,75 +14219,75 @@ func (x *DeviationFindingAcknowledged) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviationFindingAcknowledged.ProtoReflect.Descriptor instead. -func (*DeviationFindingAcknowledged) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanDifferenceAcknowledged.ProtoReflect.Descriptor instead. +func (*PlanDifferenceAcknowledged) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{151} } -func (x *DeviationFindingAcknowledged) GetFindingId() string { +func (x *PlanDifferenceAcknowledged) GetPlanDifferenceId() string { if x != nil { - return x.FindingId + return x.PlanDifferenceId } return "" } -func (x *DeviationFindingAcknowledged) GetAnalysisId() string { +func (x *PlanDifferenceAcknowledged) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationFindingAcknowledged) GetTag() string { +func (x *PlanDifferenceAcknowledged) GetTag() string { if x != nil { return x.Tag } return "" } -func (x *DeviationFindingAcknowledged) GetSlug() string { +func (x *PlanDifferenceAcknowledged) GetSlug() string { if x != nil { return x.Slug } return "" } -func (x *DeviationFindingAcknowledged) GetAckSource() string { +func (x *PlanDifferenceAcknowledged) GetAckSource() string { if x != nil { return x.AckSource } return "" } -func (x *DeviationFindingAcknowledged) GetAckRef() string { +func (x *PlanDifferenceAcknowledged) GetAckRef() string { if x != nil { return x.AckRef } return "" } -func (x *DeviationFindingAcknowledged) GetAckReasoningQuote() string { +func (x *PlanDifferenceAcknowledged) GetAckReasoningQuote() string { if x != nil { return x.AckReasoningQuote } return "" } -func (x *DeviationFindingAcknowledged) GetAcknowledgedAt() *timestamppb.Timestamp { +func (x *PlanDifferenceAcknowledged) GetAcknowledgedAt() *timestamppb.Timestamp { if x != nil { return x.AcknowledgedAt } return nil } -// DeviationFindingAcknowledgementCleared fires when a finding transitions +// PlanDifferenceAcknowledgementCleared fires when a finding transitions // from acknowledged to unacknowledged. Acknowledgement fields preserve the // provenance that was removed by the mutation. -type DeviationFindingAcknowledgementCleared struct { - state protoimpl.MessageState `protogen:"open.v1"` - FindingId string `protobuf:"bytes,1,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"` - AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` +type PlanDifferenceAcknowledgementCleared struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` + PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` // Empty for legacy findings created before slug support. Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` AckSource string `protobuf:"bytes,5,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` @@ -14298,20 +14298,20 @@ type DeviationFindingAcknowledgementCleared struct { sizeCache protoimpl.SizeCache } -func (x *DeviationFindingAcknowledgementCleared) Reset() { - *x = DeviationFindingAcknowledgementCleared{} +func (x *PlanDifferenceAcknowledgementCleared) Reset() { + *x = PlanDifferenceAcknowledgementCleared{} mi := &file_brent_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *DeviationFindingAcknowledgementCleared) String() string { +func (x *PlanDifferenceAcknowledgementCleared) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviationFindingAcknowledgementCleared) ProtoMessage() {} +func (*PlanDifferenceAcknowledgementCleared) ProtoMessage() {} -func (x *DeviationFindingAcknowledgementCleared) ProtoReflect() protoreflect.Message { +func (x *PlanDifferenceAcknowledgementCleared) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[152] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14323,61 +14323,61 @@ func (x *DeviationFindingAcknowledgementCleared) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use DeviationFindingAcknowledgementCleared.ProtoReflect.Descriptor instead. -func (*DeviationFindingAcknowledgementCleared) Descriptor() ([]byte, []int) { +// Deprecated: Use PlanDifferenceAcknowledgementCleared.ProtoReflect.Descriptor instead. +func (*PlanDifferenceAcknowledgementCleared) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{152} } -func (x *DeviationFindingAcknowledgementCleared) GetFindingId() string { +func (x *PlanDifferenceAcknowledgementCleared) GetPlanDifferenceId() string { if x != nil { - return x.FindingId + return x.PlanDifferenceId } return "" } -func (x *DeviationFindingAcknowledgementCleared) GetAnalysisId() string { +func (x *PlanDifferenceAcknowledgementCleared) GetPlanCheckId() string { if x != nil { - return x.AnalysisId + return x.PlanCheckId } return "" } -func (x *DeviationFindingAcknowledgementCleared) GetTag() string { +func (x *PlanDifferenceAcknowledgementCleared) GetTag() string { if x != nil { return x.Tag } return "" } -func (x *DeviationFindingAcknowledgementCleared) GetSlug() string { +func (x *PlanDifferenceAcknowledgementCleared) GetSlug() string { if x != nil { return x.Slug } return "" } -func (x *DeviationFindingAcknowledgementCleared) GetAckSource() string { +func (x *PlanDifferenceAcknowledgementCleared) GetAckSource() string { if x != nil { return x.AckSource } return "" } -func (x *DeviationFindingAcknowledgementCleared) GetAckRef() string { +func (x *PlanDifferenceAcknowledgementCleared) GetAckRef() string { if x != nil { return x.AckRef } return "" } -func (x *DeviationFindingAcknowledgementCleared) GetAckReasoningQuote() string { +func (x *PlanDifferenceAcknowledgementCleared) GetAckReasoningQuote() string { if x != nil { return x.AckReasoningQuote } return "" } -func (x *DeviationFindingAcknowledgementCleared) GetClearedAt() *timestamppb.Timestamp { +func (x *PlanDifferenceAcknowledgementCleared) GetClearedAt() *timestamppb.Timestamp { if x != nil { return x.ClearedAt } @@ -15049,38 +15049,38 @@ func (x *AgentRunAnnotated) GetPlanFriendlyId() string { return "" } -// WorkflowIngested fires when the workflow ingest worker finishes processing +// LoopIngested fires when the workflow ingest worker finishes processing // one .brent/workflows/*.md file at a commit. outcome is "loaded", // "failed_parse", or "deleted" (string, not enum — CEL-matchable and // consistent with ReviewSubmitted.status). error carries the failure reason // when outcome is failed_parse; for deleted outcomes it is "removed_from_repo". -type WorkflowIngested struct { +type LoopIngested struct { state protoimpl.MessageState `protogen:"open.v1"` SourceRepoFullName string `protobuf:"bytes,1,opt,name=source_repo_full_name,json=sourceRepoFullName,proto3" json:"source_repo_full_name,omitempty"` SourcePath string `protobuf:"bytes,2,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"` CommitSha string `protobuf:"bytes,3,opt,name=commit_sha,json=commitSha,proto3" json:"commit_sha,omitempty"` Outcome string `protobuf:"bytes,4,opt,name=outcome,proto3" json:"outcome,omitempty"` Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` - WorkflowExternalId *string `protobuf:"bytes,6,opt,name=workflow_external_id,json=workflowExternalId,proto3,oneof" json:"workflow_external_id,omitempty"` + LoopExternalId *string `protobuf:"bytes,6,opt,name=loop_external_id,json=loopExternalId,proto3,oneof" json:"loop_external_id,omitempty"` Name *string `protobuf:"bytes,7,opt,name=name,proto3,oneof" json:"name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *WorkflowIngested) Reset() { - *x = WorkflowIngested{} +func (x *LoopIngested) Reset() { + *x = LoopIngested{} mi := &file_brent_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowIngested) String() string { +func (x *LoopIngested) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowIngested) ProtoMessage() {} +func (*LoopIngested) ProtoMessage() {} -func (x *WorkflowIngested) ProtoReflect() protoreflect.Message { +func (x *LoopIngested) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[162] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15092,65 +15092,65 @@ func (x *WorkflowIngested) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowIngested.ProtoReflect.Descriptor instead. -func (*WorkflowIngested) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopIngested.ProtoReflect.Descriptor instead. +func (*LoopIngested) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{162} } -func (x *WorkflowIngested) GetSourceRepoFullName() string { +func (x *LoopIngested) GetSourceRepoFullName() string { if x != nil { return x.SourceRepoFullName } return "" } -func (x *WorkflowIngested) GetSourcePath() string { +func (x *LoopIngested) GetSourcePath() string { if x != nil { return x.SourcePath } return "" } -func (x *WorkflowIngested) GetCommitSha() string { +func (x *LoopIngested) GetCommitSha() string { if x != nil { return x.CommitSha } return "" } -func (x *WorkflowIngested) GetOutcome() string { +func (x *LoopIngested) GetOutcome() string { if x != nil { return x.Outcome } return "" } -func (x *WorkflowIngested) GetError() string { +func (x *LoopIngested) GetError() string { if x != nil { return x.Error } return "" } -func (x *WorkflowIngested) GetWorkflowExternalId() string { - if x != nil && x.WorkflowExternalId != nil { - return *x.WorkflowExternalId +func (x *LoopIngested) GetLoopExternalId() string { + if x != nil && x.LoopExternalId != nil { + return *x.LoopExternalId } return "" } -func (x *WorkflowIngested) GetName() string { +func (x *LoopIngested) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } -// WorkflowRunQueued fires when workflows.Store inserts a workflow_runs row. -type WorkflowRunQueued struct { +// LoopRunQueued fires when workflows.Store inserts a workflow_runs row. +type LoopRunQueued struct { state protoimpl.MessageState `protogen:"open.v1"` - WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` - WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` + LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` @@ -15159,20 +15159,20 @@ type WorkflowRunQueued struct { sizeCache protoimpl.SizeCache } -func (x *WorkflowRunQueued) Reset() { - *x = WorkflowRunQueued{} +func (x *LoopRunQueued) Reset() { + *x = LoopRunQueued{} mi := &file_brent_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRunQueued) String() string { +func (x *LoopRunQueued) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRunQueued) ProtoMessage() {} +func (*LoopRunQueued) ProtoMessage() {} -func (x *WorkflowRunQueued) ProtoReflect() protoreflect.Message { +func (x *LoopRunQueued) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[163] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15184,58 +15184,58 @@ func (x *WorkflowRunQueued) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRunQueued.ProtoReflect.Descriptor instead. -func (*WorkflowRunQueued) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRunQueued.ProtoReflect.Descriptor instead. +func (*LoopRunQueued) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{163} } -func (x *WorkflowRunQueued) GetWorkflowRunId() string { +func (x *LoopRunQueued) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } -func (x *WorkflowRunQueued) GetWorkflowName() string { +func (x *LoopRunQueued) GetLoopName() string { if x != nil { - return x.WorkflowName + return x.LoopName } return "" } -func (x *WorkflowRunQueued) GetAccountName() string { +func (x *LoopRunQueued) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowRunQueued) GetPrId() string { +func (x *LoopRunQueued) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *WorkflowRunQueued) GetHeadSha() string { +func (x *LoopRunQueued) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *WorkflowRunQueued) GetQueuedAt() *timestamppb.Timestamp { +func (x *LoopRunQueued) GetQueuedAt() *timestamppb.Timestamp { if x != nil { return x.QueuedAt } return nil } -// WorkflowRunStarted fires when a run transitions to running. -type WorkflowRunStarted struct { +// LoopRunStarted fires when a run transitions to running. +type LoopRunStarted struct { state protoimpl.MessageState `protogen:"open.v1"` - WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` - WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` + LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` @@ -15244,20 +15244,20 @@ type WorkflowRunStarted struct { sizeCache protoimpl.SizeCache } -func (x *WorkflowRunStarted) Reset() { - *x = WorkflowRunStarted{} +func (x *LoopRunStarted) Reset() { + *x = LoopRunStarted{} mi := &file_brent_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRunStarted) String() string { +func (x *LoopRunStarted) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRunStarted) ProtoMessage() {} +func (*LoopRunStarted) ProtoMessage() {} -func (x *WorkflowRunStarted) ProtoReflect() protoreflect.Message { +func (x *LoopRunStarted) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[164] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15269,58 +15269,58 @@ func (x *WorkflowRunStarted) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRunStarted.ProtoReflect.Descriptor instead. -func (*WorkflowRunStarted) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRunStarted.ProtoReflect.Descriptor instead. +func (*LoopRunStarted) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{164} } -func (x *WorkflowRunStarted) GetWorkflowRunId() string { +func (x *LoopRunStarted) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } -func (x *WorkflowRunStarted) GetWorkflowName() string { +func (x *LoopRunStarted) GetLoopName() string { if x != nil { - return x.WorkflowName + return x.LoopName } return "" } -func (x *WorkflowRunStarted) GetAccountName() string { +func (x *LoopRunStarted) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowRunStarted) GetPrId() string { +func (x *LoopRunStarted) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *WorkflowRunStarted) GetHeadSha() string { +func (x *LoopRunStarted) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *WorkflowRunStarted) GetStartedAt() *timestamppb.Timestamp { +func (x *LoopRunStarted) GetStartedAt() *timestamppb.Timestamp { if x != nil { return x.StartedAt } return nil } -// WorkflowRunCompleted fires when a run reaches completed terminal status. -type WorkflowRunCompleted struct { +// LoopRunCompleted fires when a run reaches completed terminal status. +type LoopRunCompleted struct { state protoimpl.MessageState `protogen:"open.v1"` - WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` - WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` + LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` @@ -15329,20 +15329,20 @@ type WorkflowRunCompleted struct { sizeCache protoimpl.SizeCache } -func (x *WorkflowRunCompleted) Reset() { - *x = WorkflowRunCompleted{} +func (x *LoopRunCompleted) Reset() { + *x = LoopRunCompleted{} mi := &file_brent_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRunCompleted) String() string { +func (x *LoopRunCompleted) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRunCompleted) ProtoMessage() {} +func (*LoopRunCompleted) ProtoMessage() {} -func (x *WorkflowRunCompleted) ProtoReflect() protoreflect.Message { +func (x *LoopRunCompleted) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[165] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15354,58 +15354,58 @@ func (x *WorkflowRunCompleted) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRunCompleted.ProtoReflect.Descriptor instead. -func (*WorkflowRunCompleted) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRunCompleted.ProtoReflect.Descriptor instead. +func (*LoopRunCompleted) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{165} } -func (x *WorkflowRunCompleted) GetWorkflowRunId() string { +func (x *LoopRunCompleted) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } -func (x *WorkflowRunCompleted) GetWorkflowName() string { +func (x *LoopRunCompleted) GetLoopName() string { if x != nil { - return x.WorkflowName + return x.LoopName } return "" } -func (x *WorkflowRunCompleted) GetAccountName() string { +func (x *LoopRunCompleted) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowRunCompleted) GetPrId() string { +func (x *LoopRunCompleted) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *WorkflowRunCompleted) GetHeadSha() string { +func (x *LoopRunCompleted) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *WorkflowRunCompleted) GetCompletedAt() *timestamppb.Timestamp { +func (x *LoopRunCompleted) GetCompletedAt() *timestamppb.Timestamp { if x != nil { return x.CompletedAt } return nil } -// WorkflowRunFailed fires when a run reaches failed terminal status. -type WorkflowRunFailed struct { +// LoopRunFailed fires when a run reaches failed terminal status. +type LoopRunFailed struct { state protoimpl.MessageState `protogen:"open.v1"` - WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` - WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` + LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` @@ -15415,20 +15415,20 @@ type WorkflowRunFailed struct { sizeCache protoimpl.SizeCache } -func (x *WorkflowRunFailed) Reset() { - *x = WorkflowRunFailed{} +func (x *LoopRunFailed) Reset() { + *x = LoopRunFailed{} mi := &file_brent_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRunFailed) String() string { +func (x *LoopRunFailed) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRunFailed) ProtoMessage() {} +func (*LoopRunFailed) ProtoMessage() {} -func (x *WorkflowRunFailed) ProtoReflect() protoreflect.Message { +func (x *LoopRunFailed) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[166] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15440,65 +15440,65 @@ func (x *WorkflowRunFailed) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRunFailed.ProtoReflect.Descriptor instead. -func (*WorkflowRunFailed) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRunFailed.ProtoReflect.Descriptor instead. +func (*LoopRunFailed) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{166} } -func (x *WorkflowRunFailed) GetWorkflowRunId() string { +func (x *LoopRunFailed) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } -func (x *WorkflowRunFailed) GetWorkflowName() string { +func (x *LoopRunFailed) GetLoopName() string { if x != nil { - return x.WorkflowName + return x.LoopName } return "" } -func (x *WorkflowRunFailed) GetAccountName() string { +func (x *LoopRunFailed) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowRunFailed) GetPrId() string { +func (x *LoopRunFailed) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *WorkflowRunFailed) GetHeadSha() string { +func (x *LoopRunFailed) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *WorkflowRunFailed) GetErrorMessage() string { +func (x *LoopRunFailed) GetErrorMessage() string { if x != nil { return x.ErrorMessage } return "" } -func (x *WorkflowRunFailed) GetFailedAt() *timestamppb.Timestamp { +func (x *LoopRunFailed) GetFailedAt() *timestamppb.Timestamp { if x != nil { return x.FailedAt } return nil } -// WorkflowRunCancelled fires when a run reaches cancelled terminal status. -type WorkflowRunCancelled struct { +// LoopRunCancelled fires when a run reaches cancelled terminal status. +type LoopRunCancelled struct { state protoimpl.MessageState `protogen:"open.v1"` - WorkflowRunId string `protobuf:"bytes,1,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"` - WorkflowName string `protobuf:"bytes,2,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` + LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` @@ -15508,20 +15508,20 @@ type WorkflowRunCancelled struct { sizeCache protoimpl.SizeCache } -func (x *WorkflowRunCancelled) Reset() { - *x = WorkflowRunCancelled{} +func (x *LoopRunCancelled) Reset() { + *x = LoopRunCancelled{} mi := &file_brent_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRunCancelled) String() string { +func (x *LoopRunCancelled) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRunCancelled) ProtoMessage() {} +func (*LoopRunCancelled) ProtoMessage() {} -func (x *WorkflowRunCancelled) ProtoReflect() protoreflect.Message { +func (x *LoopRunCancelled) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[167] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15533,54 +15533,54 @@ func (x *WorkflowRunCancelled) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRunCancelled.ProtoReflect.Descriptor instead. -func (*WorkflowRunCancelled) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRunCancelled.ProtoReflect.Descriptor instead. +func (*LoopRunCancelled) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{167} } -func (x *WorkflowRunCancelled) GetWorkflowRunId() string { +func (x *LoopRunCancelled) GetLoopRunId() string { if x != nil { - return x.WorkflowRunId + return x.LoopRunId } return "" } -func (x *WorkflowRunCancelled) GetWorkflowName() string { +func (x *LoopRunCancelled) GetLoopName() string { if x != nil { - return x.WorkflowName + return x.LoopName } return "" } -func (x *WorkflowRunCancelled) GetAccountName() string { +func (x *LoopRunCancelled) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowRunCancelled) GetPrId() string { +func (x *LoopRunCancelled) GetPrId() string { if x != nil { return x.PrId } return "" } -func (x *WorkflowRunCancelled) GetHeadSha() string { +func (x *LoopRunCancelled) GetHeadSha() string { if x != nil { return x.HeadSha } return "" } -func (x *WorkflowRunCancelled) GetCancelReason() string { +func (x *LoopRunCancelled) GetCancelReason() string { if x != nil { return x.CancelReason } return "" } -func (x *WorkflowRunCancelled) GetCancelledAt() *timestamppb.Timestamp { +func (x *LoopRunCancelled) GetCancelledAt() *timestamppb.Timestamp { if x != nil { return x.CancelledAt } @@ -15687,7 +15687,7 @@ func (x *SlackWebhook) GetEventPayload() string { // Unmapped deliveries return a 404 from the webhook handler and no // event row is written (resolve-before-write). // -// Workflow CEL: the environment exposes a synthetic decoded +// Loop CEL: the environment exposes a synthetic decoded // event.linear_webhook.payload.* field (dyn) that mirrors the delivery // JSON body; the raw event_payload string is hidden from CEL — use the // decoded form for field access, same as GitHubWebhook. @@ -15792,7 +15792,7 @@ func (x *LinearWebhook) GetEventPayload() string { // synthetic decoded payload.* map (see embedded_json option). type ComposioTriggerMessage struct { state protoimpl.MessageState `protogen:"open.v1"` - // Webhook-Id header — unique per delivery/redelivery. Workflows key their + // Webhook-Id header — unique per delivery/redelivery. Loops key their // thread on this; trigger_id is stable across deliveries and must not be a // thread key. DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` @@ -15884,7 +15884,7 @@ func (x *ComposioTriggerMessage) GetEventPayload() string { // delivery. event_payload is the signature-validated raw JSON body // (the same bytes ValidatePayload ran against). event_type is the // X-GitHub-Event header captured at the producer (e.g. "pull_request", -// "check_suite", "push"). Workflow authors match the header via +// "check_suite", "push"). Loop authors match the header via // event.github_webhook.event_type and the delivery body via the synthetic // decoded event.github_webhook.payload.* map (see embedded_json option — // the raw event_payload string is hidden from CEL). Decode is lazy and @@ -15963,7 +15963,7 @@ func (x *GitHubWebhook) GetEventType() string { // authenticate via the per-install X-Gitlab-Token secret (issued at // ConnectGitLab time). event_payload is the secret-token-validated raw // JSON body. event_type is the X-Gitlab-Event header captured at the -// producer (e.g. "Merge Request Hook", "Push Hook"). Workflow authors +// producer (e.g. "Merge Request Hook", "Push Hook"). Loop authors // match via event.gitlab_webhook.event_type and the delivery body via // the synthetic decoded event.gitlab_webhook.payload.* map (see // embedded_json option — the raw event_payload string is hidden from CEL). @@ -16188,7 +16188,7 @@ func (x *EmbeddedJsonCELFixture) GetDocument() string { // SlackMentionReceived is emitted by the slack/ aggregate's // eventTranslator when the Brent bot is @mentioned in a Slack message. -// Workflow on: blocks match against the proto message name +// Loop on: blocks match against the proto message name // "SlackMentionReceived" verbatim (see workflows.EventTypeName). type SlackMentionReceived struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -16214,7 +16214,7 @@ type SlackMentionReceived struct { ThreadTs string `protobuf:"bytes,7,opt,name=thread_ts,json=threadTs,proto3" json:"thread_ts,omitempty"` // mentioned_user_ids lists every Slack user ID found as a <@UXXXXXX> // pattern in the message text, including the bot's own user ID. - // Workflow authors can filter the bot out via CEL if needed. + // Loop authors can filter the bot out via CEL if needed. MentionedUserIds []string `protobuf:"bytes,8,rep,name=mentioned_user_ids,json=mentionedUserIds,proto3" json:"mentioned_user_ids,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -16517,7 +16517,7 @@ func (x *SlackReactionAdded) GetItemUserId() string { return "" } -type ListWorkflowsRequest struct { +type ListLoopsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Empty string = caller's account from JWT (backward compatible). // When set, return only workflows for that account_name (admin filtering). @@ -16526,20 +16526,20 @@ type ListWorkflowsRequest struct { sizeCache protoimpl.SizeCache } -func (x *ListWorkflowsRequest) Reset() { - *x = ListWorkflowsRequest{} +func (x *ListLoopsRequest) Reset() { + *x = ListLoopsRequest{} mi := &file_brent_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListWorkflowsRequest) String() string { +func (x *ListLoopsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListWorkflowsRequest) ProtoMessage() {} +func (*ListLoopsRequest) ProtoMessage() {} -func (x *ListWorkflowsRequest) ProtoReflect() protoreflect.Message { +func (x *ListLoopsRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[179] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16551,39 +16551,39 @@ func (x *ListWorkflowsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListWorkflowsRequest.ProtoReflect.Descriptor instead. -func (*ListWorkflowsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListLoopsRequest.ProtoReflect.Descriptor instead. +func (*ListLoopsRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{179} } -func (x *ListWorkflowsRequest) GetAccountName() string { +func (x *ListLoopsRequest) GetAccountName() string { if x != nil { return x.AccountName } return "" } -type ListWorkflowsResponse struct { +type ListLoopsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Workflows []*WorkflowSummary `protobuf:"bytes,1,rep,name=workflows,proto3" json:"workflows,omitempty"` + Loops []*LoopSummary `protobuf:"bytes,1,rep,name=loops,proto3" json:"loops,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *ListWorkflowsResponse) Reset() { - *x = ListWorkflowsResponse{} +func (x *ListLoopsResponse) Reset() { + *x = ListLoopsResponse{} mi := &file_brent_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListWorkflowsResponse) String() string { +func (x *ListLoopsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListWorkflowsResponse) ProtoMessage() {} +func (*ListLoopsResponse) ProtoMessage() {} -func (x *ListWorkflowsResponse) ProtoReflect() protoreflect.Message { +func (x *ListLoopsResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16595,24 +16595,24 @@ func (x *ListWorkflowsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListWorkflowsResponse.ProtoReflect.Descriptor instead. -func (*ListWorkflowsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListLoopsResponse.ProtoReflect.Descriptor instead. +func (*ListLoopsResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{180} } -func (x *ListWorkflowsResponse) GetWorkflows() []*WorkflowSummary { +func (x *ListLoopsResponse) GetLoops() []*LoopSummary { if x != nil { - return x.Workflows + return x.Loops } return nil } -// WorkflowSummary carries the columns brent-area51 renders in the workflow +// LoopSummary carries the columns brent-area51 renders in the workflow // list view. body_template and on_yaml are intentionally excluded — both can // run to multiple kB per row, and the list view only shows name + description -// + provenance + the configured model. Use GetWorkflow to fetch the full +// + provenance + the configured model. Use GetLoop to fetch the full // definition. -type WorkflowSummary struct { +type LoopSummary struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` @@ -16633,20 +16633,20 @@ type WorkflowSummary struct { sizeCache protoimpl.SizeCache } -func (x *WorkflowSummary) Reset() { - *x = WorkflowSummary{} +func (x *LoopSummary) Reset() { + *x = LoopSummary{} mi := &file_brent_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowSummary) String() string { +func (x *LoopSummary) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowSummary) ProtoMessage() {} +func (*LoopSummary) ProtoMessage() {} -func (x *WorkflowSummary) ProtoReflect() protoreflect.Message { +func (x *LoopSummary) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16658,96 +16658,96 @@ func (x *WorkflowSummary) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowSummary.ProtoReflect.Descriptor instead. -func (*WorkflowSummary) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopSummary.ProtoReflect.Descriptor instead. +func (*LoopSummary) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{181} } -func (x *WorkflowSummary) GetId() string { +func (x *LoopSummary) GetId() string { if x != nil { return x.Id } return "" } -func (x *WorkflowSummary) GetAccountName() string { +func (x *LoopSummary) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowSummary) GetName() string { +func (x *LoopSummary) GetName() string { if x != nil { return x.Name } return "" } -func (x *WorkflowSummary) GetDescription() string { +func (x *LoopSummary) GetDescription() string { if x != nil { return x.Description } return "" } -func (x *WorkflowSummary) GetSourceRepoFullName() string { +func (x *LoopSummary) GetSourceRepoFullName() string { if x != nil { return x.SourceRepoFullName } return "" } -func (x *WorkflowSummary) GetSourcePath() string { +func (x *LoopSummary) GetSourcePath() string { if x != nil { return x.SourcePath } return "" } -func (x *WorkflowSummary) GetSourceCommitSha() string { +func (x *LoopSummary) GetSourceCommitSha() string { if x != nil { return x.SourceCommitSha } return "" } -func (x *WorkflowSummary) GetCreatedAt() *timestamppb.Timestamp { +func (x *LoopSummary) GetCreatedAt() *timestamppb.Timestamp { if x != nil { return x.CreatedAt } return nil } -func (x *WorkflowSummary) GetUpdatedAt() *timestamppb.Timestamp { +func (x *LoopSummary) GetUpdatedAt() *timestamppb.Timestamp { if x != nil { return x.UpdatedAt } return nil } -func (x *WorkflowSummary) GetStatus() string { +func (x *LoopSummary) GetStatus() string { if x != nil { return x.Status } return "" } -func (x *WorkflowSummary) GetErrorMessage() string { +func (x *LoopSummary) GetErrorMessage() string { if x != nil { return x.ErrorMessage } return "" } -func (x *WorkflowSummary) GetModel() string { +func (x *LoopSummary) GetModel() string { if x != nil { return x.Model } return "" } -type GetWorkflowRequest struct { +type GetLoopRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // UUID of the workflow to fetch. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -16755,20 +16755,20 @@ type GetWorkflowRequest struct { sizeCache protoimpl.SizeCache } -func (x *GetWorkflowRequest) Reset() { - *x = GetWorkflowRequest{} +func (x *GetLoopRequest) Reset() { + *x = GetLoopRequest{} mi := &file_brent_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetWorkflowRequest) String() string { +func (x *GetLoopRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetWorkflowRequest) ProtoMessage() {} +func (*GetLoopRequest) ProtoMessage() {} -func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { +func (x *GetLoopRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16780,39 +16780,39 @@ func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetWorkflowRequest.ProtoReflect.Descriptor instead. -func (*GetWorkflowRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetLoopRequest.ProtoReflect.Descriptor instead. +func (*GetLoopRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{182} } -func (x *GetWorkflowRequest) GetId() string { +func (x *GetLoopRequest) GetId() string { if x != nil { return x.Id } return "" } -type GetWorkflowResponse struct { +type GetLoopResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Workflow *Workflow `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"` + Loop *Loop `protobuf:"bytes,1,opt,name=loop,proto3" json:"loop,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *GetWorkflowResponse) Reset() { - *x = GetWorkflowResponse{} +func (x *GetLoopResponse) Reset() { + *x = GetLoopResponse{} mi := &file_brent_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetWorkflowResponse) String() string { +func (x *GetLoopResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetWorkflowResponse) ProtoMessage() {} +func (*GetLoopResponse) ProtoMessage() {} -func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { +func (x *GetLoopResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16824,22 +16824,22 @@ func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetWorkflowResponse.ProtoReflect.Descriptor instead. -func (*GetWorkflowResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetLoopResponse.ProtoReflect.Descriptor instead. +func (*GetLoopResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{183} } -func (x *GetWorkflowResponse) GetWorkflow() *Workflow { +func (x *GetLoopResponse) GetLoop() *Loop { if x != nil { - return x.Workflow + return x.Loop } return nil } -// Workflow is the full workflow-definition aggregate as the debug UI and -// MCP read tools consume it. Mirrors workflows.Workflow row-for-row; -// adds body_template + on_yaml on top of WorkflowSummary. -type Workflow struct { +// Loop is the full workflow-definition aggregate as the debug UI and +// MCP read tools consume it. Mirrors workflows.Loop row-for-row; +// adds body_template + on_yaml on top of LoopSummary. +type Loop struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` @@ -16866,20 +16866,20 @@ type Workflow struct { sizeCache protoimpl.SizeCache } -func (x *Workflow) Reset() { - *x = Workflow{} +func (x *Loop) Reset() { + *x = Loop{} mi := &file_brent_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *Workflow) String() string { +func (x *Loop) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Workflow) ProtoMessage() {} +func (*Loop) ProtoMessage() {} -func (x *Workflow) ProtoReflect() protoreflect.Message { +func (x *Loop) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16891,119 +16891,119 @@ func (x *Workflow) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Workflow.ProtoReflect.Descriptor instead. -func (*Workflow) Descriptor() ([]byte, []int) { +// Deprecated: Use Loop.ProtoReflect.Descriptor instead. +func (*Loop) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{184} } -func (x *Workflow) GetId() string { +func (x *Loop) GetId() string { if x != nil { return x.Id } return "" } -func (x *Workflow) GetAccountName() string { +func (x *Loop) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *Workflow) GetName() string { +func (x *Loop) GetName() string { if x != nil { return x.Name } return "" } -func (x *Workflow) GetDescription() string { +func (x *Loop) GetDescription() string { if x != nil { return x.Description } return "" } -func (x *Workflow) GetOnYaml() string { +func (x *Loop) GetOnYaml() string { if x != nil { return x.OnYaml } return "" } -func (x *Workflow) GetBodyTemplate() string { +func (x *Loop) GetBodyTemplate() string { if x != nil { return x.BodyTemplate } return "" } -func (x *Workflow) GetSourceRepoFullName() string { +func (x *Loop) GetSourceRepoFullName() string { if x != nil { return x.SourceRepoFullName } return "" } -func (x *Workflow) GetSourcePath() string { +func (x *Loop) GetSourcePath() string { if x != nil { return x.SourcePath } return "" } -func (x *Workflow) GetSourceCommitSha() string { +func (x *Loop) GetSourceCommitSha() string { if x != nil { return x.SourceCommitSha } return "" } -func (x *Workflow) GetCreatedAt() *timestamppb.Timestamp { +func (x *Loop) GetCreatedAt() *timestamppb.Timestamp { if x != nil { return x.CreatedAt } return nil } -func (x *Workflow) GetUpdatedAt() *timestamppb.Timestamp { +func (x *Loop) GetUpdatedAt() *timestamppb.Timestamp { if x != nil { return x.UpdatedAt } return nil } -func (x *Workflow) GetStatus() string { +func (x *Loop) GetStatus() string { if x != nil { return x.Status } return "" } -func (x *Workflow) GetErrorMessage() string { +func (x *Loop) GetErrorMessage() string { if x != nil { return x.ErrorMessage } return "" } -func (x *Workflow) GetModel() string { +func (x *Loop) GetModel() string { if x != nil { return x.Model } return "" } -type ListWorkflowRunsRequest struct { +type ListLoopRunsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Optional filter by workflow definition name. When set, only runs whose // workflow_runs.name column matches are returned. Mirrors the // (account_name, name) tuple linking workflow_runs to workflows; no FK // column exists. - WorkflowName string `protobuf:"bytes,1,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` + LoopName string `protobuf:"bytes,1,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` // Soft cap on result count. Server clamps to [1, 200]; 0 means default 50. Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - // Opaque cursor token from a prior ListWorkflowRunsResponse.next_cursor. + // Opaque cursor token from a prior ListLoopRunsResponse.next_cursor. // Empty string means "start from newest". Cursor encodes the (created_at, // external_id) tuple of the last row of the previous page. AfterCursor string `protobuf:"bytes,3,opt,name=after_cursor,json=afterCursor,proto3" json:"after_cursor,omitempty"` @@ -17019,20 +17019,20 @@ type ListWorkflowRunsRequest struct { sizeCache protoimpl.SizeCache } -func (x *ListWorkflowRunsRequest) Reset() { - *x = ListWorkflowRunsRequest{} +func (x *ListLoopRunsRequest) Reset() { + *x = ListLoopRunsRequest{} mi := &file_brent_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListWorkflowRunsRequest) String() string { +func (x *ListLoopRunsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListWorkflowRunsRequest) ProtoMessage() {} +func (*ListLoopRunsRequest) ProtoMessage() {} -func (x *ListWorkflowRunsRequest) ProtoReflect() protoreflect.Message { +func (x *ListLoopRunsRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[185] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17044,49 +17044,49 @@ func (x *ListWorkflowRunsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListWorkflowRunsRequest.ProtoReflect.Descriptor instead. -func (*ListWorkflowRunsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListLoopRunsRequest.ProtoReflect.Descriptor instead. +func (*ListLoopRunsRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{185} } -func (x *ListWorkflowRunsRequest) GetWorkflowName() string { +func (x *ListLoopRunsRequest) GetLoopName() string { if x != nil { - return x.WorkflowName + return x.LoopName } return "" } -func (x *ListWorkflowRunsRequest) GetLimit() uint32 { +func (x *ListLoopRunsRequest) GetLimit() uint32 { if x != nil { return x.Limit } return 0 } -func (x *ListWorkflowRunsRequest) GetAfterCursor() string { +func (x *ListLoopRunsRequest) GetAfterCursor() string { if x != nil { return x.AfterCursor } return "" } -func (x *ListWorkflowRunsRequest) GetStatus() string { +func (x *ListLoopRunsRequest) GetStatus() string { if x != nil { return x.Status } return "" } -func (x *ListWorkflowRunsRequest) GetAccountName() string { +func (x *ListLoopRunsRequest) GetAccountName() string { if x != nil { return x.AccountName } return "" } -type ListWorkflowRunsResponse struct { +type ListLoopRunsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Runs []*WorkflowRunSummary `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"` + Runs []*LoopRunSummary `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"` // Set when more rows exist beyond the current page. Pass this verbatim // as the next request's after_cursor. NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` @@ -17094,20 +17094,20 @@ type ListWorkflowRunsResponse struct { sizeCache protoimpl.SizeCache } -func (x *ListWorkflowRunsResponse) Reset() { - *x = ListWorkflowRunsResponse{} +func (x *ListLoopRunsResponse) Reset() { + *x = ListLoopRunsResponse{} mi := &file_brent_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ListWorkflowRunsResponse) String() string { +func (x *ListLoopRunsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListWorkflowRunsResponse) ProtoMessage() {} +func (*ListLoopRunsResponse) ProtoMessage() {} -func (x *ListWorkflowRunsResponse) ProtoReflect() protoreflect.Message { +func (x *ListLoopRunsResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[186] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17119,29 +17119,29 @@ func (x *ListWorkflowRunsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListWorkflowRunsResponse.ProtoReflect.Descriptor instead. -func (*ListWorkflowRunsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListLoopRunsResponse.ProtoReflect.Descriptor instead. +func (*ListLoopRunsResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{186} } -func (x *ListWorkflowRunsResponse) GetRuns() []*WorkflowRunSummary { +func (x *ListLoopRunsResponse) GetRuns() []*LoopRunSummary { if x != nil { return x.Runs } return nil } -func (x *ListWorkflowRunsResponse) GetNextCursor() string { +func (x *ListLoopRunsResponse) GetNextCursor() string { if x != nil { return x.NextCursor } return "" } -// WorkflowRunSummary carries the columns the run-list view renders. +// LoopRunSummary carries the columns the run-list view renders. // Excludes prompt and the (potentially large) triggering_event_payload — -// fetch the full run via GetWorkflowRun. -type WorkflowRunSummary struct { +// fetch the full run via GetLoopRun. +type LoopRunSummary struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` @@ -17160,11 +17160,11 @@ type WorkflowRunSummary struct { // "GitHubWebhook"). Empty for legacy / imperative runs. TriggeringEventType string `protobuf:"bytes,12,opt,name=triggering_event_type,json=triggeringEventType,proto3" json:"triggering_event_type,omitempty"` // SHA of the workflows row at trigger time; provenance breadcrumb. - WorkflowSourceCommitSha string `protobuf:"bytes,13,opt,name=workflow_source_commit_sha,json=workflowSourceCommitSha,proto3" json:"workflow_source_commit_sha,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + LoopSourceCommitSha string `protobuf:"bytes,13,opt,name=loop_source_commit_sha,json=loopSourceCommitSha,proto3" json:"loop_source_commit_sha,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` // Thread key computed from the triggering event. Empty when the // workflow has no thread.key expression. ThreadKey *string `protobuf:"bytes,18,opt,name=thread_key,json=threadKey,proto3,oneof" json:"thread_key,omitempty"` @@ -17178,7 +17178,7 @@ type WorkflowRunSummary struct { PlanUuid *string `protobuf:"bytes,21,opt,name=plan_uuid,json=planUuid,proto3,oneof" json:"plan_uuid,omitempty"` // workflows.external_id for navigation to /workflows/$workflowId. Unset when // the parent workflow definition cannot be resolved. - WorkflowId *string `protobuf:"bytes,22,opt,name=workflow_id,json=workflowId,proto3,oneof" json:"workflow_id,omitempty"` + LoopId *string `protobuf:"bytes,22,opt,name=loop_id,json=loopId,proto3,oneof" json:"loop_id,omitempty"` // pull_requests.external_id when the run is PR-attributed. PrId *string `protobuf:"bytes,23,opt,name=pr_id,json=prId,proto3,oneof" json:"pr_id,omitempty"` // Denormalised from pull_requests when pr_id is set (e.g. @@ -17187,26 +17187,26 @@ type WorkflowRunSummary struct { PrNumber *int32 `protobuf:"varint,25,opt,name=pr_number,json=prNumber,proto3,oneof" json:"pr_number,omitempty"` // OpenAI model snapshotted onto workflow_runs at enqueue; empty means the // run used the default (gpt-5.4). Distinct from the parent workflow - // definition's configured model (WorkflowSummary.model). + // definition's configured model (LoopSummary.model). Model string `protobuf:"bytes,26,opt,name=model,proto3" json:"model,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *WorkflowRunSummary) Reset() { - *x = WorkflowRunSummary{} +func (x *LoopRunSummary) Reset() { + *x = LoopRunSummary{} mi := &file_brent_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRunSummary) String() string { +func (x *LoopRunSummary) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRunSummary) ProtoMessage() {} +func (*LoopRunSummary) ProtoMessage() {} -func (x *WorkflowRunSummary) ProtoReflect() protoreflect.Message { +func (x *LoopRunSummary) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[187] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17218,200 +17218,200 @@ func (x *WorkflowRunSummary) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRunSummary.ProtoReflect.Descriptor instead. -func (*WorkflowRunSummary) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRunSummary.ProtoReflect.Descriptor instead. +func (*LoopRunSummary) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{187} } -func (x *WorkflowRunSummary) GetId() string { +func (x *LoopRunSummary) GetId() string { if x != nil { return x.Id } return "" } -func (x *WorkflowRunSummary) GetAccountName() string { +func (x *LoopRunSummary) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowRunSummary) GetName() string { +func (x *LoopRunSummary) GetName() string { if x != nil { return x.Name } return "" } -func (x *WorkflowRunSummary) GetDescription() string { +func (x *LoopRunSummary) GetDescription() string { if x != nil { return x.Description } return "" } -func (x *WorkflowRunSummary) GetStatus() string { +func (x *LoopRunSummary) GetStatus() string { if x != nil { return x.Status } return "" } -func (x *WorkflowRunSummary) GetTriggerKind() string { +func (x *LoopRunSummary) GetTriggerKind() string { if x != nil { return x.TriggerKind } return "" } -func (x *WorkflowRunSummary) GetPlanFriendlyId() string { +func (x *LoopRunSummary) GetPlanFriendlyId() string { if x != nil && x.PlanFriendlyId != nil { return *x.PlanFriendlyId } return "" } -func (x *WorkflowRunSummary) GetReviewId() string { +func (x *LoopRunSummary) GetReviewId() string { if x != nil && x.ReviewId != nil { return *x.ReviewId } return "" } -func (x *WorkflowRunSummary) GetErrorMessage() string { +func (x *LoopRunSummary) GetErrorMessage() string { if x != nil && x.ErrorMessage != nil { return *x.ErrorMessage } return "" } -func (x *WorkflowRunSummary) GetTriggeringEventType() string { +func (x *LoopRunSummary) GetTriggeringEventType() string { if x != nil { return x.TriggeringEventType } return "" } -func (x *WorkflowRunSummary) GetWorkflowSourceCommitSha() string { +func (x *LoopRunSummary) GetLoopSourceCommitSha() string { if x != nil { - return x.WorkflowSourceCommitSha + return x.LoopSourceCommitSha } return "" } -func (x *WorkflowRunSummary) GetStartedAt() *timestamppb.Timestamp { +func (x *LoopRunSummary) GetStartedAt() *timestamppb.Timestamp { if x != nil { return x.StartedAt } return nil } -func (x *WorkflowRunSummary) GetCompletedAt() *timestamppb.Timestamp { +func (x *LoopRunSummary) GetCompletedAt() *timestamppb.Timestamp { if x != nil { return x.CompletedAt } return nil } -func (x *WorkflowRunSummary) GetCreatedAt() *timestamppb.Timestamp { +func (x *LoopRunSummary) GetCreatedAt() *timestamppb.Timestamp { if x != nil { return x.CreatedAt } return nil } -func (x *WorkflowRunSummary) GetUpdatedAt() *timestamppb.Timestamp { +func (x *LoopRunSummary) GetUpdatedAt() *timestamppb.Timestamp { if x != nil { return x.UpdatedAt } return nil } -func (x *WorkflowRunSummary) GetThreadKey() string { +func (x *LoopRunSummary) GetThreadKey() string { if x != nil && x.ThreadKey != nil { return *x.ThreadKey } return "" } -func (x *WorkflowRunSummary) GetPreviousResponseId() string { +func (x *LoopRunSummary) GetPreviousResponseId() string { if x != nil { return x.PreviousResponseId } return "" } -func (x *WorkflowRunSummary) GetResumedFromRunId() string { +func (x *LoopRunSummary) GetResumedFromRunId() string { if x != nil && x.ResumedFromRunId != nil { return *x.ResumedFromRunId } return "" } -func (x *WorkflowRunSummary) GetPlanUuid() string { +func (x *LoopRunSummary) GetPlanUuid() string { if x != nil && x.PlanUuid != nil { return *x.PlanUuid } return "" } -func (x *WorkflowRunSummary) GetWorkflowId() string { - if x != nil && x.WorkflowId != nil { - return *x.WorkflowId +func (x *LoopRunSummary) GetLoopId() string { + if x != nil && x.LoopId != nil { + return *x.LoopId } return "" } -func (x *WorkflowRunSummary) GetPrId() string { +func (x *LoopRunSummary) GetPrId() string { if x != nil && x.PrId != nil { return *x.PrId } return "" } -func (x *WorkflowRunSummary) GetPrRepoFullName() string { +func (x *LoopRunSummary) GetPrRepoFullName() string { if x != nil && x.PrRepoFullName != nil { return *x.PrRepoFullName } return "" } -func (x *WorkflowRunSummary) GetPrNumber() int32 { +func (x *LoopRunSummary) GetPrNumber() int32 { if x != nil && x.PrNumber != nil { return *x.PrNumber } return 0 } -func (x *WorkflowRunSummary) GetModel() string { +func (x *LoopRunSummary) GetModel() string { if x != nil { return x.Model } return "" } -type GetWorkflowRunRequest struct { +type GetLoopRunRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *GetWorkflowRunRequest) Reset() { - *x = GetWorkflowRunRequest{} +func (x *GetLoopRunRequest) Reset() { + *x = GetLoopRunRequest{} mi := &file_brent_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetWorkflowRunRequest) String() string { +func (x *GetLoopRunRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetWorkflowRunRequest) ProtoMessage() {} +func (*GetLoopRunRequest) ProtoMessage() {} -func (x *GetWorkflowRunRequest) ProtoReflect() protoreflect.Message { +func (x *GetLoopRunRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[188] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17423,19 +17423,19 @@ func (x *GetWorkflowRunRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetWorkflowRunRequest.ProtoReflect.Descriptor instead. -func (*GetWorkflowRunRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetLoopRunRequest.ProtoReflect.Descriptor instead. +func (*GetLoopRunRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{188} } -func (x *GetWorkflowRunRequest) GetId() string { +func (x *GetLoopRunRequest) GetId() string { if x != nil { return x.Id } return "" } -type GetWorkflowRunThreadHistoryRequest struct { +type GetLoopRunThreadHistoryRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // external_id of the current workflow run (ancestors only in the response). Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -17443,20 +17443,20 @@ type GetWorkflowRunThreadHistoryRequest struct { sizeCache protoimpl.SizeCache } -func (x *GetWorkflowRunThreadHistoryRequest) Reset() { - *x = GetWorkflowRunThreadHistoryRequest{} +func (x *GetLoopRunThreadHistoryRequest) Reset() { + *x = GetLoopRunThreadHistoryRequest{} mi := &file_brent_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetWorkflowRunThreadHistoryRequest) String() string { +func (x *GetLoopRunThreadHistoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetWorkflowRunThreadHistoryRequest) ProtoMessage() {} +func (*GetLoopRunThreadHistoryRequest) ProtoMessage() {} -func (x *GetWorkflowRunThreadHistoryRequest) ProtoReflect() protoreflect.Message { +func (x *GetLoopRunThreadHistoryRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[189] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17468,40 +17468,40 @@ func (x *GetWorkflowRunThreadHistoryRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use GetWorkflowRunThreadHistoryRequest.ProtoReflect.Descriptor instead. -func (*GetWorkflowRunThreadHistoryRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetLoopRunThreadHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetLoopRunThreadHistoryRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{189} } -func (x *GetWorkflowRunThreadHistoryRequest) GetId() string { +func (x *GetLoopRunThreadHistoryRequest) GetId() string { if x != nil { return x.Id } return "" } -type WorkflowRunThreadSegment struct { - state protoimpl.MessageState `protogen:"open.v1"` - Run *WorkflowRunSummary `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` - Steps []*ExecuteWorkflowResponse `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` +type LoopRunThreadSegment struct { + state protoimpl.MessageState `protogen:"open.v1"` + Run *LoopRunSummary `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` + Steps []*ExecuteLoopResponse `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *WorkflowRunThreadSegment) Reset() { - *x = WorkflowRunThreadSegment{} +func (x *LoopRunThreadSegment) Reset() { + *x = LoopRunThreadSegment{} mi := &file_brent_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRunThreadSegment) String() string { +func (x *LoopRunThreadSegment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRunThreadSegment) ProtoMessage() {} +func (*LoopRunThreadSegment) ProtoMessage() {} -func (x *WorkflowRunThreadSegment) ProtoReflect() protoreflect.Message { +func (x *LoopRunThreadSegment) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17513,49 +17513,49 @@ func (x *WorkflowRunThreadSegment) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRunThreadSegment.ProtoReflect.Descriptor instead. -func (*WorkflowRunThreadSegment) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRunThreadSegment.ProtoReflect.Descriptor instead. +func (*LoopRunThreadSegment) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{190} } -func (x *WorkflowRunThreadSegment) GetRun() *WorkflowRunSummary { +func (x *LoopRunThreadSegment) GetRun() *LoopRunSummary { if x != nil { return x.Run } return nil } -func (x *WorkflowRunThreadSegment) GetSteps() []*ExecuteWorkflowResponse { +func (x *LoopRunThreadSegment) GetSteps() []*ExecuteLoopResponse { if x != nil { return x.Steps } return nil } -type GetWorkflowRunThreadHistoryResponse struct { +type GetLoopRunThreadHistoryResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Ancestor runs only, oldest segment first. Current run steps use WatchRun. - Segments []*WorkflowRunThreadSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` + Segments []*LoopRunThreadSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` // True when chain depth or per-run step caps were hit. Truncated bool `protobuf:"varint,2,opt,name=truncated,proto3" json:"truncated,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *GetWorkflowRunThreadHistoryResponse) Reset() { - *x = GetWorkflowRunThreadHistoryResponse{} +func (x *GetLoopRunThreadHistoryResponse) Reset() { + *x = GetLoopRunThreadHistoryResponse{} mi := &file_brent_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetWorkflowRunThreadHistoryResponse) String() string { +func (x *GetLoopRunThreadHistoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetWorkflowRunThreadHistoryResponse) ProtoMessage() {} +func (*GetLoopRunThreadHistoryResponse) ProtoMessage() {} -func (x *GetWorkflowRunThreadHistoryResponse) ProtoReflect() protoreflect.Message { +func (x *GetLoopRunThreadHistoryResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17567,50 +17567,50 @@ func (x *GetWorkflowRunThreadHistoryResponse) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use GetWorkflowRunThreadHistoryResponse.ProtoReflect.Descriptor instead. -func (*GetWorkflowRunThreadHistoryResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetLoopRunThreadHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetLoopRunThreadHistoryResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{191} } -func (x *GetWorkflowRunThreadHistoryResponse) GetSegments() []*WorkflowRunThreadSegment { +func (x *GetLoopRunThreadHistoryResponse) GetSegments() []*LoopRunThreadSegment { if x != nil { return x.Segments } return nil } -func (x *GetWorkflowRunThreadHistoryResponse) GetTruncated() bool { +func (x *GetLoopRunThreadHistoryResponse) GetTruncated() bool { if x != nil { return x.Truncated } return false } -type GetWorkflowRunResponse struct { +type GetLoopRunResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Run *WorkflowRun `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` + Run *LoopRun `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` // Set when the parent workflow definition is resolvable by // (account_name, name). Unset for legacy / imperative runs whose name // doesn't match any active workflows row (e.g. one-shot manual runs). - Workflow *WorkflowSummary `protobuf:"bytes,2,opt,name=workflow,proto3,oneof" json:"workflow,omitempty"` + Loop *LoopSummary `protobuf:"bytes,2,opt,name=loop,proto3,oneof" json:"loop,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *GetWorkflowRunResponse) Reset() { - *x = GetWorkflowRunResponse{} +func (x *GetLoopRunResponse) Reset() { + *x = GetLoopRunResponse{} mi := &file_brent_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetWorkflowRunResponse) String() string { +func (x *GetLoopRunResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetWorkflowRunResponse) ProtoMessage() {} +func (*GetLoopRunResponse) ProtoMessage() {} -func (x *GetWorkflowRunResponse) ProtoReflect() protoreflect.Message { +func (x *GetLoopRunResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17622,29 +17622,29 @@ func (x *GetWorkflowRunResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetWorkflowRunResponse.ProtoReflect.Descriptor instead. -func (*GetWorkflowRunResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetLoopRunResponse.ProtoReflect.Descriptor instead. +func (*GetLoopRunResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{192} } -func (x *GetWorkflowRunResponse) GetRun() *WorkflowRun { +func (x *GetLoopRunResponse) GetRun() *LoopRun { if x != nil { return x.Run } return nil } -func (x *GetWorkflowRunResponse) GetWorkflow() *WorkflowSummary { +func (x *GetLoopRunResponse) GetLoop() *LoopSummary { if x != nil { - return x.Workflow + return x.Loop } return nil } -// WorkflowRun is the full run row as the debug UI and MCP tools consume it. -// Carries everything in WorkflowRunSummary plus prompt + the typed Event +// LoopRun is the full run row as the debug UI and MCP tools consume it. +// Carries everything in LoopRunSummary plus prompt + the typed Event // payload that triggered it + low-level diagnostic fields. -type WorkflowRun struct { +type LoopRun struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` @@ -17656,14 +17656,14 @@ type WorkflowRun struct { PlanFriendlyId *string `protobuf:"bytes,8,opt,name=plan_friendly_id,json=planFriendlyId,proto3,oneof" json:"plan_friendly_id,omitempty"` ReviewId *string `protobuf:"bytes,9,opt,name=review_id,json=reviewId,proto3,oneof" json:"review_id,omitempty"` // Set only on failure; carries the human-readable error message. Same - // semantics as WorkflowRunSummary.error_message. - ErrorMessage *string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` - TriggeringEventType string `protobuf:"bytes,12,opt,name=triggering_event_type,json=triggeringEventType,proto3" json:"triggering_event_type,omitempty"` - WorkflowSourceCommitSha string `protobuf:"bytes,13,opt,name=workflow_source_commit_sha,json=workflowSourceCommitSha,proto3" json:"workflow_source_commit_sha,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // semantics as LoopRunSummary.error_message. + ErrorMessage *string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` + TriggeringEventType string `protobuf:"bytes,12,opt,name=triggering_event_type,json=triggeringEventType,proto3" json:"triggering_event_type,omitempty"` + LoopSourceCommitSha string `protobuf:"bytes,13,opt,name=loop_source_commit_sha,json=loopSourceCommitSha,proto3" json:"loop_source_commit_sha,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` // The full agent prompt for this run. Empty for state-transition workflows // that use registered prompts at run time. Prompt string `protobuf:"bytes,18,opt,name=prompt,proto3" json:"prompt,omitempty"` @@ -17693,26 +17693,26 @@ type WorkflowRun struct { PrId *string `protobuf:"bytes,28,opt,name=pr_id,json=prId,proto3,oneof" json:"pr_id,omitempty"` // OpenAI model snapshotted onto workflow_runs at enqueue; empty means the // run used the default (gpt-5.4). Distinct from the parent workflow - // definition's configured model when GetWorkflowRun.workflow is set. + // definition's configured model when GetLoopRun.workflow is set. Model string `protobuf:"bytes,29,opt,name=model,proto3" json:"model,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *WorkflowRun) Reset() { - *x = WorkflowRun{} +func (x *LoopRun) Reset() { + *x = LoopRun{} mi := &file_brent_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *WorkflowRun) String() string { +func (x *LoopRun) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WorkflowRun) ProtoMessage() {} +func (*LoopRun) ProtoMessage() {} -func (x *WorkflowRun) ProtoReflect() protoreflect.Message { +func (x *LoopRun) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[193] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17724,187 +17724,187 @@ func (x *WorkflowRun) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WorkflowRun.ProtoReflect.Descriptor instead. -func (*WorkflowRun) Descriptor() ([]byte, []int) { +// Deprecated: Use LoopRun.ProtoReflect.Descriptor instead. +func (*LoopRun) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{193} } -func (x *WorkflowRun) GetId() string { +func (x *LoopRun) GetId() string { if x != nil { return x.Id } return "" } -func (x *WorkflowRun) GetAccountName() string { +func (x *LoopRun) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *WorkflowRun) GetName() string { +func (x *LoopRun) GetName() string { if x != nil { return x.Name } return "" } -func (x *WorkflowRun) GetDescription() string { +func (x *LoopRun) GetDescription() string { if x != nil { return x.Description } return "" } -func (x *WorkflowRun) GetStatus() string { +func (x *LoopRun) GetStatus() string { if x != nil { return x.Status } return "" } -func (x *WorkflowRun) GetTriggerKind() string { +func (x *LoopRun) GetTriggerKind() string { if x != nil { return x.TriggerKind } return "" } -func (x *WorkflowRun) GetPlanFriendlyId() string { +func (x *LoopRun) GetPlanFriendlyId() string { if x != nil && x.PlanFriendlyId != nil { return *x.PlanFriendlyId } return "" } -func (x *WorkflowRun) GetReviewId() string { +func (x *LoopRun) GetReviewId() string { if x != nil && x.ReviewId != nil { return *x.ReviewId } return "" } -func (x *WorkflowRun) GetErrorMessage() string { +func (x *LoopRun) GetErrorMessage() string { if x != nil && x.ErrorMessage != nil { return *x.ErrorMessage } return "" } -func (x *WorkflowRun) GetTriggeringEventType() string { +func (x *LoopRun) GetTriggeringEventType() string { if x != nil { return x.TriggeringEventType } return "" } -func (x *WorkflowRun) GetWorkflowSourceCommitSha() string { +func (x *LoopRun) GetLoopSourceCommitSha() string { if x != nil { - return x.WorkflowSourceCommitSha + return x.LoopSourceCommitSha } return "" } -func (x *WorkflowRun) GetStartedAt() *timestamppb.Timestamp { +func (x *LoopRun) GetStartedAt() *timestamppb.Timestamp { if x != nil { return x.StartedAt } return nil } -func (x *WorkflowRun) GetCompletedAt() *timestamppb.Timestamp { +func (x *LoopRun) GetCompletedAt() *timestamppb.Timestamp { if x != nil { return x.CompletedAt } return nil } -func (x *WorkflowRun) GetCreatedAt() *timestamppb.Timestamp { +func (x *LoopRun) GetCreatedAt() *timestamppb.Timestamp { if x != nil { return x.CreatedAt } return nil } -func (x *WorkflowRun) GetUpdatedAt() *timestamppb.Timestamp { +func (x *LoopRun) GetUpdatedAt() *timestamppb.Timestamp { if x != nil { return x.UpdatedAt } return nil } -func (x *WorkflowRun) GetPrompt() string { +func (x *LoopRun) GetPrompt() string { if x != nil { return x.Prompt } return "" } -func (x *WorkflowRun) GetBrentVersion() string { +func (x *LoopRun) GetBrentVersion() string { if x != nil { return x.BrentVersion } return "" } -func (x *WorkflowRun) GetResponseId() string { +func (x *LoopRun) GetResponseId() string { if x != nil { return x.ResponseId } return "" } -func (x *WorkflowRun) GetCancelRequested() bool { +func (x *LoopRun) GetCancelRequested() bool { if x != nil { return x.CancelRequested } return false } -func (x *WorkflowRun) GetTriggeringEventPayload() *Event { +func (x *LoopRun) GetTriggeringEventPayload() *Event { if x != nil { return x.TriggeringEventPayload } return nil } -func (x *WorkflowRun) GetThreadKey() string { +func (x *LoopRun) GetThreadKey() string { if x != nil && x.ThreadKey != nil { return *x.ThreadKey } return "" } -func (x *WorkflowRun) GetPreviousResponseId() string { +func (x *LoopRun) GetPreviousResponseId() string { if x != nil { return x.PreviousResponseId } return "" } -func (x *WorkflowRun) GetResumedFromRunId() string { +func (x *LoopRun) GetResumedFromRunId() string { if x != nil && x.ResumedFromRunId != nil { return *x.ResumedFromRunId } return "" } -func (x *WorkflowRun) GetPlanUuid() string { +func (x *LoopRun) GetPlanUuid() string { if x != nil && x.PlanUuid != nil { return *x.PlanUuid } return "" } -func (x *WorkflowRun) GetPrId() string { +func (x *LoopRun) GetPrId() string { if x != nil && x.PrId != nil { return *x.PrId } return "" } -func (x *WorkflowRun) GetModel() string { +func (x *LoopRun) GetModel() string { if x != nil { return x.Model } @@ -17949,7 +17949,7 @@ func (*GetPrincipalStatusRequest) Descriptor() ([]byte, []int) { type GetPrincipalStatusResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - State PrincipalStatusState `protobuf:"varint,1,opt,name=state,proto3,enum=brent.PrincipalStatusState" json:"state,omitempty"` + State PrincipalStatusState `protobuf:"varint,1,opt,name=state,proto3,enum=until.PrincipalStatusState" json:"state,omitempty"` // Populated when state = READY. Omitted when NEEDS_ONBOARDING. Principal *Principal `protobuf:"bytes,2,opt,name=principal,proto3,oneof" json:"principal,omitempty"` // Populated when state = READY. One entry per supported provider. @@ -18011,8 +18011,8 @@ func (x *GetPrincipalStatusResponse) GetIntegrations() []*IntegrationStatus { type GetIntegrationConnectURLRequest struct { state protoimpl.MessageState `protogen:"open.v1"` - Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` - Intent IntegrationIntent `protobuf:"varint,2,opt,name=intent,proto3,enum=brent.IntegrationIntent" json:"intent,omitempty"` + Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` + Intent IntegrationIntent `protobuf:"varint,2,opt,name=intent,proto3,enum=until.IntegrationIntent" json:"intent,omitempty"` // Instance discriminator for aggregator providers (e.g. the Composio toolkit // slug for MCP_AGGREGATOR). Required when provider needs per-instance routing; // ignored by single-instance providers (GitHub/Linear/Slack). @@ -18118,7 +18118,7 @@ func (x *GetIntegrationConnectURLResponse) GetUrl() string { type DisconnectIntegrationRequest struct { state protoimpl.MessageState `protogen:"open.v1"` - Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` // Instance discriminator for aggregator providers (the Composio toolkit slug // for MCP_AGGREGATOR) and a compatibility endpoint slug for BYO HTTP MCP. // Required for MCP_AGGREGATOR; ignored by other single-instance providers. @@ -18708,7 +18708,7 @@ func (x *GitHubPendingInstall) GetRequestedBy() string { type IntegrationStatus struct { state protoimpl.MessageState `protogen:"open.v1"` - Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` // Tenant has completed the provider org/workspace install OAuth flow. OrgInstalled bool `protobuf:"varint,2,opt,name=org_installed,json=orgInstalled,proto3" json:"org_installed,omitempty"` // Caller has a verified principal_bindings row for this provider kind. @@ -18723,7 +18723,7 @@ type IntegrationStatus struct { ManageUrl string `protobuf:"bytes,6,opt,name=manage_url,json=manageUrl,proto3" json:"manage_url,omitempty"` // Coarse readiness for Integrations UI (button state / spinner / healthy / fix-me). // Always set (never UNSPECIFIED) for every IntegrationStatus from GetPrincipalStatus. - Status IntegrationConnectionStatus `protobuf:"varint,7,opt,name=status,proto3,enum=brent.IntegrationConnectionStatus" json:"status,omitempty"` + Status IntegrationConnectionStatus `protobuf:"varint,7,opt,name=status,proto3,enum=until.IntegrationConnectionStatus" json:"status,omitempty"` // Short label (a few words, max 32 chars) for the current status. // Examples: "Not connected", "Connected", "Awaiting approval", "Needs reconnect". Summary string `protobuf:"bytes,8,opt,name=summary,proto3" json:"summary,omitempty"` @@ -18870,7 +18870,7 @@ func (*GetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { type GetWorkspaceIntegrationRolesResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Chosen source-control provider, or UNSPECIFIED if not yet configured. - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` // Present when the workspace has a connected install for the current // git_provider and the registry can build a safe manage URL. GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` @@ -18927,7 +18927,7 @@ type SetWorkspaceIntegrationRolesRequest struct { // git_provider UNSPECIFIED is rejected once a git provider has ever been set // OR while a git install is connected (cannot clear required role without // disconnect). - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -18971,7 +18971,7 @@ func (x *SetWorkspaceIntegrationRolesRequest) GetGitProvider() IntegrationProvid type SetWorkspaceIntegrationRolesResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` + GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -19450,7 +19450,7 @@ func (*DiscoverLoginRecoveryCandidatesRequest) Descriptor() ([]byte, []int) { // workspace IDs, names, roles, members, email, Auth0 user IDs, or tokens. type LoginRecoveryCandidate struct { state protoimpl.MessageState `protogen:"open.v1"` - Provider LoginProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=brent.LoginProvider" json:"provider,omitempty"` + Provider LoginProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.LoginProvider" json:"provider,omitempty"` Auth0Connection string `protobuf:"bytes,2,opt,name=auth0_connection,json=auth0Connection,proto3" json:"auth0_connection,omitempty"` ActiveWorkspaceCount uint32 `protobuf:"varint,3,opt,name=active_workspace_count,json=activeWorkspaceCount,proto3" json:"active_workspace_count,omitempty"` unknownFields protoimpl.UnknownFields @@ -19513,7 +19513,7 @@ type DiscoverLoginRecoveryCandidatesResponse struct { // The caller's arriving provider when it is one of the supported social // providers; UNSPECIFIED (with empty candidates) when the arriving // connection is unsupported. - ArrivingProvider LoginProvider `protobuf:"varint,1,opt,name=arriving_provider,json=arrivingProvider,proto3,enum=brent.LoginProvider" json:"arriving_provider,omitempty"` + ArrivingProvider LoginProvider `protobuf:"varint,1,opt,name=arriving_provider,json=arrivingProvider,proto3,enum=until.LoginProvider" json:"arriving_provider,omitempty"` Candidates []*LoginRecoveryCandidate `protobuf:"bytes,2,rep,name=candidates,proto3" json:"candidates,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -19828,7 +19828,7 @@ type JoinableWorkspace struct { CreatedByName string `protobuf:"bytes,6,opt,name=created_by_name,json=createdByName,proto3" json:"created_by_name,omitempty"` // creator's live display name; empty if the creator has left MemberPreviews []*JoinableWorkspaceMember `protobuf:"bytes,7,rep,name=member_previews,json=memberPreviews,proto3" json:"member_previews,omitempty"` // up to 3 active human members MemberCount uint32 `protobuf:"varint,8,opt,name=member_count,json=memberCount,proto3" json:"member_count,omitempty"` // total active human members (drives "+N") - Source JoinSource `protobuf:"varint,9,opt,name=source,proto3,enum=brent.JoinSource" json:"source,omitempty"` // why this workspace is joinable (DOMAIN or INVITE) + Source JoinSource `protobuf:"varint,9,opt,name=source,proto3,enum=until.JoinSource" json:"source,omitempty"` // why this workspace is joinable (DOMAIN or INVITE) unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -21711,7 +21711,7 @@ func (x *CreateInvitationsRequest) GetRole() string { type InvitationResult struct { state protoimpl.MessageState `protogen:"open.v1"` Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` - Status InvitationResultStatus `protobuf:"varint,2,opt,name=status,proto3,enum=brent.InvitationResultStatus" json:"status,omitempty"` + Status InvitationResultStatus `protobuf:"varint,2,opt,name=status,proto3,enum=until.InvitationResultStatus" json:"status,omitempty"` AcceptUrl string `protobuf:"bytes,3,opt,name=accept_url,json=acceptUrl,proto3" json:"accept_url,omitempty"` // set when status == CREATED ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // set when status != CREATED unknownFields protoimpl.UnknownFields @@ -22004,7 +22004,7 @@ type WorkspaceMember struct { Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` // Deprecated: Marked as deprecated in brent.proto. Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - State WorkspaceMemberState `protobuf:"varint,6,opt,name=state,proto3,enum=brent.WorkspaceMemberState" json:"state,omitempty"` + State WorkspaceMemberState `protobuf:"varint,6,opt,name=state,proto3,enum=until.WorkspaceMemberState" json:"state,omitempty"` // Auth0/IdP profile picture when the member has synced; absent/empty → initials. PictureUrl *string `protobuf:"bytes,7,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` unknownFields protoimpl.UnknownFields @@ -22513,7 +22513,7 @@ func (x *GetInvitationRequest) GetToken() string { type GetInvitationResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Status InvitationStatus `protobuf:"varint,1,opt,name=status,proto3,enum=brent.InvitationStatus" json:"status,omitempty"` + Status InvitationStatus `protobuf:"varint,1,opt,name=status,proto3,enum=until.InvitationStatus" json:"status,omitempty"` WorkspaceId string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` WorkspaceDisplayName string `protobuf:"bytes,4,opt,name=workspace_display_name,json=workspaceDisplayName,proto3" json:"workspace_display_name,omitempty"` @@ -23414,27 +23414,27 @@ func (x *Binding) GetSubject() string { return "" } -type RedFindingKindsPatch struct { +type BlockingDifferenceTagsPatch struct { state protoimpl.MessageState `protogen:"open.v1"` Kinds []string `protobuf:"bytes,1,rep,name=kinds,proto3" json:"kinds,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *RedFindingKindsPatch) Reset() { - *x = RedFindingKindsPatch{} +func (x *BlockingDifferenceTagsPatch) Reset() { + *x = BlockingDifferenceTagsPatch{} mi := &file_brent_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *RedFindingKindsPatch) String() string { +func (x *BlockingDifferenceTagsPatch) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RedFindingKindsPatch) ProtoMessage() {} +func (*BlockingDifferenceTagsPatch) ProtoMessage() {} -func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { +func (x *BlockingDifferenceTagsPatch) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23446,39 +23446,39 @@ func (x *RedFindingKindsPatch) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RedFindingKindsPatch.ProtoReflect.Descriptor instead. -func (*RedFindingKindsPatch) Descriptor() ([]byte, []int) { +// Deprecated: Use BlockingDifferenceTagsPatch.ProtoReflect.Descriptor instead. +func (*BlockingDifferenceTagsPatch) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{301} } -func (x *RedFindingKindsPatch) GetKinds() []string { +func (x *BlockingDifferenceTagsPatch) GetKinds() []string { if x != nil { return x.Kinds } return nil } -type GetBrentSettingsRequest struct { +type GetPlanCheckSettingsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *GetBrentSettingsRequest) Reset() { - *x = GetBrentSettingsRequest{} +func (x *GetPlanCheckSettingsRequest) Reset() { + *x = GetPlanCheckSettingsRequest{} mi := &file_brent_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetBrentSettingsRequest) String() string { +func (x *GetPlanCheckSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetBrentSettingsRequest) ProtoMessage() {} +func (*GetPlanCheckSettingsRequest) ProtoMessage() {} -func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *GetPlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23490,41 +23490,41 @@ func (x *GetBrentSettingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetBrentSettingsRequest.ProtoReflect.Descriptor instead. -func (*GetBrentSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPlanCheckSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetPlanCheckSettingsRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{302} } -func (x *GetBrentSettingsRequest) GetAccountName() string { +func (x *GetPlanCheckSettingsRequest) GetAccountName() string { if x != nil { return x.AccountName } return "" } -type GetBrentSettingsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - RedFindingKinds []string `protobuf:"bytes,1,rep,name=red_finding_kinds,json=redFindingKinds,proto3" json:"red_finding_kinds,omitempty"` - RedFindingKindsUpdatedBy string `protobuf:"bytes,2,opt,name=red_finding_kinds_updated_by,json=redFindingKindsUpdatedBy,proto3" json:"red_finding_kinds_updated_by,omitempty"` - RedFindingKindsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=red_finding_kinds_updated_at,json=redFindingKindsUpdatedAt,proto3" json:"red_finding_kinds_updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type GetPlanCheckSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + BlockingDifferenceTags []string `protobuf:"bytes,1,rep,name=blocking_difference_tags,json=blockingDifferenceTags,proto3" json:"blocking_difference_tags,omitempty"` + BlockingDifferenceTagsUpdatedBy string `protobuf:"bytes,2,opt,name=blocking_difference_tags_updated_by,json=blockingDifferenceTagsUpdatedBy,proto3" json:"blocking_difference_tags_updated_by,omitempty"` + BlockingDifferenceTagsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=blocking_difference_tags_updated_at,json=blockingDifferenceTagsUpdatedAt,proto3" json:"blocking_difference_tags_updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *GetBrentSettingsResponse) Reset() { - *x = GetBrentSettingsResponse{} +func (x *GetPlanCheckSettingsResponse) Reset() { + *x = GetPlanCheckSettingsResponse{} mi := &file_brent_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GetBrentSettingsResponse) String() string { +func (x *GetPlanCheckSettingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetBrentSettingsResponse) ProtoMessage() {} +func (*GetPlanCheckSettingsResponse) ProtoMessage() {} -func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { +func (x *GetPlanCheckSettingsResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23536,54 +23536,54 @@ func (x *GetBrentSettingsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetBrentSettingsResponse.ProtoReflect.Descriptor instead. -func (*GetBrentSettingsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPlanCheckSettingsResponse.ProtoReflect.Descriptor instead. +func (*GetPlanCheckSettingsResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{303} } -func (x *GetBrentSettingsResponse) GetRedFindingKinds() []string { +func (x *GetPlanCheckSettingsResponse) GetBlockingDifferenceTags() []string { if x != nil { - return x.RedFindingKinds + return x.BlockingDifferenceTags } return nil } -func (x *GetBrentSettingsResponse) GetRedFindingKindsUpdatedBy() string { +func (x *GetPlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedBy() string { if x != nil { - return x.RedFindingKindsUpdatedBy + return x.BlockingDifferenceTagsUpdatedBy } return "" } -func (x *GetBrentSettingsResponse) GetRedFindingKindsUpdatedAt() *timestamppb.Timestamp { +func (x *GetPlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedAt() *timestamppb.Timestamp { if x != nil { - return x.RedFindingKindsUpdatedAt + return x.BlockingDifferenceTagsUpdatedAt } return nil } -type UpdateBrentSettingsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - RedFindingKinds *RedFindingKindsPatch `protobuf:"bytes,2,opt,name=red_finding_kinds,json=redFindingKinds,proto3,oneof" json:"red_finding_kinds,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type UpdatePlanCheckSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + BlockingDifferenceTags *BlockingDifferenceTagsPatch `protobuf:"bytes,2,opt,name=blocking_difference_tags,json=blockingDifferenceTags,proto3,oneof" json:"blocking_difference_tags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *UpdateBrentSettingsRequest) Reset() { - *x = UpdateBrentSettingsRequest{} +func (x *UpdatePlanCheckSettingsRequest) Reset() { + *x = UpdatePlanCheckSettingsRequest{} mi := &file_brent_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *UpdateBrentSettingsRequest) String() string { +func (x *UpdatePlanCheckSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateBrentSettingsRequest) ProtoMessage() {} +func (*UpdatePlanCheckSettingsRequest) ProtoMessage() {} -func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *UpdatePlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23595,48 +23595,48 @@ func (x *UpdateBrentSettingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateBrentSettingsRequest.ProtoReflect.Descriptor instead. -func (*UpdateBrentSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdatePlanCheckSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdatePlanCheckSettingsRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{304} } -func (x *UpdateBrentSettingsRequest) GetAccountName() string { +func (x *UpdatePlanCheckSettingsRequest) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *UpdateBrentSettingsRequest) GetRedFindingKinds() *RedFindingKindsPatch { +func (x *UpdatePlanCheckSettingsRequest) GetBlockingDifferenceTags() *BlockingDifferenceTagsPatch { if x != nil { - return x.RedFindingKinds + return x.BlockingDifferenceTags } return nil } -type UpdateBrentSettingsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - RedFindingKinds []string `protobuf:"bytes,1,rep,name=red_finding_kinds,json=redFindingKinds,proto3" json:"red_finding_kinds,omitempty"` - RedFindingKindsUpdatedBy string `protobuf:"bytes,2,opt,name=red_finding_kinds_updated_by,json=redFindingKindsUpdatedBy,proto3" json:"red_finding_kinds_updated_by,omitempty"` - RedFindingKindsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=red_finding_kinds_updated_at,json=redFindingKindsUpdatedAt,proto3" json:"red_finding_kinds_updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type UpdatePlanCheckSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + BlockingDifferenceTags []string `protobuf:"bytes,1,rep,name=blocking_difference_tags,json=blockingDifferenceTags,proto3" json:"blocking_difference_tags,omitempty"` + BlockingDifferenceTagsUpdatedBy string `protobuf:"bytes,2,opt,name=blocking_difference_tags_updated_by,json=blockingDifferenceTagsUpdatedBy,proto3" json:"blocking_difference_tags_updated_by,omitempty"` + BlockingDifferenceTagsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=blocking_difference_tags_updated_at,json=blockingDifferenceTagsUpdatedAt,proto3" json:"blocking_difference_tags_updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *UpdateBrentSettingsResponse) Reset() { - *x = UpdateBrentSettingsResponse{} +func (x *UpdatePlanCheckSettingsResponse) Reset() { + *x = UpdatePlanCheckSettingsResponse{} mi := &file_brent_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *UpdateBrentSettingsResponse) String() string { +func (x *UpdatePlanCheckSettingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateBrentSettingsResponse) ProtoMessage() {} +func (*UpdatePlanCheckSettingsResponse) ProtoMessage() {} -func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { +func (x *UpdatePlanCheckSettingsResponse) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23648,56 +23648,56 @@ func (x *UpdateBrentSettingsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateBrentSettingsResponse.ProtoReflect.Descriptor instead. -func (*UpdateBrentSettingsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdatePlanCheckSettingsResponse.ProtoReflect.Descriptor instead. +func (*UpdatePlanCheckSettingsResponse) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{305} } -func (x *UpdateBrentSettingsResponse) GetRedFindingKinds() []string { +func (x *UpdatePlanCheckSettingsResponse) GetBlockingDifferenceTags() []string { if x != nil { - return x.RedFindingKinds + return x.BlockingDifferenceTags } return nil } -func (x *UpdateBrentSettingsResponse) GetRedFindingKindsUpdatedBy() string { +func (x *UpdatePlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedBy() string { if x != nil { - return x.RedFindingKindsUpdatedBy + return x.BlockingDifferenceTagsUpdatedBy } return "" } -func (x *UpdateBrentSettingsResponse) GetRedFindingKindsUpdatedAt() *timestamppb.Timestamp { +func (x *UpdatePlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedAt() *timestamppb.Timestamp { if x != nil { - return x.RedFindingKindsUpdatedAt + return x.BlockingDifferenceTagsUpdatedAt } return nil } -// AdminGetAccountBrentSettingsRequest selects the account whose Brent settings +// AdminGetAccountPlanCheckSettingsRequest selects the account whose Brent settings // an operator wants to read. account_name is required (operator endpoint, no -// caller-account fallback). Reuses GetBrentSettingsResponse for the result. -type AdminGetAccountBrentSettingsRequest struct { +// caller-account fallback). Reuses GetPlanCheckSettingsResponse for the result. +type AdminGetAccountPlanCheckSettingsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *AdminGetAccountBrentSettingsRequest) Reset() { - *x = AdminGetAccountBrentSettingsRequest{} +func (x *AdminGetAccountPlanCheckSettingsRequest) Reset() { + *x = AdminGetAccountPlanCheckSettingsRequest{} mi := &file_brent_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *AdminGetAccountBrentSettingsRequest) String() string { +func (x *AdminGetAccountPlanCheckSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminGetAccountBrentSettingsRequest) ProtoMessage() {} +func (*AdminGetAccountPlanCheckSettingsRequest) ProtoMessage() {} -func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *AdminGetAccountPlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23709,43 +23709,43 @@ func (x *AdminGetAccountBrentSettingsRequest) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use AdminGetAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. -func (*AdminGetAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use AdminGetAccountPlanCheckSettingsRequest.ProtoReflect.Descriptor instead. +func (*AdminGetAccountPlanCheckSettingsRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{306} } -func (x *AdminGetAccountBrentSettingsRequest) GetAccountName() string { +func (x *AdminGetAccountPlanCheckSettingsRequest) GetAccountName() string { if x != nil { return x.AccountName } return "" } -// AdminUpdateAccountBrentSettingsRequest selects the account whose Brent +// AdminUpdateAccountPlanCheckSettingsRequest selects the account whose Brent // settings an operator wants to change. account_name is required. Reuses -// UpdateBrentSettingsResponse for the result. -type AdminUpdateAccountBrentSettingsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - RedFindingKinds *RedFindingKindsPatch `protobuf:"bytes,2,opt,name=red_finding_kinds,json=redFindingKinds,proto3,oneof" json:"red_finding_kinds,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +// UpdatePlanCheckSettingsResponse for the result. +type AdminUpdateAccountPlanCheckSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + BlockingDifferenceTags *BlockingDifferenceTagsPatch `protobuf:"bytes,2,opt,name=blocking_difference_tags,json=blockingDifferenceTags,proto3,oneof" json:"blocking_difference_tags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *AdminUpdateAccountBrentSettingsRequest) Reset() { - *x = AdminUpdateAccountBrentSettingsRequest{} +func (x *AdminUpdateAccountPlanCheckSettingsRequest) Reset() { + *x = AdminUpdateAccountPlanCheckSettingsRequest{} mi := &file_brent_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *AdminUpdateAccountBrentSettingsRequest) String() string { +func (x *AdminUpdateAccountPlanCheckSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminUpdateAccountBrentSettingsRequest) ProtoMessage() {} +func (*AdminUpdateAccountPlanCheckSettingsRequest) ProtoMessage() {} -func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *AdminUpdateAccountPlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_brent_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23757,21 +23757,21 @@ func (x *AdminUpdateAccountBrentSettingsRequest) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use AdminUpdateAccountBrentSettingsRequest.ProtoReflect.Descriptor instead. -func (*AdminUpdateAccountBrentSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use AdminUpdateAccountPlanCheckSettingsRequest.ProtoReflect.Descriptor instead. +func (*AdminUpdateAccountPlanCheckSettingsRequest) Descriptor() ([]byte, []int) { return file_brent_proto_rawDescGZIP(), []int{307} } -func (x *AdminUpdateAccountBrentSettingsRequest) GetAccountName() string { +func (x *AdminUpdateAccountPlanCheckSettingsRequest) GetAccountName() string { if x != nil { return x.AccountName } return "" } -func (x *AdminUpdateAccountBrentSettingsRequest) GetRedFindingKinds() *RedFindingKindsPatch { +func (x *AdminUpdateAccountPlanCheckSettingsRequest) GetBlockingDifferenceTags() *BlockingDifferenceTagsPatch { if x != nil { - return x.RedFindingKinds + return x.BlockingDifferenceTags } return nil } @@ -23826,7 +23826,7 @@ func (x *AdminGetAccountReviewPolicyRequest) GetAccountName() string { // attribution metadata for operator triage. type AdminGetAccountReviewPolicyResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=brent.WorkspaceReviewPolicy" json:"policy,omitempty"` + Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=until.WorkspaceReviewPolicy" json:"policy,omitempty"` ActiveHumanPrincipalCount int32 `protobuf:"varint,2,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` // Principal UUID that last updated the policy; empty when set by // creation/migration rather than an operator. @@ -23899,7 +23899,7 @@ func (x *AdminGetAccountReviewPolicyResponse) GetUpdatedAt() *timestamppb.Timest type AdminUpdateAccountReviewPolicyRequest struct { state protoimpl.MessageState `protogen:"open.v1"` AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Policy WorkspaceReviewPolicy `protobuf:"varint,2,opt,name=policy,proto3,enum=brent.WorkspaceReviewPolicy" json:"policy,omitempty"` + Policy WorkspaceReviewPolicy `protobuf:"varint,2,opt,name=policy,proto3,enum=until.WorkspaceReviewPolicy" json:"policy,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -23952,7 +23952,7 @@ func (x *AdminUpdateAccountReviewPolicyRequest) GetPolicy() WorkspaceReviewPolic // successful update (or idempotent no-op). type AdminUpdateAccountReviewPolicyResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=brent.WorkspaceReviewPolicy" json:"policy,omitempty"` + Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=until.WorkspaceReviewPolicy" json:"policy,omitempty"` ActiveHumanPrincipalCount int32 `protobuf:"varint,2,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` UpdatedBy string `protobuf:"bytes,3,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` @@ -24181,7 +24181,7 @@ func (x *AdminListAccountIntegrationsRequest) GetAccountName() string { // AdminAccountIntegrationInstall is one organisation_app_installations row with // credential-presence flags and the shared readiness triple. Metadata only — // never secrets. install_id is an Area51-only exception for operator debugging -// (customer OrganisationAppInstallation.ID does not cross BrentService). +// (customer OrganisationAppInstallation.ID does not cross WorkspaceService). type AdminAccountIntegrationInstall struct { state protoimpl.MessageState `protogen:"open.v1"` InstallId int64 `protobuf:"varint,1,opt,name=install_id,json=installId,proto3" json:"install_id,omitempty"` // Area51-only; synthetic PK for operator debugging @@ -24194,7 +24194,7 @@ type AdminAccountIntegrationInstall struct { HasSigningToken bool `protobuf:"varint,8,opt,name=has_signing_token,json=hasSigningToken,proto3" json:"has_signing_token,omitempty"` // config.signing_token_ciphertext present (GitLab) HasWebhookSecret bool `protobuf:"varint,9,opt,name=has_webhook_secret,json=hasWebhookSecret,proto3" json:"has_webhook_secret,omitempty"` // config.webhook_secret_ciphertext present (GitLab) // Same readiness contract as IntegrationStatus (ENG-5869); buf.validate limits apply. - Status IntegrationConnectionStatus `protobuf:"varint,10,opt,name=status,proto3,enum=brent.IntegrationConnectionStatus" json:"status,omitempty"` + Status IntegrationConnectionStatus `protobuf:"varint,10,opt,name=status,proto3,enum=until.IntegrationConnectionStatus" json:"status,omitempty"` Summary string `protobuf:"bytes,11,opt,name=summary,proto3" json:"summary,omitempty"` Detail string `protobuf:"bytes,12,opt,name=detail,proto3" json:"detail,omitempty"` unknownFields protoimpl.UnknownFields @@ -24320,9 +24320,9 @@ func (x *AdminAccountIntegrationInstall) GetDetail() string { type AdminListAccountIntegrationsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Installs []*AdminAccountIntegrationInstall `protobuf:"bytes,1,rep,name=installs,proto3" json:"installs,omitempty"` - GitProvider IntegrationProvider `protobuf:"varint,2,opt,name=git_provider,json=gitProvider,proto3,enum=brent.IntegrationProvider" json:"git_provider,omitempty"` - TicketingProvider IntegrationProvider `protobuf:"varint,3,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=brent.IntegrationProvider" json:"ticketing_provider,omitempty"` - MessagingProvider IntegrationProvider `protobuf:"varint,4,opt,name=messaging_provider,json=messagingProvider,proto3,enum=brent.IntegrationProvider" json:"messaging_provider,omitempty"` + GitProvider IntegrationProvider `protobuf:"varint,2,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` + TicketingProvider IntegrationProvider `protobuf:"varint,3,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=until.IntegrationProvider" json:"ticketing_provider,omitempty"` + MessagingProvider IntegrationProvider `protobuf:"varint,4,opt,name=messaging_provider,json=messagingProvider,proto3,enum=until.IntegrationProvider" json:"messaging_provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -24482,10 +24482,10 @@ type IntegrationCatalogueEntry struct { NewlyAdded bool `protobuf:"varint,7,opt,name=newly_added,json=newlyAdded,proto3" json:"newly_added,omitempty"` // Whether the caller's account has this entry connected/installed. Connected bool `protobuf:"varint,8,opt,name=connected,proto3" json:"connected,omitempty"` - Source IntegrationCatalogueSource `protobuf:"varint,9,opt,name=source,proto3,enum=brent.IntegrationCatalogueSource" json:"source,omitempty"` + Source IntegrationCatalogueSource `protobuf:"varint,9,opt,name=source,proto3,enum=until.IntegrationCatalogueSource" json:"source,omitempty"` // Set for first-party entries so the picker can render "Already configured" // and a Manage deep-link; INTEGRATION_PROVIDER_UNSPECIFIED otherwise. - Provider IntegrationProvider `protobuf:"varint,10,opt,name=provider,proto3,enum=brent.IntegrationProvider" json:"provider,omitempty"` + Provider IntegrationProvider `protobuf:"varint,10,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` AutoRank int32 `protobuf:"varint,11,opt,name=auto_rank,json=autoRank,proto3" json:"auto_rank,omitempty"` // When the install was created. Set for connected BYO HTTP MCP endpoint // cards; unset for catalogue/builtin rows that are not installed instances. @@ -24727,7 +24727,7 @@ var file_brent_proto_extTypes = []protoimpl.ExtensionInfo{ ExtendedType: (*descriptorpb.FieldOptions)(nil), ExtensionType: (*bool)(nil), Field: 50001, - Name: "brent.embedded_json", + Name: "until.embedded_json", Tag: "varint,50001,opt,name=embedded_json", Filename: "brent.proto", }, @@ -24743,26 +24743,26 @@ var File_brent_proto protoreflect.FileDescriptor const file_brent_proto_rawDesc = "" + "\n" + - "\vbrent.proto\x12\x05brent\x1a\x1bbuf/validate/validate.proto\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x80\x01\n" + + "\vbrent.proto\x12\x05until\x1a\x1bbuf/validate/validate.proto\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x80\x01\n" + "\x17ListPullRequestsRequest\x12\x14\n" + "\x05state\x18\x01 \x01(\tR\x05state\x12\x14\n" + "\x05limit\x18\x02 \x01(\rR\x05limit\x12\x16\n" + "\x06offset\x18\x03 \x01(\rR\x06offset\x12!\n" + "\faccount_name\x18\x04 \x01(\tR\vaccountName\"{\n" + "\x18ListPullRequestsResponse\x12>\n" + - "\rpull_requests\x18\x01 \x03(\v2\x19.brent.PullRequestSummaryR\fpullRequests\x12\x1f\n" + + "\rpull_requests\x18\x01 \x03(\v2\x19.until.PullRequestSummaryR\fpullRequests\x12\x1f\n" + "\vtotal_count\x18\x02 \x01(\rR\n" + "totalCount\"S\n" + "\x19GetPullRequestByIDRequest\x12\x13\n" + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\"S\n" + "\x1aGetPullRequestByIDResponse\x125\n" + - "\fpull_request\x18\x01 \x01(\v2\x12.brent.PullRequestR\vpullRequest\"[\n" + - "!ListDeviationAnalysesForPRRequest\x12\x13\n" + + "\fpull_request\x18\x01 \x01(\v2\x12.until.PullRequestR\vpullRequest\"T\n" + + "\x1aListPlanChecksForPRRequest\x12\x13\n" + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\"a\n" + - "\"ListDeviationAnalysesForPRResponse\x12;\n" + - "\banalyses\x18\x01 \x03(\v2\x1f.brent.DeviationAnalysisSummaryR\banalyses\"W\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\"R\n" + + "\x1bListPlanChecksForPRResponse\x123\n" + + "\banalyses\x18\x01 \x03(\v2\x17.until.PlanCheckSummaryR\banalyses\"W\n" + "\x1dGetPullRequestTimelineRequest\x12\x13\n" + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\"\xd5\x02\n" + @@ -24783,9 +24783,9 @@ const file_brent_proto_rawDesc = "" + "\x04code\x18\x01 \x01(\tR\x04code\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\"\xd2\x01\n" + "\x1eGetPullRequestTimelineResponse\x125\n" + - "\fpull_request\x18\x01 \x01(\v2\x12.brent.PullRequestR\vpullRequest\x12:\n" + - "\x06events\x18\x02 \x03(\v2\".brent.PullRequestTimelineEventRowR\x06events\x12=\n" + - "\bwarnings\x18\x03 \x03(\v2!.brent.PullRequestTimelineWarningR\bwarnings\"\xf5\x03\n" + + "\fpull_request\x18\x01 \x01(\v2\x12.until.PullRequestR\vpullRequest\x12:\n" + + "\x06events\x18\x02 \x03(\v2\".until.PullRequestTimelineEventRowR\x06events\x12=\n" + + "\bwarnings\x18\x03 \x03(\v2!.until.PullRequestTimelineWarningR\bwarnings\"\xf5\x03\n" + "\x12PullRequestSummary\x12\x13\n" + "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12$\n" + @@ -24831,26 +24831,24 @@ const file_brent_proto_rawDesc = "" + "\x11linked_plan_title\x18\x14 \x01(\tR\x0flinkedPlanTitle\x12\x1f\n" + "\vlink_reason\x18\x15 \x01(\tR\n" + "linkReason\x12(\n" + - "\x10linked_plan_uuid\x18\x16 \x01(\tR\x0elinkedPlanUuid\"\x83\x04\n" + - "\x18DeviationAnalysisSummary\x12\x1f\n" + - "\vanalysis_id\x18\x01 \x01(\tR\n" + - "analysisId\x12!\n" + + "\x10linked_plan_uuid\x18\x16 \x01(\tR\x0elinkedPlanUuid\"\xfa\x03\n" + + "\x10PlanCheckSummary\x12\"\n" + + "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x13\n" + "\x05pr_id\x18\x03 \x01(\tR\x04prId\x12\x1b\n" + "\tplan_uuid\x18\x04 \x01(\tR\bplanUuid\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12&\n" + - "\x0fworkflow_run_id\x18\x06 \x01(\tR\rworkflowRunId\x12%\n" + + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12\x1e\n" + + "\vloop_run_id\x18\x06 \x01(\tR\tloopRunId\x12%\n" + "\x0efailure_reason\x18\t \x01(\tR\rfailureReason\x129\n" + "\n" + "started_at\x18\n" + " \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" + "\fcompleted_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x127\n" + - "\tfailed_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\x123\n" + - "\bfindings\x18\r \x03(\v2\x17.brent.DeviationFindingR\bfindingsJ\x04\b\a\x10\bJ\x04\b\b\x10\tR\averdictR\n" + - "summary_md\"\xc8\x04\n" + - "\x10DeviationFinding\x12\x1d\n" + - "\n" + - "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x10\n" + + "\tfailed_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\x127\n" + + "\vdifferences\x18\r \x03(\v2\x15.until.PlanDifferenceR\vdifferencesJ\x04\b\a\x10\bJ\x04\b\b\x10\tR\averdictR\n" + + "summary_md\"\xd5\x04\n" + + "\x0ePlanDifference\x12,\n" + + "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\x10\n" + "\x03tag\x18\x02 \x01(\tR\x03tag\x12\x18\n" + "\asummary\x18\x03 \x01(\tR\asummary\x12\x1f\n" + "\vanchor_path\x18\x04 \x01(\tR\n" + @@ -24869,26 +24867,29 @@ const file_brent_proto_rawDesc = "" + "ack_source\x18\r \x01(\tR\tackSource\x12\x17\n" + "\aack_ref\x18\x0e \x01(\tR\x06ackRef\x12.\n" + "\x13ack_reasoning_quote\x18\x0f \x01(\tR\x11ackReasoningQuote\x12\x12\n" + - "\x04slug\x18\x10 \x01(\tR\x04slug\"\xd0\x02\n" + - "\x16ExecuteWorkflowRequest\x12'\n" + - "\x0fworkflow_prompt\x18\x01 \x01(\tR\x0eworkflowPrompt\x121\n" + - "\x12trigger_event_json\x18\x02 \x01(\tH\x00R\x10triggerEventJson\x88\x01\x01\x12(\n" + - "\rworkflow_name\x18\x06 \x01(\tH\x01R\fworkflowName\x88\x01\x01\x12&\n" + + "\x04slug\x18\x10 \x01(\tR\x04slug\"\xb8\x02\n" + + "\x12ExecuteLoopRequest\x12\x1f\n" + + "\vloop_prompt\x18\x01 \x01(\tR\n" + + "loopPrompt\x121\n" + + "\x12trigger_event_json\x18\x02 \x01(\tH\x00R\x10triggerEventJson\x88\x01\x01\x12 \n" + + "\tloop_name\x18\x06 \x01(\tH\x01R\bloopName\x88\x01\x01\x12&\n" + "\faccount_name\x18\a \x01(\tH\x02R\vaccountName\x88\x01\x01B\x15\n" + - "\x13_trigger_event_jsonB\x10\n" + - "\x0e_workflow_nameB\x0f\n" + + "\x13_trigger_event_jsonB\f\n" + + "\n" + + "_loop_nameB\x0f\n" + "\r_account_nameJ\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06R\n" + - "pr_contextR\x18custom_preamble_templateR\x16custom_shared_workflow\"N\n" + - "\x0fListRunsRequest\x12#\n" + - "\rworkflow_name\x18\x01 \x01(\tR\fworkflowName\x12\x16\n" + + "pr_contextR\x18custom_preamble_templateR\x16custom_shared_workflow\"F\n" + + "\x0fListRunsRequest\x12\x1b\n" + + "\tloop_name\x18\x01 \x01(\tR\bloopName\x12\x16\n" + "\x06status\x18\x02 \x01(\tR\x06status\"9\n" + "\x10ListRunsResponse\x12%\n" + - "\x04runs\x18\x01 \x03(\v2\x11.brent.RunSummaryR\x04runs\"\x9f\x03\n" + + "\x04runs\x18\x01 \x03(\v2\x11.until.RunSummaryR\x04runs\"\x97\x03\n" + "\n" + "RunSummary\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + - "\x06status\x18\x02 \x01(\x0e2\x10.brent.RunStatusR\x06status\x12'\n" + - "\x0fworkflow_prompt\x18\x03 \x01(\tR\x0eworkflowPrompt\x121\n" + + "\x06status\x18\x02 \x01(\x0e2\x10.until.RunStatusR\x06status\x12\x1f\n" + + "\vloop_prompt\x18\x03 \x01(\tR\n" + + "loopPrompt\x121\n" + "\x12trigger_event_json\x18\x04 \x01(\tH\x00R\x10triggerEventJson\x88\x01\x01\x129\n" + "\n" + "started_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12B\n" + @@ -24902,7 +24903,7 @@ const file_brent_proto_rawDesc = "" + "\x06run_id\x18\x01 \x01(\tR\x05runId\"\x15\n" + "\x13StreamEventsRequest\":\n" + "\x14StreamEventsResponse\x12\"\n" + - "\x05event\x18\x01 \x01(\v2\f.brent.EventR\x05event\"\xcc\x02\n" + + "\x05event\x18\x01 \x01(\v2\f.until.EventR\x05event\"\xcc\x02\n" + "\x11ListEventsRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12?\n" + "\roccurred_from\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\foccurredFrom\x12;\n" + @@ -24916,7 +24917,7 @@ const file_brent_proto_rawDesc = "" + "\x05limit\x18\a \x01(\rR\x05limit\x12!\n" + "\fafter_cursor\x18\b \x01(\tR\vafterCursor\"[\n" + "\x12ListEventsResponse\x12$\n" + - "\x06events\x18\x01 \x03(\v2\f.brent.EventR\x06events\x12\x1f\n" + + "\x06events\x18\x01 \x03(\v2\f.until.EventR\x06events\x12\x1f\n" + "\vnext_cursor\x18\x02 \x01(\tR\n" + "nextCursor\")\n" + "\x10CancelRunRequest\x12\x15\n" + @@ -24926,14 +24927,14 @@ const file_brent_proto_rawDesc = "" + "\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" + "\x06offset\x18\x02 \x01(\rR\x06offset\"|\n" + "\x1cListOpenPullRequestsResponse\x12;\n" + - "\rpull_requests\x18\x01 \x03(\v2\x16.brent.OpenPullRequestR\fpullRequests\x12\x1f\n" + + "\rpull_requests\x18\x01 \x03(\v2\x16.until.OpenPullRequestR\fpullRequests\x12\x1f\n" + "\vtotal_count\x18\x02 \x01(\rR\n" + "totalCount\"C\n" + "\x15GetPullRequestRequest\x12\x12\n" + "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" + "\x06number\x18\x02 \x01(\x05R\x06number\"S\n" + "\x16GetPullRequestResponse\x129\n" + - "\fpull_request\x18\x01 \x01(\v2\x16.brent.OpenPullRequestR\vpullRequest\"\xb5\x02\n" + + "\fpull_request\x18\x01 \x01(\v2\x16.until.OpenPullRequestR\vpullRequest\"\xb5\x02\n" + "\x0fOpenPullRequest\x12\x12\n" + "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" + "\x06number\x18\x02 \x01(\x05R\x06number\x12\x14\n" + @@ -24947,24 +24948,24 @@ const file_brent_proto_rawDesc = "" + "\x05state\x18\t \x01(\tR\x05state\x129\n" + "\n" + "updated_at\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtJ\x04\b\b\x10\tR\x14latest_ci_conclusion\"\xf7\x04\n" + - "\x17ExecuteWorkflowResponse\x128\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtJ\x04\b\b\x10\tR\x14latest_ci_conclusion\"\xf3\x04\n" + + "\x13ExecuteLoopResponse\x128\n" + "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x124\n" + "\treasoning\x18\n" + - " \x01(\v2\x14.brent.ReasoningStepH\x00R\treasoning\x122\n" + - "\ttool_call\x18\v \x01(\v2\x13.brent.ToolCallStepH\x00R\btoolCall\x128\n" + - "\vtool_result\x18\f \x01(\v2\x15.brent.ToolResultStepH\x00R\n" + + " \x01(\v2\x14.until.ReasoningStepH\x00R\treasoning\x122\n" + + "\ttool_call\x18\v \x01(\v2\x13.until.ToolCallStepH\x00R\btoolCall\x128\n" + + "\vtool_result\x18\f \x01(\v2\x15.until.ToolResultStepH\x00R\n" + "toolResult\x127\n" + "\n" + - "completion\x18\r \x01(\v2\x15.brent.CompletionStepH\x00R\n" + + "completion\x18\r \x01(\v2\x15.until.CompletionStepH\x00R\n" + "completion\x12(\n" + - "\x05error\x18\x0e \x01(\v2\x10.brent.ErrorStepH\x00R\x05error\x12+\n" + - "\x06status\x18\x0f \x01(\v2\x11.brent.StatusStepH\x00R\x06status\x128\n" + - "\vrun_started\x18\x10 \x01(\v2\x15.brent.RunStartedStepH\x00R\n" + + "\x05error\x18\x0e \x01(\v2\x10.until.ErrorStepH\x00R\x05error\x12+\n" + + "\x06status\x18\x0f \x01(\v2\x11.until.StatusStepH\x00R\x06status\x128\n" + + "\vrun_started\x18\x10 \x01(\v2\x15.until.RunStartedStepH\x00R\n" + "runStarted\x12/\n" + - "\bqa_ready\x18\x11 \x01(\v2\x12.brent.QAReadyStepH\x00R\aqaReady\x12>\n" + - "\ruser_question\x18\x12 \x01(\v2\x17.brent.UserQuestionStepH\x00R\fuserQuestion\x12;\n" + - "\fuser_message\x18\x13 \x01(\v2\x16.brent.UserMessageStepH\x00R\vuserMessageB\x06\n" + + "\bqa_ready\x18\x11 \x01(\v2\x12.until.QAReadyStepH\x00R\aqaReady\x12>\n" + + "\ruser_question\x18\x12 \x01(\v2\x17.until.UserQuestionStepH\x00R\fuserQuestion\x12;\n" + + "\fuser_message\x18\x13 \x01(\v2\x16.until.UserMessageStepH\x00R\vuserMessageB\x06\n" + "\x04step\")\n" + "\rReasoningStep\x12\x18\n" + "\acontent\x18\x01 \x01(\tR\acontent\"\x8b\x01\n" + @@ -25006,7 +25007,7 @@ const file_brent_proto_rawDesc = "" + "\rreview_status\x18\x05 \x01(\tR\freviewStatus\x12\x1c\n" + "\tlifecycle\x18\x06 \x01(\tR\tlifecycle\"c\n" + "\x16AdminListPlansResponse\x12(\n" + - "\x05plans\x18\x01 \x03(\v2\x12.brent.PlanSummaryR\x05plans\x12\x1f\n" + + "\x05plans\x18\x01 \x03(\v2\x12.until.PlanSummaryR\x05plans\x12\x1f\n" + "\vtotal_count\x18\x02 \x01(\rR\n" + "totalCount\"\xa0\x06\n" + "\vPlanSummary\x12\x1f\n" + @@ -25035,9 +25036,9 @@ const file_brent_proto_rawDesc = "" + "\x13AdminGetPlanRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"\xc5\x01\n" + "\x14AdminGetPlanResponse\x12\x1f\n" + - "\x04plan\x18\x01 \x01(\v2\v.brent.PlanR\x04plan\x12=\n" + - "\x0frelated_reviews\x18\x02 \x03(\v2\x14.brent.ReviewSummaryR\x0erelatedReviews\x12M\n" + - "\x15related_pull_requests\x18\x03 \x03(\v2\x19.brent.PullRequestSummaryR\x13relatedPullRequests\"\xd3\x05\n" + + "\x04plan\x18\x01 \x01(\v2\v.until.PlanR\x04plan\x12=\n" + + "\x0frelated_reviews\x18\x02 \x03(\v2\x14.until.ReviewSummaryR\x0erelatedReviews\x12M\n" + + "\x15related_pull_requests\x18\x03 \x03(\v2\x19.until.PullRequestSummaryR\x13relatedPullRequests\"\xd3\x05\n" + "\x04Plan\x12\x1f\n" + "\vfriendly_id\x18\x01 \x01(\tR\n" + "friendlyId\x12!\n" + @@ -25067,7 +25068,7 @@ const file_brent_proto_rawDesc = "" + "\x06offset\x18\x05 \x01(\x05R\x06offset\"p\n" + "\x1bAdminListPrincipalsResponse\x120\n" + "\n" + - "principals\x18\x01 \x03(\v2\x10.brent.PrincipalR\n" + + "principals\x18\x01 \x03(\v2\x10.until.PrincipalR\n" + "principals\x12\x1f\n" + "\vtotal_count\x18\x02 \x01(\x05R\n" + "totalCount\";\n" + @@ -25075,11 +25076,11 @@ const file_brent_proto_rawDesc = "" + "\vexternal_id\x18\x01 \x01(\tR\n" + "externalId\"\xb1\x01\n" + "\x19AdminGetPrincipalResponse\x12.\n" + - "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\x128\n" + + "\tprincipal\x18\x01 \x01(\v2\x10.until.PrincipalR\tprincipal\x128\n" + "\n" + - "identities\x18\x02 \x03(\v2\x18.brent.PrincipalIdentityR\n" + + "identities\x18\x02 \x03(\v2\x18.until.PrincipalIdentityR\n" + "identities\x12*\n" + - "\bbindings\x18\x03 \x03(\v2\x0e.brent.BindingR\bbindings\"\x83\x02\n" + + "\bbindings\x18\x03 \x03(\v2\x0e.until.BindingR\bbindings\"\x83\x02\n" + "\x11PrincipalIdentity\x12\x1f\n" + "\vexternal_id\x18\x01 \x01(\tR\n" + "externalId\x12!\n" + @@ -25096,7 +25097,7 @@ const file_brent_proto_rawDesc = "" + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x16\n" + "\x06handle\x18\x04 \x01(\tR\x06handle\"O\n" + "#AdminUpsertPrincipalBindingResponse\x12(\n" + - "\abinding\x18\x01 \x01(\v2\x0e.brent.BindingR\abinding\"h\n" + + "\abinding\x18\x01 \x01(\v2\x0e.until.BindingR\abinding\"h\n" + "\"AdminDeletePrincipalBindingRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + "\vexternal_id\x18\x02 \x01(\tR\n" + @@ -25111,14 +25112,14 @@ const file_brent_proto_rawDesc = "" + "\r_display_nameB\t\n" + "\a_status\"N\n" + "\x1cAdminUpdatePrincipalResponse\x12.\n" + - "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\"\xa1\x01\n" + + "\tprincipal\x18\x01 \x01(\v2\x10.until.PrincipalR\tprincipal\"\xa1\x01\n" + "#AdminCreatePrincipalIdentityRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + "\asubject\x18\x04 \x01(\tR\asubject\"\\\n" + "$AdminCreatePrincipalIdentityResponse\x124\n" + - "\bidentity\x18\x01 \x01(\v2\x18.brent.PrincipalIdentityR\bidentity\"i\n" + + "\bidentity\x18\x01 \x01(\v2\x18.until.PrincipalIdentityR\bidentity\"i\n" + "#AdminDeletePrincipalIdentityRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + "\vexternal_id\x18\x02 \x01(\tR\n" + @@ -25136,7 +25137,7 @@ const file_brent_proto_rawDesc = "" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1a\n" + "\bprovider\x18\x02 \x01(\tR\bprovider\"y\n" + "/AdminListPrincipalCredentialConnectionsResponse\x12F\n" + - "\vconnections\x18\x01 \x03(\v2$.brent.PrincipalCredentialConnectionR\vconnections\"\xce\x02\n" + + "\vconnections\x18\x01 \x03(\v2$.until.PrincipalCredentialConnectionR\vconnections\"\xce\x02\n" + "\x1dPrincipalCredentialConnection\x12!\n" + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x1a\n" + "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x1c\n" + @@ -25155,7 +25156,7 @@ const file_brent_proto_rawDesc = "" + "\x17AdminListReviewsRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"J\n" + "\x18AdminListReviewsResponse\x12.\n" + - "\areviews\x18\x01 \x03(\v2\x14.brent.ReviewSummaryR\areviews\"\xdb\x06\n" + + "\areviews\x18\x01 \x03(\v2\x14.until.ReviewSummaryR\areviews\"\xdb\x06\n" + "\rReviewSummary\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12!\n" + @@ -25175,8 +25176,8 @@ const file_brent_proto_rawDesc = "" + "\x15AdminGetReviewRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"u\n" + "\x16AdminGetReviewResponse\x12%\n" + - "\x06review\x18\x01 \x01(\v2\r.brent.ReviewR\x06review\x12+\n" + - "\x04plan\x18\x02 \x01(\v2\x12.brent.PlanSummaryH\x00R\x04plan\x88\x01\x01B\a\n" + + "\x06review\x18\x01 \x01(\v2\r.until.ReviewR\x06review\x12+\n" + + "\x04plan\x18\x02 \x01(\v2\x12.until.PlanSummaryH\x00R\x04plan\x88\x01\x01B\a\n" + "\x05_plan\"\xd6\a\n" + "\x06Review\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + @@ -25204,15 +25205,15 @@ const file_brent_proto_rawDesc = "" + "\x04slug\x18\x03 \x01(\tR\x04slug\x12!\n" + "\fdisplay_name\x18\x04 \x01(\tR\vdisplayName\"N\n" + "\x19AdminListAccountsResponse\x121\n" + - "\baccounts\x18\x01 \x03(\v2\x15.brent.AccountSummaryR\baccounts\"B\n" + + "\baccounts\x18\x01 \x03(\v2\x15.until.AccountSummaryR\baccounts\"B\n" + "\x1dAdminGetAccountSummaryRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xa2\x01\n" + - "\x11AccountRunSummary\x12&\n" + - "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12\x12\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\x9a\x01\n" + + "\x11AccountRunSummary\x12\x1e\n" + + "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" + "\x06status\x18\x03 \x01(\tR\x06status\x129\n" + "\n" + - "started_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xcc\x04\n" + + "started_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xbc\x04\n" + "\x1eAdminGetAccountSummaryResponse\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + "\vgithub_orgs\x18\x02 \x03(\tR\n" + @@ -25221,12 +25222,12 @@ const file_brent_proto_rawDesc = "" + "\x10linear_connected\x18\x04 \x01(\bR\x0flinearConnected\x12\x1d\n" + "\n" + "plan_count\x18\x05 \x01(\x03R\tplanCount\x12!\n" + - "\freview_count\x18\x06 \x01(\x03R\vreviewCount\x12,\n" + - "\x12workflow_run_count\x18\a \x01(\x03R\x10workflowRunCount\x127\n" + - "\x18workflow_run_error_count\x18\b \x01(\x03R\x15workflowRunErrorCount\x12\x19\n" + + "\freview_count\x18\x06 \x01(\x03R\vreviewCount\x12$\n" + + "\x0eloop_run_count\x18\a \x01(\x03R\floopRunCount\x12/\n" + + "\x14loop_run_error_count\x18\b \x01(\x03R\x11loopRunErrorCount\x12\x19\n" + "\bpr_count\x18\t \x01(\x03R\aprCount\x12@\n" + "\x0elast_active_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\flastActiveAt\x129\n" + - "\vrecent_runs\x18\f \x03(\v2\x18.brent.AccountRunSummaryR\n" + + "\vrecent_runs\x18\f \x03(\v2\x18.until.AccountRunSummaryR\n" + "recentRuns\x12\x12\n" + "\x04slug\x18\r \x01(\tR\x04slug\x12!\n" + "\fdisplay_name\x18\x0e \x01(\tR\vdisplayNameJ\x04\b\n" + @@ -25238,7 +25239,7 @@ const file_brent_proto_rawDesc = "" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x16\n" + "\x06detail\x18\x03 \x01(\tR\x06detail\"\x9d\x01\n" + "%AdminGetAccountHealthAnalysisResponse\x127\n" + - "\bfindings\x18\x01 \x03(\v2\x1b.brent.AccountHealthFindingR\bfindings\x12;\n" + + "\bfindings\x18\x01 \x03(\v2\x1b.until.AccountHealthFindingR\bfindings\x12;\n" + "\vcomputed_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + "computedAt\"G\n" + "\"AdminListAccountMetricReposRequest\x12!\n" + @@ -25247,7 +25248,7 @@ const file_brent_proto_rawDesc = "" + "\tfull_name\x18\x01 \x01(\tR\bfullName\x12\x1a\n" + "\barchived\x18\x02 \x01(\bR\barchived\"U\n" + "#AdminListAccountMetricReposResponse\x12.\n" + - "\x05repos\x18\x01 \x03(\v2\x18.brent.AccountMetricRepoR\x05repos\"\xf9\x04\n" + + "\x05repos\x18\x01 \x03(\v2\x18.until.AccountMetricRepoR\x05repos\"\xf9\x04\n" + ")AdminStartAccountMetricsComparisonRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12$\n" + "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12=\n" + @@ -25258,7 +25259,7 @@ const file_brent_proto_rawDesc = "" + "afterStart\x127\n" + "\tafter_end\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bafterEnd\x12(\n" + "\x10linear_team_name\x18\a \x01(\tR\x0elinearTeamName\x12E\n" + - "\x0fcomparison_mode\x18\b \x01(\x0e2\x1c.brent.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + + "\x0fcomparison_mode\x18\b \x01(\x0e2\x1c.until.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + "\x17planned_unplanned_start\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + "\x15planned_unplanned_end\x18\n" + " \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"C\n" + @@ -25292,7 +25293,7 @@ const file_brent_proto_rawDesc = "" + " \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12\x1f\n" + "\vreport_html\x18\v \x01(\tR\n" + "reportHtml\x12<\n" + - "\bheadline\x18\f \x03(\v2 .brent.MetricsComparisonHeadlineR\bheadline\x12=\n" + + "\bheadline\x18\f \x03(\v2 .until.MetricsComparisonHeadlineR\bheadline\x12=\n" + "\fbefore_start\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\vbeforeStart\x129\n" + "\n" + "before_end\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tbeforeEnd\x12;\n" + @@ -25300,17 +25301,17 @@ const file_brent_proto_rawDesc = "" + "afterStart\x127\n" + "\tafter_end\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\bafterEnd\x12'\n" + "\x0fcomparison_json\x18\x11 \x01(\tR\x0ecomparisonJson\x12>\n" + - "\tartifacts\x18\x12 \x03(\v2 .brent.MetricsComparisonArtifactR\tartifacts\x12E\n" + - "\x0fcomparison_mode\x18\x13 \x01(\x0e2\x1c.brent.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + + "\tartifacts\x18\x12 \x03(\v2 .until.MetricsComparisonArtifactR\tartifacts\x12E\n" + + "\x0fcomparison_mode\x18\x13 \x01(\x0e2\x1c.until.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + "\x17planned_unplanned_start\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + - "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\xf99\n" + + "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\xcb8\n" + "\x05Event\x12\x19\n" + "\bevent_id\x18\x01 \x01(\tR\aeventId\x12;\n" + "\voccurred_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + "occurredAt\x12!\n" + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\"\n" + - "\x05actor\x18\x04 \x01(\v2\f.brent.ActorR\x05actor\x123\n" + - "\x06object\x18\x05 \x01(\v2\x16.brent.ObjectReferenceH\x01R\x06object\x88\x01\x01\x12+\n" + + "\x05actor\x18\x04 \x01(\v2\f.until.ActorR\x05actor\x123\n" + + "\x06object\x18\x05 \x01(\v2\x16.until.ObjectReferenceH\x01R\x06object\x88\x01\x01\x12+\n" + "\x0fsource_repo_url\x18\x06 \x01(\tH\x02R\rsourceRepoUrl\x88\x01\x01\x12\x1e\n" + "\btrace_id\x18\a \x01(\tH\x03R\atraceId\x88\x01\x01\x12\x1c\n" + "\aspan_id\x18\b \x01(\tH\x04R\x06spanId\x88\x01\x01\x123\n" + @@ -25318,87 +25319,87 @@ const file_brent_proto_rawDesc = "" + "\vreceived_at\x18H \x01(\v2\x1a.google.protobuf.TimestampR\n" + "receivedAt\x127\n" + "\fplan_created\x18\n" + - " \x01(\v2\x12.brent.PlanCreatedH\x00R\vplanCreated\x127\n" + - "\fplan_updated\x18\v \x01(\v2\x12.brent.PlanUpdatedH\x00R\vplanUpdated\x127\n" + - "\fplan_deleted\x18\f \x01(\v2\x12.brent.PlanDeletedH\x00R\vplanDeleted\x12C\n" + - "\x10review_requested\x18\r \x01(\v2\x16.brent.ReviewRequestedH\x00R\x0freviewRequested\x12C\n" + - "\x10review_submitted\x18\x0e \x01(\v2\x16.brent.ReviewSubmittedH\x00R\x0freviewSubmitted\x12)\n" + - "\x05other\x18\x0f \x01(\v2\x11.brent.OtherEventH\x00R\x05other\x12=\n" + - "\x0egithub_webhook\x18\x10 \x01(\v2\x14.brent.GitHubWebhookH\x00R\rgithubWebhook\x12B\n" + - "\rslack_mention\x18\x11 \x01(\v2\x1b.brent.SlackMentionReceivedH\x00R\fslackMention\x12B\n" + - "\x0eslack_reaction\x18\x12 \x01(\v2\x19.brent.SlackReactionAddedH\x00R\rslackReaction\x12J\n" + - "\x13pull_request_opened\x18\x13 \x01(\v2\x18.brent.PullRequestOpenedH\x00R\x11pullRequestOpened\x12\\\n" + - "\x19pull_request_synchronized\x18\x14 \x01(\v2\x1e.brent.PullRequestSynchronizedH\x00R\x17pullRequestSynchronized\x12M\n" + - "\x14pull_request_updated\x18\x15 \x01(\v2\x19.brent.PullRequestUpdatedH\x00R\x12pullRequestUpdated\x12J\n" + - "\x13pull_request_closed\x18\x16 \x01(\v2\x18.brent.PullRequestClosedH\x00R\x11pullRequestClosed\x12^\n" + - "\x1bpull_request_linked_to_plan\x18\x17 \x01(\v2\x1e.brent.PullRequestLinkedToPlanH\x00R\x17pullRequestLinkedToPlan\x12j\n" + - "\x1fpull_request_unlinked_from_plan\x18\x18 \x01(\v2\".brent.PullRequestUnlinkedFromPlanH\x00R\x1bpullRequestUnlinkedFromPlan\x12\x81\x01\n" + - "&organisation_app_installation_upserted\x18\x19 \x01(\v2*.brent.OrganisationAppInstallationUpsertedH\x00R#organisationAppInstallationUpserted\x12~\n" + - "%organisation_app_installation_deleted\x18\x1a \x01(\v2).brent.OrganisationAppInstallationDeletedH\x00R\"organisationAppInstallationDeleted\x12_\n" + - "\x1adeviation_analysis_started\x18\x1b \x01(\v2\x1f.brent.DeviationAnalysisStartedH\x00R\x18deviationAnalysisStarted\x12e\n" + - "\x1cdeviation_analysis_completed\x18\x1c \x01(\v2!.brent.DeviationAnalysisCompletedH\x00R\x1adeviationAnalysisCompleted\x12\\\n" + - "\x19deviation_analysis_failed\x18\x1d \x01(\v2\x1e.brent.DeviationAnalysisFailedH\x00R\x17deviationAnalysisFailed\x12J\n" + - "\x13workflow_run_queued\x18\x1e \x01(\v2\x18.brent.WorkflowRunQueuedH\x00R\x11workflowRunQueued\x12M\n" + - "\x14workflow_run_started\x18\x1f \x01(\v2\x19.brent.WorkflowRunStartedH\x00R\x12workflowRunStarted\x12S\n" + - "\x16workflow_run_completed\x18 \x01(\v2\x1b.brent.WorkflowRunCompletedH\x00R\x14workflowRunCompleted\x12J\n" + - "\x13workflow_run_failed\x18! \x01(\v2\x18.brent.WorkflowRunFailedH\x00R\x11workflowRunFailed\x12S\n" + - "\x16workflow_run_cancelled\x18\" \x01(\v2\x1b.brent.WorkflowRunCancelledH\x00R\x14workflowRunCancelled\x12`\n" + - "\x1breview_no_eligible_reviewer\x18# \x01(\v2\x1f.brent.ReviewNoEligibleReviewerH\x00R\x18reviewNoEligibleReviewer\x12F\n" + - "\x11principal_created\x18$ \x01(\v2\x17.brent.PrincipalCreatedH\x00R\x10principalCreated\x12F\n" + - "\x11principal_updated\x18% \x01(\v2\x17.brent.PrincipalUpdatedH\x00R\x10principalUpdated\x12O\n" + - "\x14principal_tombstoned\x18& \x01(\v2\x1a.brent.PrincipalTombstonedH\x00R\x13principalTombstoned\x12C\n" + - "\x10identity_created\x18' \x01(\v2\x16.brent.IdentityCreatedH\x00R\x0fidentityCreated\x12C\n" + - "\x10identity_deleted\x18( \x01(\v2\x16.brent.IdentityDeletedH\x00R\x0fidentityDeleted\x12@\n" + - "\x0fbinding_created\x18) \x01(\v2\x15.brent.BindingCreatedH\x00R\x0ebindingCreated\x12@\n" + - "\x0fbinding_updated\x18* \x01(\v2\x15.brent.BindingUpdatedH\x00R\x0ebindingUpdated\x12@\n" + - "\x0fbinding_deleted\x18+ \x01(\v2\x15.brent.BindingDeletedH\x00R\x0ebindingDeleted\x12T\n" + - "\x17review_drive_by_started\x18, \x01(\v2\x1b.brent.ReviewDriveByStartedH\x00R\x14reviewDriveByStarted\x12:\n" + - "\rslack_webhook\x18- \x01(\v2\x13.brent.SlackWebhookH\x00R\fslackWebhook\x12=\n" + - "\x0ereview_deleted\x18. \x01(\v2\x14.brent.ReviewDeletedH\x00R\rreviewDeleted\x12:\n" + - "\rplan_restored\x18/ \x01(\v2\x13.brent.PlanRestoredH\x00R\fplanRestored\x12=\n" + - "\x0elinear_webhook\x180 \x01(\v2\x14.brent.LinearWebhookH\x00R\rlinearWebhook\x12c\n" + - "\x1cpull_request_comment_created\x181 \x01(\v2 .brent.PullRequestCommentCreatedH\x00R\x19pullRequestCommentCreated\x12_\n" + - "\x1adeviation_finding_recorded\x182 \x01(\v2\x1f.brent.DeviationFindingRecordedH\x00R\x18deviationFindingRecorded\x12\\\n" + - "\x19deviation_finding_updated\x183 \x01(\v2\x1e.brent.DeviationFindingUpdatedH\x00R\x17deviationFindingUpdated\x12_\n" + - "\x1adeviation_finding_resolved\x184 \x01(\v2\x1f.brent.DeviationFindingResolvedH\x00R\x18deviationFindingResolved\x12M\n" + - "\x14agent_run_dispatched\x185 \x01(\v2\x19.brent.AgentRunDispatchedH\x00R\x12agentRunDispatched\x12D\n" + - "\x11agent_run_started\x186 \x01(\v2\x16.brent.AgentRunStartedH\x00R\x0fagentRunStarted\x12g\n" + - "\x1eagent_run_pull_request_matched\x187 \x01(\v2!.brent.AgentRunPullRequestMatchedH\x00R\x1aagentRunPullRequestMatched\x12^\n" + - "\x1bagent_run_flagged_needs_you\x188 \x01(\v2\x1e.brent.AgentRunFlaggedNeedsYouH\x00R\x17agentRunFlaggedNeedsYou\x12A\n" + - "\x10agent_run_merged\x189 \x01(\v2\x15.brent.AgentRunMergedH\x00R\x0eagentRunMerged\x12G\n" + - "\x12agent_run_declined\x18: \x01(\v2\x17.brent.AgentRunDeclinedH\x00R\x10agentRunDeclined\x12J\n" + - "\x13agent_run_cancelled\x18; \x01(\v2\x18.brent.AgentRunCancelledH\x00R\x11agentRunCancelled\x12N\n" + - "\x15agent_run_gate_passed\x18J \x01(\v2\x19.brent.AgentRunGatePassedH\x00R\x12agentRunGatePassed\x12k\n" + - " pull_request_linked_to_agent_run\x18< \x01(\v2\".brent.PullRequestLinkedToAgentRunH\x00R\x1bpullRequestLinkedToAgentRun\x12F\n" + - "\x11workflow_ingested\x18= \x01(\v2\x17.brent.WorkflowIngestedH\x00R\x10workflowIngested\x12f\n" + - "\x1dpull_request_review_requested\x18? \x01(\v2!.brent.PullRequestReviewRequestedH\x00R\x1apullRequestReviewRequested\x12P\n" + - "\x15pull_request_approved\x18@ \x01(\v2\x1a.brent.PullRequestApprovedH\x00R\x13pullRequestApproved\x12i\n" + - "\x1epull_request_changes_requested\x18A \x01(\v2\".brent.PullRequestChangesRequestedH\x00R\x1bpullRequestChangesRequested\x12f\n" + - "\x1dpull_request_review_dismissed\x18B \x01(\v2!.brent.PullRequestReviewDismissedH\x00R\x1apullRequestReviewDismissed\x12O\n" + - "\x14credential_connected\x18C \x01(\v2\x1a.brent.CredentialConnectedH\x00R\x13credentialConnected\x12I\n" + - "\x12credential_revoked\x18D \x01(\v2\x18.brent.CredentialRevokedH\x00R\x11credentialRevoked\x12J\n" + - "\x13agent_run_annotated\x18E \x01(\v2\x18.brent.AgentRunAnnotatedH\x00R\x11agentRunAnnotated\x12F\n" + - "\x11workspace_created\x18G \x01(\v2\x17.brent.WorkspaceCreatedH\x00R\x10workspaceCreated\x12v\n" + - "#mcp_grant_workspace_binding_changed\x18I \x01(\v2&.brent.MCPGrantWorkspaceBindingChangedH\x00R\x1fmcpGrantWorkspaceBindingChanged\x12k\n" + - "\x1eworkspace_onboarding_completed\x18K \x01(\v2#.brent.WorkspaceOnboardingCompletedH\x00R\x1cworkspaceOnboardingCompleted\x12F\n" + - "\x11workspace_renamed\x18L \x01(\v2\x17.brent.WorkspaceRenamedH\x00R\x10workspaceRenamed\x12F\n" + - "\x11workspace_deleted\x18M \x01(\v2\x17.brent.WorkspaceDeletedH\x00R\x10workspaceDeleted\x12`\n" + - "\x1bapproved_email_domain_added\x18N \x01(\v2\x1f.brent.ApprovedEmailDomainAddedH\x00R\x18approvedEmailDomainAdded\x12i\n" + - "\x1eapproved_email_domain_verified\x18O \x01(\v2\".brent.ApprovedEmailDomainVerifiedH\x00R\x1bapprovedEmailDomainVerified\x12f\n" + - "\x1dapproved_email_domain_deleted\x18P \x01(\v2!.brent.ApprovedEmailDomainDeletedH\x00R\x1aapprovedEmailDomainDeleted\x12=\n" + - "\x0egitlab_webhook\x18Q \x01(\v2\x14.brent.GitLabWebhookH\x00R\rgitlabWebhook\x12u\n" + - "\"workspace_llm_credential_connected\x18R \x01(\v2&.brent.WorkspaceLLMCredentialConnectedH\x00R\x1fworkspaceLlmCredentialConnected\x12o\n" + - " workspace_llm_credential_revoked\x18S \x01(\v2$.brent.WorkspaceLLMCredentialRevokedH\x00R\x1dworkspaceLlmCredentialRevoked\x12F\n" + - "\x11bitbucket_webhook\x18T \x01(\v2\x17.brent.BitbucketWebhookH\x00R\x10bitbucketWebhook\x12V\n" + - "\x17workspace_member_joined\x18U \x01(\v2\x1c.brent.WorkspaceMemberJoinedH\x00R\x15workspaceMemberJoined\x12P\n" + - "\x15workspace_member_left\x18V \x01(\v2\x1a.brent.WorkspaceMemberLeftH\x00R\x13workspaceMemberLeft\x12Y\n" + - "\x18composio_trigger_message\x18W \x01(\v2\x1d.brent.ComposioTriggerMessageH\x00R\x16composioTriggerMessage\x12k\n" + - "\x1edeviation_finding_acknowledged\x18X \x01(\v2#.brent.DeviationFindingAcknowledgedH\x00R\x1cdeviationFindingAcknowledged\x12\x8a\x01\n" + - ")deviation_finding_acknowledgement_cleared\x18Y \x01(\v2-.brent.DeviationFindingAcknowledgementClearedH\x00R&deviationFindingAcknowledgementCleared\x12]\n" + - "\x1aplan_review_policy_decided\x18Z \x01(\v2\x1e.brent.PlanReviewPolicyDecidedH\x00R\x17planReviewPolicyDecided\x12@\n" + - "\x0freview_restored\x18[ \x01(\v2\x15.brent.ReviewRestoredH\x00R\x0ereviewRestored\x12l\n" + - "\x1fworkspace_review_policy_updated\x18\\ \x01(\v2#.brent.WorkspaceReviewPolicyUpdatedH\x00R\x1cworkspaceReviewPolicyUpdated\x12S\n" + - "\x16unknown_stored_payload\x18F \x01(\v2\x1b.brent.UnknownStoredPayloadH\x00R\x14unknownStoredPayloadB\t\n" + + " \x01(\v2\x12.until.PlanCreatedH\x00R\vplanCreated\x127\n" + + "\fplan_updated\x18\v \x01(\v2\x12.until.PlanUpdatedH\x00R\vplanUpdated\x127\n" + + "\fplan_deleted\x18\f \x01(\v2\x12.until.PlanDeletedH\x00R\vplanDeleted\x12C\n" + + "\x10review_requested\x18\r \x01(\v2\x16.until.ReviewRequestedH\x00R\x0freviewRequested\x12C\n" + + "\x10review_submitted\x18\x0e \x01(\v2\x16.until.ReviewSubmittedH\x00R\x0freviewSubmitted\x12)\n" + + "\x05other\x18\x0f \x01(\v2\x11.until.OtherEventH\x00R\x05other\x12=\n" + + "\x0egithub_webhook\x18\x10 \x01(\v2\x14.until.GitHubWebhookH\x00R\rgithubWebhook\x12B\n" + + "\rslack_mention\x18\x11 \x01(\v2\x1b.until.SlackMentionReceivedH\x00R\fslackMention\x12B\n" + + "\x0eslack_reaction\x18\x12 \x01(\v2\x19.until.SlackReactionAddedH\x00R\rslackReaction\x12J\n" + + "\x13pull_request_opened\x18\x13 \x01(\v2\x18.until.PullRequestOpenedH\x00R\x11pullRequestOpened\x12\\\n" + + "\x19pull_request_synchronized\x18\x14 \x01(\v2\x1e.until.PullRequestSynchronizedH\x00R\x17pullRequestSynchronized\x12M\n" + + "\x14pull_request_updated\x18\x15 \x01(\v2\x19.until.PullRequestUpdatedH\x00R\x12pullRequestUpdated\x12J\n" + + "\x13pull_request_closed\x18\x16 \x01(\v2\x18.until.PullRequestClosedH\x00R\x11pullRequestClosed\x12^\n" + + "\x1bpull_request_linked_to_plan\x18\x17 \x01(\v2\x1e.until.PullRequestLinkedToPlanH\x00R\x17pullRequestLinkedToPlan\x12j\n" + + "\x1fpull_request_unlinked_from_plan\x18\x18 \x01(\v2\".until.PullRequestUnlinkedFromPlanH\x00R\x1bpullRequestUnlinkedFromPlan\x12\x81\x01\n" + + "&organisation_app_installation_upserted\x18\x19 \x01(\v2*.until.OrganisationAppInstallationUpsertedH\x00R#organisationAppInstallationUpserted\x12~\n" + + "%organisation_app_installation_deleted\x18\x1a \x01(\v2).until.OrganisationAppInstallationDeletedH\x00R\"organisationAppInstallationDeleted\x12G\n" + + "\x12plan_check_started\x18\x1b \x01(\v2\x17.until.PlanCheckStartedH\x00R\x10planCheckStarted\x12M\n" + + "\x14plan_check_completed\x18\x1c \x01(\v2\x19.until.PlanCheckCompletedH\x00R\x12planCheckCompleted\x12D\n" + + "\x11plan_check_failed\x18\x1d \x01(\v2\x16.until.PlanCheckFailedH\x00R\x0fplanCheckFailed\x12>\n" + + "\x0floop_run_queued\x18\x1e \x01(\v2\x14.until.LoopRunQueuedH\x00R\rloopRunQueued\x12A\n" + + "\x10loop_run_started\x18\x1f \x01(\v2\x15.until.LoopRunStartedH\x00R\x0eloopRunStarted\x12G\n" + + "\x12loop_run_completed\x18 \x01(\v2\x17.until.LoopRunCompletedH\x00R\x10loopRunCompleted\x12>\n" + + "\x0floop_run_failed\x18! \x01(\v2\x14.until.LoopRunFailedH\x00R\rloopRunFailed\x12G\n" + + "\x12loop_run_cancelled\x18\" \x01(\v2\x17.until.LoopRunCancelledH\x00R\x10loopRunCancelled\x12`\n" + + "\x1breview_no_eligible_reviewer\x18# \x01(\v2\x1f.until.ReviewNoEligibleReviewerH\x00R\x18reviewNoEligibleReviewer\x12F\n" + + "\x11principal_created\x18$ \x01(\v2\x17.until.PrincipalCreatedH\x00R\x10principalCreated\x12F\n" + + "\x11principal_updated\x18% \x01(\v2\x17.until.PrincipalUpdatedH\x00R\x10principalUpdated\x12O\n" + + "\x14principal_tombstoned\x18& \x01(\v2\x1a.until.PrincipalTombstonedH\x00R\x13principalTombstoned\x12C\n" + + "\x10identity_created\x18' \x01(\v2\x16.until.IdentityCreatedH\x00R\x0fidentityCreated\x12C\n" + + "\x10identity_deleted\x18( \x01(\v2\x16.until.IdentityDeletedH\x00R\x0fidentityDeleted\x12@\n" + + "\x0fbinding_created\x18) \x01(\v2\x15.until.BindingCreatedH\x00R\x0ebindingCreated\x12@\n" + + "\x0fbinding_updated\x18* \x01(\v2\x15.until.BindingUpdatedH\x00R\x0ebindingUpdated\x12@\n" + + "\x0fbinding_deleted\x18+ \x01(\v2\x15.until.BindingDeletedH\x00R\x0ebindingDeleted\x12T\n" + + "\x17review_drive_by_started\x18, \x01(\v2\x1b.until.ReviewDriveByStartedH\x00R\x14reviewDriveByStarted\x12:\n" + + "\rslack_webhook\x18- \x01(\v2\x13.until.SlackWebhookH\x00R\fslackWebhook\x12=\n" + + "\x0ereview_deleted\x18. \x01(\v2\x14.until.ReviewDeletedH\x00R\rreviewDeleted\x12:\n" + + "\rplan_restored\x18/ \x01(\v2\x13.until.PlanRestoredH\x00R\fplanRestored\x12=\n" + + "\x0elinear_webhook\x180 \x01(\v2\x14.until.LinearWebhookH\x00R\rlinearWebhook\x12c\n" + + "\x1cpull_request_comment_created\x181 \x01(\v2 .until.PullRequestCommentCreatedH\x00R\x19pullRequestCommentCreated\x12Y\n" + + "\x18plan_difference_recorded\x182 \x01(\v2\x1d.until.PlanDifferenceRecordedH\x00R\x16planDifferenceRecorded\x12V\n" + + "\x17plan_difference_updated\x183 \x01(\v2\x1c.until.PlanDifferenceUpdatedH\x00R\x15planDifferenceUpdated\x12Y\n" + + "\x18plan_difference_resolved\x184 \x01(\v2\x1d.until.PlanDifferenceResolvedH\x00R\x16planDifferenceResolved\x12M\n" + + "\x14agent_run_dispatched\x185 \x01(\v2\x19.until.AgentRunDispatchedH\x00R\x12agentRunDispatched\x12D\n" + + "\x11agent_run_started\x186 \x01(\v2\x16.until.AgentRunStartedH\x00R\x0fagentRunStarted\x12g\n" + + "\x1eagent_run_pull_request_matched\x187 \x01(\v2!.until.AgentRunPullRequestMatchedH\x00R\x1aagentRunPullRequestMatched\x12^\n" + + "\x1bagent_run_flagged_needs_you\x188 \x01(\v2\x1e.until.AgentRunFlaggedNeedsYouH\x00R\x17agentRunFlaggedNeedsYou\x12A\n" + + "\x10agent_run_merged\x189 \x01(\v2\x15.until.AgentRunMergedH\x00R\x0eagentRunMerged\x12G\n" + + "\x12agent_run_declined\x18: \x01(\v2\x17.until.AgentRunDeclinedH\x00R\x10agentRunDeclined\x12J\n" + + "\x13agent_run_cancelled\x18; \x01(\v2\x18.until.AgentRunCancelledH\x00R\x11agentRunCancelled\x12N\n" + + "\x15agent_run_gate_passed\x18J \x01(\v2\x19.until.AgentRunGatePassedH\x00R\x12agentRunGatePassed\x12k\n" + + " pull_request_linked_to_agent_run\x18< \x01(\v2\".until.PullRequestLinkedToAgentRunH\x00R\x1bpullRequestLinkedToAgentRun\x12:\n" + + "\rloop_ingested\x18= \x01(\v2\x13.until.LoopIngestedH\x00R\floopIngested\x12f\n" + + "\x1dpull_request_review_requested\x18? \x01(\v2!.until.PullRequestReviewRequestedH\x00R\x1apullRequestReviewRequested\x12P\n" + + "\x15pull_request_approved\x18@ \x01(\v2\x1a.until.PullRequestApprovedH\x00R\x13pullRequestApproved\x12i\n" + + "\x1epull_request_changes_requested\x18A \x01(\v2\".until.PullRequestChangesRequestedH\x00R\x1bpullRequestChangesRequested\x12f\n" + + "\x1dpull_request_review_dismissed\x18B \x01(\v2!.until.PullRequestReviewDismissedH\x00R\x1apullRequestReviewDismissed\x12O\n" + + "\x14credential_connected\x18C \x01(\v2\x1a.until.CredentialConnectedH\x00R\x13credentialConnected\x12I\n" + + "\x12credential_revoked\x18D \x01(\v2\x18.until.CredentialRevokedH\x00R\x11credentialRevoked\x12J\n" + + "\x13agent_run_annotated\x18E \x01(\v2\x18.until.AgentRunAnnotatedH\x00R\x11agentRunAnnotated\x12F\n" + + "\x11workspace_created\x18G \x01(\v2\x17.until.WorkspaceCreatedH\x00R\x10workspaceCreated\x12v\n" + + "#mcp_grant_workspace_binding_changed\x18I \x01(\v2&.until.MCPGrantWorkspaceBindingChangedH\x00R\x1fmcpGrantWorkspaceBindingChanged\x12k\n" + + "\x1eworkspace_onboarding_completed\x18K \x01(\v2#.until.WorkspaceOnboardingCompletedH\x00R\x1cworkspaceOnboardingCompleted\x12F\n" + + "\x11workspace_renamed\x18L \x01(\v2\x17.until.WorkspaceRenamedH\x00R\x10workspaceRenamed\x12F\n" + + "\x11workspace_deleted\x18M \x01(\v2\x17.until.WorkspaceDeletedH\x00R\x10workspaceDeleted\x12`\n" + + "\x1bapproved_email_domain_added\x18N \x01(\v2\x1f.until.ApprovedEmailDomainAddedH\x00R\x18approvedEmailDomainAdded\x12i\n" + + "\x1eapproved_email_domain_verified\x18O \x01(\v2\".until.ApprovedEmailDomainVerifiedH\x00R\x1bapprovedEmailDomainVerified\x12f\n" + + "\x1dapproved_email_domain_deleted\x18P \x01(\v2!.until.ApprovedEmailDomainDeletedH\x00R\x1aapprovedEmailDomainDeleted\x12=\n" + + "\x0egitlab_webhook\x18Q \x01(\v2\x14.until.GitLabWebhookH\x00R\rgitlabWebhook\x12u\n" + + "\"workspace_llm_credential_connected\x18R \x01(\v2&.until.WorkspaceLLMCredentialConnectedH\x00R\x1fworkspaceLlmCredentialConnected\x12o\n" + + " workspace_llm_credential_revoked\x18S \x01(\v2$.until.WorkspaceLLMCredentialRevokedH\x00R\x1dworkspaceLlmCredentialRevoked\x12F\n" + + "\x11bitbucket_webhook\x18T \x01(\v2\x17.until.BitbucketWebhookH\x00R\x10bitbucketWebhook\x12V\n" + + "\x17workspace_member_joined\x18U \x01(\v2\x1c.until.WorkspaceMemberJoinedH\x00R\x15workspaceMemberJoined\x12P\n" + + "\x15workspace_member_left\x18V \x01(\v2\x1a.until.WorkspaceMemberLeftH\x00R\x13workspaceMemberLeft\x12Y\n" + + "\x18composio_trigger_message\x18W \x01(\v2\x1d.until.ComposioTriggerMessageH\x00R\x16composioTriggerMessage\x12e\n" + + "\x1cplan_difference_acknowledged\x18X \x01(\v2!.until.PlanDifferenceAcknowledgedH\x00R\x1aplanDifferenceAcknowledged\x12\x84\x01\n" + + "'plan_difference_acknowledgement_cleared\x18Y \x01(\v2+.until.PlanDifferenceAcknowledgementClearedH\x00R$planDifferenceAcknowledgementCleared\x12]\n" + + "\x1aplan_review_policy_decided\x18Z \x01(\v2\x1e.until.PlanReviewPolicyDecidedH\x00R\x17planReviewPolicyDecided\x12@\n" + + "\x0freview_restored\x18[ \x01(\v2\x15.until.ReviewRestoredH\x00R\x0ereviewRestored\x12l\n" + + "\x1fworkspace_review_policy_updated\x18\\ \x01(\v2#.until.WorkspaceReviewPolicyUpdatedH\x00R\x1cworkspaceReviewPolicyUpdated\x12S\n" + + "\x16unknown_stored_payload\x18F \x01(\v2\x1b.until.UnknownStoredPayloadH\x00R\x14unknownStoredPayloadB\t\n" + "\apayloadB\t\n" + "\a_objectB\x12\n" + "\x10_source_repo_urlB\v\n" + @@ -25423,8 +25424,8 @@ const file_brent_proto_rawDesc = "" + "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x12%\n" + "\x0echanged_fields\x18\x02 \x03(\tR\rchangedFields\x12<\n" + - "\bprevious\x18\x03 \x03(\v2 .brent.PlanUpdated.PreviousEntryR\bprevious\x123\n" + - "\x05after\x18\x05 \x03(\v2\x1d.brent.PlanUpdated.AfterEntryR\x05after\x1aS\n" + + "\bprevious\x18\x03 \x03(\v2 .until.PlanUpdated.PreviousEntryR\bprevious\x123\n" + + "\x05after\x18\x05 \x03(\v2\x1d.until.PlanUpdated.AfterEntryR\x05after\x1aS\n" + "\rPreviousEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + @@ -25489,8 +25490,8 @@ const file_brent_proto_rawDesc = "" + "\x10PrincipalUpdated\x12!\n" + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12%\n" + "\x0echanged_fields\x18\x02 \x03(\tR\rchangedFields\x12A\n" + - "\bprevious\x18\x03 \x03(\v2%.brent.PrincipalUpdated.PreviousEntryR\bprevious\x128\n" + - "\x05after\x18\x04 \x03(\v2\".brent.PrincipalUpdated.AfterEntryR\x05after\x1aS\n" + + "\bprevious\x18\x03 \x03(\v2%.until.PrincipalUpdated.PreviousEntryR\bprevious\x128\n" + + "\x05after\x18\x04 \x03(\v2\".until.PrincipalUpdated.AfterEntryR\x05after\x1aS\n" + "\rPreviousEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + @@ -25525,7 +25526,7 @@ const file_brent_proto_rawDesc = "" + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12!\n" + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x12\n" + "\x04role\x18\x04 \x01(\tR\x04role\x12)\n" + - "\x06source\x18\x05 \x01(\x0e2\x11.brent.JoinSourceR\x06source\"~\n" + + "\x06source\x18\x05 \x01(\x0e2\x11.until.JoinSourceR\x06source\"~\n" + "\x13WorkspaceMemberLeft\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12!\n" + @@ -25579,8 +25580,8 @@ const file_brent_proto_rawDesc = "" + "binding_id\x18\x01 \x01(\tR\tbindingId\x12!\n" + "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12%\n" + "\x0echanged_fields\x18\x03 \x03(\tR\rchangedFields\x12?\n" + - "\bprevious\x18\x04 \x03(\v2#.brent.BindingUpdated.PreviousEntryR\bprevious\x126\n" + - "\x05after\x18\x05 \x03(\v2 .brent.BindingUpdated.AfterEntryR\x05after\x1aS\n" + + "\bprevious\x18\x04 \x03(\v2#.until.BindingUpdated.PreviousEntryR\bprevious\x126\n" + + "\x05after\x18\x05 \x03(\v2 .until.BindingUpdated.AfterEntryR\x05after\x1aS\n" + "\rPreviousEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + @@ -25616,7 +25617,7 @@ const file_brent_proto_rawDesc = "" + "\x06source\x18\x01 \x01(\tR\x06source\x12\x1d\n" + "\n" + "event_kind\x18\x02 \x01(\tR\teventKind\x125\n" + - "\x06fields\x18\x03 \x03(\v2\x1d.brent.OtherEvent.FieldsEntryR\x06fields\x1a9\n" + + "\x06fields\x18\x03 \x03(\v2\x1d.until.OtherEvent.FieldsEntryR\x06fields\x1a9\n" + "\vFieldsEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x88\x01\n" + @@ -25683,8 +25684,8 @@ const file_brent_proto_rawDesc = "" + "\vlink_reason\x18\x0f \x01(\tR\n" + "linkReason\x12(\n" + "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12C\n" + - "\bprevious\x18\x11 \x03(\v2'.brent.PullRequestUpdated.PreviousEntryR\bprevious\x12:\n" + - "\x05after\x18\x12 \x03(\v2$.brent.PullRequestUpdated.AfterEntryR\x05after\x1aS\n" + + "\bprevious\x18\x11 \x03(\v2'.until.PullRequestUpdated.PreviousEntryR\bprevious\x12:\n" + + "\x05after\x18\x12 \x03(\v2$.until.PullRequestUpdated.AfterEntryR\x05after\x1aS\n" + "\rPreviousEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + @@ -25839,103 +25840,90 @@ const file_brent_proto_rawDesc = "" + "\x06action\x18\b \x01(\tR\x06action\x12\x16\n" + "\x06author\x18\t \x01(\tR\x06author\x12\"\n" + "\rauthor_is_bot\x18\n" + - " \x01(\bR\vauthorIsBot\"\x95\x02\n" + - "\x18DeviationAnalysisStarted\x12\x1f\n" + - "\vanalysis_id\x18\x01 \x01(\tR\n" + - "analysisId\x12\x13\n" + + " \x01(\bR\vauthorIsBot\"\x88\x02\n" + + "\x10PlanCheckStarted\x12\"\n" + + "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12\x13\n" + "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12&\n" + - "\x0fworkflow_run_id\x18\x05 \x01(\tR\rworkflowRunId\x129\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12\x1e\n" + + "\vloop_run_id\x18\x05 \x01(\tR\tloopRunId\x129\n" + "\n" + - "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xb0\x01\n" + - "\x0eFindingSummary\x12\x12\n" + + "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xb3\x01\n" + + "\x11DifferenceSummary\x12\x12\n" + "\x04kind\x18\x01 \x01(\tR\x04kind\x12\"\n" + "\facknowledged\x18\x02 \x01(\bR\facknowledged\x12\x1d\n" + "\n" + "ack_source\x18\x03 \x01(\tR\tackSource\x12\x17\n" + "\aack_ref\x18\x04 \x01(\tR\x06ackRef\x12.\n" + - "\x13ack_reasoning_quote\x18\x05 \x01(\tR\x11ackReasoningQuote\"\xde\x04\n" + - "\x1aDeviationAnalysisCompleted\x12\x1f\n" + - "\vanalysis_id\x18\x01 \x01(\tR\n" + - "analysisId\x12\x13\n" + + "\x13ack_reasoning_quote\x18\x05 \x01(\tR\x11ackReasoningQuote\"\xf7\x04\n" + + "\x12PlanCheckCompleted\x12\"\n" + + "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12\x13\n" + "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\f \x01(\tR\x0eplanFriendlyId\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12i\n" + - "\x14finding_count_by_tag\x18\a \x03(\v28.brent.DeviationAnalysisCompleted.FindingCountByTagEntryR\x11findingCountByTag\x12=\n" + - "\fcompleted_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12)\n" + - "\x10check_conclusion\x18\t \x01(\tR\x0fcheckConclusion\x129\n" + - "\x19applied_red_finding_kinds\x18\n" + - " \x03(\tR\x16appliedRedFindingKinds\x121\n" + - "\bfindings\x18\v \x03(\v2\x15.brent.FindingSummaryR\bfindings\x1aD\n" + - "\x16FindingCountByTagEntry\x12\x10\n" + + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12j\n" + + "\x17difference_count_by_tag\x18\a \x03(\v23.until.PlanCheckCompleted.DifferenceCountByTagEntryR\x14differenceCountByTag\x12=\n" + + "\fcompleted_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12,\n" + + "\x12plan_check_outcome\x18\t \x01(\tR\x10planCheckOutcome\x12G\n" + + " applied_blocking_difference_tags\x18\n" + + " \x03(\tR\x1dappliedBlockingDifferenceTags\x12:\n" + + "\vdifferences\x18\v \x03(\v2\x18.until.DifferenceSummaryR\vdifferences\x1aG\n" + + "\x19DifferenceCountByTagEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01J\x04\b\x05\x10\x06J\x04\b\x06\x10\aR\averdictR\n" + - "summary_md\"\x82\x02\n" + - "\x17DeviationAnalysisFailed\x12\x1f\n" + - "\vanalysis_id\x18\x01 \x01(\tR\n" + - "analysisId\x12\x13\n" + + "summary_md\"\xfd\x01\n" + + "\x0fPlanCheckFailed\x12\"\n" + + "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12\x13\n" + "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x12\x19\n" + "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12\x16\n" + "\x06reason\x18\x05 \x01(\tR\x06reason\x127\n" + - "\tfailed_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\xc3\x01\n" + - "\x18DeviationFindingRecorded\x12\x1d\n" + - "\n" + - "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + - "\vanalysis_id\x18\x02 \x01(\tR\n" + - "analysisId\x12\x10\n" + + "\tfailed_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\xd3\x01\n" + + "\x16PlanDifferenceRecorded\x12,\n" + + "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + + "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x18\n" + "\asummary\x18\x04 \x01(\tR\asummary\x12;\n" + "\vrecorded_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "recordedAt\"\xde\x03\n" + - "\x17DeviationFindingUpdated\x12\x1d\n" + - "\n" + - "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + - "\vanalysis_id\x18\x02 \x01(\tR\n" + - "analysisId\x12\x10\n" + + "recordedAt\"\xea\x03\n" + + "\x15PlanDifferenceUpdated\x12,\n" + + "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + + "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x18\n" + "\asummary\x18\x04 \x01(\tR\asummary\x12%\n" + - "\x0echanged_fields\x18\x05 \x03(\tR\rchangedFields\x12H\n" + - "\bprevious\x18\x06 \x03(\v2,.brent.DeviationFindingUpdated.PreviousEntryR\bprevious\x12?\n" + - "\x05after\x18\a \x03(\v2).brent.DeviationFindingUpdated.AfterEntryR\x05after\x1aS\n" + + "\x0echanged_fields\x18\x05 \x03(\tR\rchangedFields\x12F\n" + + "\bprevious\x18\x06 \x03(\v2*.until.PlanDifferenceUpdated.PreviousEntryR\bprevious\x12=\n" + + "\x05after\x18\a \x03(\v2'.until.PlanDifferenceUpdated.AfterEntryR\x05after\x1aS\n" + "\rPreviousEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + "\n" + "AfterEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xee\x01\n" + - "\x18DeviationFindingResolved\x12\x1d\n" + - "\n" + - "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + - "\vanalysis_id\x18\x02 \x01(\tR\n" + - "analysisId\x12\x10\n" + + "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xfe\x01\n" + + "\x16PlanDifferenceResolved\x12,\n" + + "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + + "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x16\n" + "\x06reason\x18\x04 \x01(\tR\x06reason\x12+\n" + "\x11resolution_commit\x18\x05 \x01(\tR\x10resolutionCommit\x12;\n" + "\vresolved_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "resolvedAt\"\xb1\x02\n" + - "\x1cDeviationFindingAcknowledged\x12\x1d\n" + - "\n" + - "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + - "\vanalysis_id\x18\x02 \x01(\tR\n" + - "analysisId\x12\x10\n" + + "resolvedAt\"\xc1\x02\n" + + "\x1aPlanDifferenceAcknowledged\x12,\n" + + "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + + "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x12\n" + "\x04slug\x18\x04 \x01(\tR\x04slug\x12\x1d\n" + "\n" + "ack_source\x18\x05 \x01(\tR\tackSource\x12\x17\n" + "\aack_ref\x18\x06 \x01(\tR\x06ackRef\x12.\n" + "\x13ack_reasoning_quote\x18\a \x01(\tR\x11ackReasoningQuote\x12C\n" + - "\x0facknowledged_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0eacknowledgedAt\"\xb1\x02\n" + - "&DeviationFindingAcknowledgementCleared\x12\x1d\n" + - "\n" + - "finding_id\x18\x01 \x01(\tR\tfindingId\x12\x1f\n" + - "\vanalysis_id\x18\x02 \x01(\tR\n" + - "analysisId\x12\x10\n" + + "\x0facknowledged_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0eacknowledgedAt\"\xc1\x02\n" + + "$PlanDifferenceAcknowledgementCleared\x12,\n" + + "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + + "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x12\n" + "\x04slug\x18\x04 \x01(\tR\x04slug\x12\x1d\n" + "\n" + @@ -25994,52 +25982,52 @@ const file_brent_proto_rawDesc = "" + "\x13author_principal_id\x18\x03 \x01(\tR\x11authorPrincipalId\x12\x1a\n" + "\bprovider\x18\x04 \x01(\tR\bprovider\x12\x1b\n" + "\tplan_uuid\x18\x05 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\"\xa7\x02\n" + - "\x10WorkflowIngested\x121\n" + + "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\"\x97\x02\n" + + "\fLoopIngested\x121\n" + "\x15source_repo_full_name\x18\x01 \x01(\tR\x12sourceRepoFullName\x12\x1f\n" + "\vsource_path\x18\x02 \x01(\tR\n" + "sourcePath\x12\x1d\n" + "\n" + "commit_sha\x18\x03 \x01(\tR\tcommitSha\x12\x18\n" + "\aoutcome\x18\x04 \x01(\tR\aoutcome\x12\x14\n" + - "\x05error\x18\x05 \x01(\tR\x05error\x125\n" + - "\x14workflow_external_id\x18\x06 \x01(\tH\x00R\x12workflowExternalId\x88\x01\x01\x12\x17\n" + - "\x04name\x18\a \x01(\tH\x01R\x04name\x88\x01\x01B\x17\n" + - "\x15_workflow_external_idB\a\n" + - "\x05_name\"\xec\x01\n" + - "\x11WorkflowRunQueued\x12&\n" + - "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + - "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\x05error\x18\x05 \x01(\tR\x05error\x12-\n" + + "\x10loop_external_id\x18\x06 \x01(\tH\x00R\x0eloopExternalId\x88\x01\x01\x12\x17\n" + + "\x04name\x18\a \x01(\tH\x01R\x04name\x88\x01\x01B\x13\n" + + "\x11_loop_external_idB\a\n" + + "\x05_name\"\xd8\x01\n" + + "\rLoopRunQueued\x12\x1e\n" + + "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + + "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x127\n" + - "\tqueued_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bqueuedAt\"\xef\x01\n" + - "\x12WorkflowRunStarted\x12&\n" + - "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + - "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\tqueued_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bqueuedAt\"\xdb\x01\n" + + "\x0eLoopRunStarted\x12\x1e\n" + + "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + + "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x129\n" + "\n" + - "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xf5\x01\n" + - "\x14WorkflowRunCompleted\x12&\n" + - "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + - "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xe1\x01\n" + + "\x10LoopRunCompleted\x12\x1e\n" + + "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + + "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12=\n" + - "\fcompleted_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\"\x91\x02\n" + - "\x11WorkflowRunFailed\x12&\n" + - "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + - "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\fcompleted_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\"\xfd\x01\n" + + "\rLoopRunFailed\x12\x1e\n" + + "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + + "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12#\n" + "\rerror_message\x18\x06 \x01(\tR\ferrorMessage\x127\n" + - "\tfailed_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\x9a\x02\n" + - "\x14WorkflowRunCancelled\x12&\n" + - "\x0fworkflow_run_id\x18\x01 \x01(\tR\rworkflowRunId\x12#\n" + - "\rworkflow_name\x18\x02 \x01(\tR\fworkflowName\x12!\n" + + "\tfailed_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\x86\x02\n" + + "\x10LoopRunCancelled\x12\x1e\n" + + "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + + "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12#\n" + @@ -26120,12 +26108,12 @@ const file_brent_proto_rawDesc = "" + "message_ts\x18\x04 \x01(\tR\tmessageTs\x12\x1a\n" + "\breaction\x18\x05 \x01(\tR\breaction\x12 \n" + "\fitem_user_id\x18\x06 \x01(\tR\n" + - "itemUserId\"9\n" + - "\x14ListWorkflowsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"M\n" + - "\x15ListWorkflowsResponse\x124\n" + - "\tworkflows\x18\x01 \x03(\v2\x16.brent.WorkflowSummaryR\tworkflows\"\xc3\x03\n" + - "\x0fWorkflowSummary\x12\x0e\n" + + "itemUserId\"5\n" + + "\x10ListLoopsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"=\n" + + "\x11ListLoopsResponse\x12(\n" + + "\x05loops\x18\x01 \x03(\v2\x12.until.LoopSummaryR\x05loops\"\xbf\x03\n" + + "\vLoopSummary\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + @@ -26141,12 +26129,12 @@ const file_brent_proto_rawDesc = "" + "\x06status\x18\n" + " \x01(\tR\x06status\x12#\n" + "\rerror_message\x18\v \x01(\tR\ferrorMessage\x12\x14\n" + - "\x05model\x18\f \x01(\tR\x05model\"$\n" + - "\x12GetWorkflowRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"B\n" + - "\x13GetWorkflowResponse\x12+\n" + - "\bworkflow\x18\x01 \x01(\v2\x0f.brent.WorkflowR\bworkflow\"\xfa\x03\n" + - "\bWorkflow\x12\x0e\n" + + "\x05model\x18\f \x01(\tR\x05model\" \n" + + "\x0eGetLoopRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"2\n" + + "\x0fGetLoopResponse\x12\x1f\n" + + "\x04loop\x18\x01 \x01(\v2\v.until.LoopR\x04loop\"\xf6\x03\n" + + "\x04Loop\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + @@ -26164,18 +26152,18 @@ const file_brent_proto_rawDesc = "" + "updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" + "\x06status\x18\f \x01(\tR\x06status\x12#\n" + "\rerror_message\x18\r \x01(\tR\ferrorMessage\x12\x14\n" + - "\x05model\x18\x0e \x01(\tR\x05model\"\xb2\x01\n" + - "\x17ListWorkflowRunsRequest\x12#\n" + - "\rworkflow_name\x18\x01 \x01(\tR\fworkflowName\x12\x14\n" + + "\x05model\x18\x0e \x01(\tR\x05model\"\xa6\x01\n" + + "\x13ListLoopRunsRequest\x12\x1b\n" + + "\tloop_name\x18\x01 \x01(\tR\bloopName\x12\x14\n" + "\x05limit\x18\x02 \x01(\rR\x05limit\x12!\n" + "\fafter_cursor\x18\x03 \x01(\tR\vafterCursor\x12\x16\n" + "\x06status\x18\x04 \x01(\tR\x06status\x12!\n" + - "\faccount_name\x18\x05 \x01(\tR\vaccountName\"j\n" + - "\x18ListWorkflowRunsResponse\x12-\n" + - "\x04runs\x18\x01 \x03(\v2\x19.brent.WorkflowRunSummaryR\x04runs\x12\x1f\n" + + "\faccount_name\x18\x05 \x01(\tR\vaccountName\"b\n" + + "\x14ListLoopRunsResponse\x12)\n" + + "\x04runs\x18\x01 \x03(\v2\x15.until.LoopRunSummaryR\x04runs\x12\x1f\n" + "\vnext_cursor\x18\x02 \x01(\tR\n" + - "nextCursor\"\xdd\t\n" + - "\x12WorkflowRunSummary\x12\x0e\n" + + "nextCursor\"\xc5\t\n" + + "\x0eLoopRunSummary\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + "\x04name\x18\x04 \x01(\tR\x04name\x12 \n" + @@ -26185,8 +26173,8 @@ const file_brent_proto_rawDesc = "" + "\x10plan_friendly_id\x18\b \x01(\tH\x00R\x0eplanFriendlyId\x88\x01\x01\x12 \n" + "\treview_id\x18\t \x01(\tH\x01R\breviewId\x88\x01\x01\x12(\n" + "\rerror_message\x18\v \x01(\tH\x02R\ferrorMessage\x88\x01\x01\x122\n" + - "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x12;\n" + - "\x1aworkflow_source_commit_sha\x18\r \x01(\tR\x17workflowSourceCommitSha\x12>\n" + + "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x123\n" + + "\x16loop_source_commit_sha\x18\r \x01(\tR\x13loopSourceCommitSha\x12>\n" + "\n" + "started_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampH\x03R\tstartedAt\x88\x01\x01\x12B\n" + "\fcompleted_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\x04R\vcompletedAt\x88\x01\x01\x129\n" + @@ -26198,9 +26186,8 @@ const file_brent_proto_rawDesc = "" + "thread_key\x18\x12 \x01(\tH\x05R\tthreadKey\x88\x01\x01\x120\n" + "\x14previous_response_id\x18\x13 \x01(\tR\x12previousResponseId\x122\n" + "\x13resumed_from_run_id\x18\x14 \x01(\tH\x06R\x10resumedFromRunId\x88\x01\x01\x12 \n" + - "\tplan_uuid\x18\x15 \x01(\tH\aR\bplanUuid\x88\x01\x01\x12$\n" + - "\vworkflow_id\x18\x16 \x01(\tH\bR\n" + - "workflowId\x88\x01\x01\x12\x18\n" + + "\tplan_uuid\x18\x15 \x01(\tH\aR\bplanUuid\x88\x01\x01\x12\x1c\n" + + "\aloop_id\x18\x16 \x01(\tH\bR\x06loopId\x88\x01\x01\x12\x18\n" + "\x05pr_id\x18\x17 \x01(\tH\tR\x04prId\x88\x01\x01\x12.\n" + "\x11pr_repo_full_name\x18\x18 \x01(\tH\n" + "R\x0eprRepoFullName\x88\x01\x01\x12 \n" + @@ -26215,29 +26202,30 @@ const file_brent_proto_rawDesc = "" + "\v_thread_keyB\x16\n" + "\x14_resumed_from_run_idB\f\n" + "\n" + - "_plan_uuidB\x0e\n" + - "\f_workflow_idB\b\n" + + "_plan_uuidB\n" + + "\n" + + "\b_loop_idB\b\n" + "\x06_pr_idB\x14\n" + "\x12_pr_repo_full_nameB\f\n" + "\n" + "_pr_numberJ\x04\b\x03\x10\x04J\x04\b\n" + - "\x10\vR\rworkflow_kindR\x06pr_key\"'\n" + - "\x15GetWorkflowRunRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"4\n" + - "\"GetWorkflowRunThreadHistoryRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"}\n" + - "\x18WorkflowRunThreadSegment\x12+\n" + - "\x03run\x18\x01 \x01(\v2\x19.brent.WorkflowRunSummaryR\x03run\x124\n" + - "\x05steps\x18\x02 \x03(\v2\x1e.brent.ExecuteWorkflowResponseR\x05steps\"\x80\x01\n" + - "#GetWorkflowRunThreadHistoryResponse\x12;\n" + - "\bsegments\x18\x01 \x03(\v2\x1f.brent.WorkflowRunThreadSegmentR\bsegments\x12\x1c\n" + - "\ttruncated\x18\x02 \x01(\bR\ttruncated\"\x84\x01\n" + - "\x16GetWorkflowRunResponse\x12$\n" + - "\x03run\x18\x01 \x01(\v2\x12.brent.WorkflowRunR\x03run\x127\n" + - "\bworkflow\x18\x02 \x01(\v2\x16.brent.WorkflowSummaryH\x00R\bworkflow\x88\x01\x01B\v\n" + - "\t_workflow\"\xad\n" + + "\x10\vR\rworkflow_kindR\x06pr_key\"#\n" + + "\x11GetLoopRunRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"0\n" + + "\x1eGetLoopRunThreadHistoryRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"q\n" + + "\x14LoopRunThreadSegment\x12'\n" + + "\x03run\x18\x01 \x01(\v2\x15.until.LoopRunSummaryR\x03run\x120\n" + + "\x05steps\x18\x02 \x03(\v2\x1a.until.ExecuteLoopResponseR\x05steps\"x\n" + + "\x1fGetLoopRunThreadHistoryResponse\x127\n" + + "\bsegments\x18\x01 \x03(\v2\x1b.until.LoopRunThreadSegmentR\bsegments\x12\x1c\n" + + "\ttruncated\x18\x02 \x01(\bR\ttruncated\"l\n" + + "\x12GetLoopRunResponse\x12 \n" + + "\x03run\x18\x01 \x01(\v2\x0e.until.LoopRunR\x03run\x12+\n" + + "\x04loop\x18\x02 \x01(\v2\x12.until.LoopSummaryH\x00R\x04loop\x88\x01\x01B\a\n" + + "\x05_loop\"\xa1\n" + "\n" + - "\vWorkflowRun\x12\x0e\n" + + "\aLoopRun\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + "\x04name\x18\x04 \x01(\tR\x04name\x12 \n" + @@ -26247,8 +26235,8 @@ const file_brent_proto_rawDesc = "" + "\x10plan_friendly_id\x18\b \x01(\tH\x00R\x0eplanFriendlyId\x88\x01\x01\x12 \n" + "\treview_id\x18\t \x01(\tH\x01R\breviewId\x88\x01\x01\x12(\n" + "\rerror_message\x18\v \x01(\tH\x02R\ferrorMessage\x88\x01\x01\x122\n" + - "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x12;\n" + - "\x1aworkflow_source_commit_sha\x18\r \x01(\tR\x17workflowSourceCommitSha\x12>\n" + + "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x123\n" + + "\x16loop_source_commit_sha\x18\r \x01(\tR\x13loopSourceCommitSha\x12>\n" + "\n" + "started_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampH\x03R\tstartedAt\x88\x01\x01\x12B\n" + "\fcompleted_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\x04R\vcompletedAt\x88\x01\x01\x129\n" + @@ -26261,7 +26249,7 @@ const file_brent_proto_rawDesc = "" + "\vresponse_id\x18\x15 \x01(\tR\n" + "responseId\x12)\n" + "\x10cancel_requested\x18\x16 \x01(\bR\x0fcancelRequested\x12K\n" + - "\x18triggering_event_payload\x18\x17 \x01(\v2\f.brent.EventH\x05R\x16triggeringEventPayload\x88\x01\x01\x12\"\n" + + "\x18triggering_event_payload\x18\x17 \x01(\v2\f.until.EventH\x05R\x16triggeringEventPayload\x88\x01\x01\x12\"\n" + "\n" + "thread_key\x18\x18 \x01(\tH\x06R\tthreadKey\x88\x01\x01\x120\n" + "\x14previous_response_id\x18\x19 \x01(\tR\x12previousResponseId\x122\n" + @@ -26284,19 +26272,19 @@ const file_brent_proto_rawDesc = "" + "\x10\vJ\x04\b\x13\x10\x14R\rworkflow_kindR\x06pr_keyR\bhead_sha\"\x1b\n" + "\x19GetPrincipalStatusRequest\"\xe5\x01\n" + "\x1aGetPrincipalStatusResponse\x121\n" + - "\x05state\x18\x01 \x01(\x0e2\x1b.brent.PrincipalStatusStateR\x05state\x123\n" + - "\tprincipal\x18\x02 \x01(\v2\x10.brent.PrincipalH\x00R\tprincipal\x88\x01\x01\x12<\n" + - "\fintegrations\x18\x03 \x03(\v2\x18.brent.IntegrationStatusR\fintegrationsB\f\n" + + "\x05state\x18\x01 \x01(\x0e2\x1b.until.PrincipalStatusStateR\x05state\x123\n" + + "\tprincipal\x18\x02 \x01(\v2\x10.until.PrincipalH\x00R\tprincipal\x88\x01\x01\x12<\n" + + "\fintegrations\x18\x03 \x03(\v2\x18.until.IntegrationStatusR\fintegrationsB\f\n" + "\n" + "_principalJ\x04\b\x04\x10\x05R\rpreferred_ide\"\xb0\x01\n" + "\x1fGetIntegrationConnectURLRequest\x126\n" + - "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x120\n" + - "\x06intent\x18\x02 \x01(\x0e2\x18.brent.IntegrationIntentR\x06intent\x12#\n" + + "\bprovider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x120\n" + + "\x06intent\x18\x02 \x01(\x0e2\x18.until.IntegrationIntentR\x06intent\x12#\n" + "\rinstance_slug\x18\x03 \x01(\tR\finstanceSlug\"4\n" + " GetIntegrationConnectURLResponse\x12\x10\n" + "\x03url\x18\x01 \x01(\tR\x03url\"\x9c\x01\n" + "\x1cDisconnectIntegrationRequest\x126\n" + - "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12#\n" + + "\bprovider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x12#\n" + "\rinstance_slug\x18\x02 \x01(\tR\finstanceSlug\x12\x1f\n" + "\vinstance_id\x18\x03 \x01(\tR\n" + "instanceId\"\x1f\n" + @@ -26331,27 +26319,27 @@ const file_brent_proto_rawDesc = "" + "\frequested_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12!\n" + "\frequested_by\x18\x04 \x01(\tR\vrequestedBy\"\xc2\x03\n" + "\x11IntegrationStatus\x126\n" + - "\bprovider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12#\n" + + "\bprovider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x12#\n" + "\rorg_installed\x18\x02 \x01(\bR\forgInstalled\x12\x1d\n" + "\n" + "user_bound\x18\x03 \x01(\bR\tuserBound\x12B\n" + - "\x0egithub_pending\x18\x04 \x03(\v2\x1b.brent.GitHubPendingInstallR\rgithubPending\x12=\n" + + "\x0egithub_pending\x18\x04 \x03(\v2\x1b.until.GitHubPendingInstallR\rgithubPending\x12=\n" + "\fconnected_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\vconnectedAt\x12\x1d\n" + "\n" + "manage_url\x18\x06 \x01(\tR\tmanageUrl\x12F\n" + - "\x06status\x18\a \x01(\x0e2\".brent.IntegrationConnectionStatusB\n" + + "\x06status\x18\a \x01(\x0e2\".until.IntegrationConnectionStatusB\n" + "\xbaH\a\x82\x01\x04\x10\x01 \x00R\x06status\x12#\n" + "\asummary\x18\b \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\asummary\x12\"\n" + "\x06detail\x18\t \x01(\tB\n" + "\xbaH\ar\x05\x10\x01\x18\xa0\x01R\x06detail\"%\n" + "#GetWorkspaceIntegrationRolesRequest\"\xbf\x01\n" + "$GetWorkspaceIntegrationRolesResponse\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12$\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProvider\x12$\n" + "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\x98\x01\n" + "#SetWorkspaceIntegrationRolesRequest\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProviderJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xbf\x01\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProviderJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xbf\x01\n" + "$SetWorkspaceIntegrationRolesResponse\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12$\n" + + "\fgit_provider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProvider\x12$\n" + "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xca\x02\n" + "\tPrincipal\x12\x1f\n" + "\vexternal_id\x18\x01 \x01(\tR\n" + @@ -26383,33 +26371,33 @@ const file_brent_proto_rawDesc = "" + "\x16CreateWorkspaceRequest\x12!\n" + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"I\n" + "\x17CreateWorkspaceResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"\x19\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"\x19\n" + "\x17ListMyWorkspacesRequest\"L\n" + "\x18ListMyWorkspacesResponse\x120\n" + "\n" + - "workspaces\x18\x01 \x03(\v2\x10.brent.WorkspaceR\n" + + "workspaces\x18\x01 \x03(\v2\x10.until.WorkspaceR\n" + "workspaces\"(\n" + "&DiscoverLoginRecoveryCandidatesRequest\"\xab\x01\n" + "\x16LoginRecoveryCandidate\x120\n" + - "\bprovider\x18\x01 \x01(\x0e2\x14.brent.LoginProviderR\bprovider\x12)\n" + + "\bprovider\x18\x01 \x01(\x0e2\x14.until.LoginProviderR\bprovider\x12)\n" + "\x10auth0_connection\x18\x02 \x01(\tR\x0fauth0Connection\x124\n" + "\x16active_workspace_count\x18\x03 \x01(\rR\x14activeWorkspaceCount\"\xab\x01\n" + "'DiscoverLoginRecoveryCandidatesResponse\x12A\n" + - "\x11arriving_provider\x18\x01 \x01(\x0e2\x14.brent.LoginProviderR\x10arrivingProvider\x12=\n" + + "\x11arriving_provider\x18\x01 \x01(\x0e2\x14.until.LoginProviderR\x10arrivingProvider\x12=\n" + "\n" + - "candidates\x18\x02 \x03(\v2\x1d.brent.LoginRecoveryCandidateR\n" + + "candidates\x18\x02 \x03(\v2\x1d.until.LoginRecoveryCandidateR\n" + "candidates\";\n" + "\x16RenameWorkspaceRequest\x12!\n" + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"I\n" + "\x17RenameWorkspaceResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\";\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\";\n" + "\x16DeleteWorkspaceRequest\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"\x19\n" + "\x17DeleteWorkspaceResponse\"\x1f\n" + "\x1dListJoinableWorkspacesRequest\"Z\n" + "\x1eListJoinableWorkspacesResponse\x128\n" + "\n" + - "workspaces\x18\x01 \x03(\v2\x18.brent.JoinableWorkspaceR\n" + + "workspaces\x18\x01 \x03(\v2\x18.until.JoinableWorkspaceR\n" + "workspaces\"\x9d\x03\n" + "\x11JoinableWorkspace\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + @@ -26420,9 +26408,9 @@ const file_brent_proto_rawDesc = "" + "\n" + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12&\n" + "\x0fcreated_by_name\x18\x06 \x01(\tR\rcreatedByName\x12G\n" + - "\x0fmember_previews\x18\a \x03(\v2\x1e.brent.JoinableWorkspaceMemberR\x0ememberPreviews\x12!\n" + + "\x0fmember_previews\x18\a \x03(\v2\x1e.until.JoinableWorkspaceMemberR\x0ememberPreviews\x12!\n" + "\fmember_count\x18\b \x01(\rR\vmemberCount\x12)\n" + - "\x06source\x18\t \x01(\x0e2\x11.brent.JoinSourceR\x06sourceB\x0e\n" + + "\x06source\x18\t \x01(\x0e2\x11.until.JoinSourceR\x06sourceB\x0e\n" + "\f_picture_url\"r\n" + "\x17JoinableWorkspaceMember\x12!\n" + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12$\n" + @@ -26432,7 +26420,7 @@ const file_brent_proto_rawDesc = "" + "\x14JoinWorkspaceRequest\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"G\n" + "\x15JoinWorkspaceResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"\xe7\x01\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"\xe7\x01\n" + "\x13ApprovedEmailDomain\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + "\x06domain\x18\x02 \x01(\tR\x06domain\x12\x1a\n" + @@ -26443,17 +26431,17 @@ const file_brent_proto_rawDesc = "" + "\x12verification_email\x18\x06 \x01(\tR\x11verificationEmail\"!\n" + "\x1fListApprovedEmailDomainsRequest\"X\n" + " ListApprovedEmailDomainsResponse\x124\n" + - "\adomains\x18\x01 \x03(\v2\x1a.brent.ApprovedEmailDomainR\adomains\"f\n" + + "\adomains\x18\x01 \x03(\v2\x1a.until.ApprovedEmailDomainR\adomains\"f\n" + "\x1dAddApprovedEmailDomainRequest\x12\x16\n" + "\x06domain\x18\x01 \x01(\tR\x06domain\x12-\n" + "\x12verification_email\x18\x02 \x01(\tR\x11verificationEmail\"T\n" + "\x1eAddApprovedEmailDomainResponse\x122\n" + - "\x06domain\x18\x01 \x01(\v2\x1a.brent.ApprovedEmailDomainR\x06domain\"F\n" + + "\x06domain\x18\x01 \x01(\v2\x1a.until.ApprovedEmailDomainR\x06domain\"F\n" + " VerifyApprovedEmailDomainRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + "\x04code\x18\x02 \x01(\tR\x04code\"W\n" + "!VerifyApprovedEmailDomainResponse\x122\n" + - "\x06domain\x18\x01 \x01(\v2\x1a.brent.ApprovedEmailDomainR\x06domain\"6\n" + + "\x06domain\x18\x01 \x01(\v2\x1a.until.ApprovedEmailDomainR\x06domain\"6\n" + "$ResendApprovedEmailDomainCodeRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"'\n" + "%ResendApprovedEmailDomainCodeResponse\" \n" + @@ -26472,12 +26460,12 @@ const file_brent_proto_rawDesc = "" + "&GetWorkspaceLLMCredentialStatusRequest\x12\x1a\n" + "\bprovider\x18\x01 \x01(\tR\bprovider\"f\n" + "'GetWorkspaceLLMCredentialStatusResponse\x12;\n" + - "\x06status\x18\x01 \x01(\v2#.brent.WorkspaceLLMCredentialStatusR\x06status\"V\n" + + "\x06status\x18\x01 \x01(\v2#.until.WorkspaceLLMCredentialStatusR\x06status\"V\n" + " SetWorkspaceLLMCredentialRequest\x12\x1a\n" + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x16\n" + "\x06secret\x18\x02 \x01(\tR\x06secret\"\x8f\x01\n" + "!SetWorkspaceLLMCredentialResponse\x12;\n" + - "\x06status\x18\x01 \x01(\v2#.brent.WorkspaceLLMCredentialStatusR\x06status\x12-\n" + + "\x06status\x18\x01 \x01(\v2#.until.WorkspaceLLMCredentialStatusR\x06status\x12-\n" + "\x12validation_warning\x18\x02 \x01(\tR\x11validationWarning\"A\n" + "#DeleteWorkspaceLLMCredentialRequest\x12\x1a\n" + "\bprovider\x18\x01 \x01(\tR\bprovider\"&\n" + @@ -26488,22 +26476,22 @@ const file_brent_proto_rawDesc = "" + "\x11last_validated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastValidatedAt\"$\n" + "\"GetMyCursorCredentialStatusRequest\"^\n" + "#GetMyCursorCredentialStatusResponse\x127\n" + - "\x06status\x18\x01 \x01(\v2\x1f.brent.MyCursorCredentialStatusR\x06status\"6\n" + + "\x06status\x18\x01 \x01(\v2\x1f.until.MyCursorCredentialStatusR\x06status\"6\n" + "\x1cSetMyCursorCredentialRequest\x12\x16\n" + "\x06secret\x18\x01 \x01(\tR\x06secret\"X\n" + "\x1dSetMyCursorCredentialResponse\x127\n" + - "\x06status\x18\x01 \x01(\v2\x1f.brent.MyCursorCredentialStatusR\x06status\"!\n" + + "\x06status\x18\x01 \x01(\v2\x1f.until.MyCursorCredentialStatusR\x06status\"!\n" + "\x1fDeleteMyCursorCredentialRequest\"\"\n" + " DeleteMyCursorCredentialResponse\"A\n" + "\x1eUpdateWorkspaceBrandingRequest\x12\x1f\n" + "\vtheme_color\x18\x01 \x01(\tR\n" + "themeColor\"Q\n" + "\x1fUpdateWorkspaceBrandingResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"G\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"G\n" + "\"CompleteWorkspaceOnboardingRequest\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"U\n" + "#CompleteWorkspaceOnboardingResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"f\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"f\n" + "\x17CreateInvitationRequest\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x14\n" + "\x05email\x18\x02 \x01(\tR\x05email\x12\x12\n" + @@ -26521,27 +26509,27 @@ const file_brent_proto_rawDesc = "" + "\x04role\x18\x03 \x01(\tR\x04role\"\xa3\x01\n" + "\x10InvitationResult\x12\x14\n" + "\x05email\x18\x01 \x01(\tR\x05email\x125\n" + - "\x06status\x18\x02 \x01(\x0e2\x1d.brent.InvitationResultStatusR\x06status\x12\x1d\n" + + "\x06status\x18\x02 \x01(\x0e2\x1d.until.InvitationResultStatusR\x06status\x12\x1d\n" + "\n" + "accept_url\x18\x03 \x01(\tR\tacceptUrl\x12#\n" + "\rerror_message\x18\x04 \x01(\tR\ferrorMessage\"N\n" + "\x19CreateInvitationsResponse\x121\n" + - "\aresults\x18\x01 \x03(\v2\x17.brent.InvitationResultR\aresults\"/\n" + + "\aresults\x18\x01 \x03(\v2\x17.until.InvitationResultR\aresults\"/\n" + "\x17AcceptInvitationRequest\x12\x14\n" + "\x05token\x18\x01 \x01(\tR\x05token\"J\n" + "\x18AcceptInvitationResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.brent.WorkspaceR\tworkspace\"@\n" + + "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"@\n" + "\x1bListWorkspaceMembersRequest\x12!\n" + "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"P\n" + "\x1cListWorkspaceMembersResponse\x120\n" + - "\amembers\x18\x01 \x03(\v2\x16.brent.WorkspaceMemberR\amembers\"\x86\x02\n" + + "\amembers\x18\x01 \x03(\v2\x16.until.WorkspaceMemberR\amembers\"\x86\x02\n" + "\x0fWorkspaceMember\x12!\n" + "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12!\n" + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x14\n" + "\x05email\x18\x03 \x01(\tR\x05email\x12\x12\n" + "\x04role\x18\x04 \x01(\tR\x04role\x12\x1a\n" + "\x06status\x18\x05 \x01(\tB\x02\x18\x01R\x06status\x121\n" + - "\x05state\x18\x06 \x01(\x0e2\x1b.brent.WorkspaceMemberStateR\x05state\x12$\n" + + "\x05state\x18\x06 \x01(\x0e2\x1b.until.WorkspaceMemberStateR\x05state\x12$\n" + "\vpicture_url\x18\a \x01(\tH\x00R\n" + "pictureUrl\x88\x01\x01B\x0e\n" + "\f_picture_url\"_\n" + @@ -26569,7 +26557,7 @@ const file_brent_proto_rawDesc = "" + "\x14GetInvitationRequest\x12\x14\n" + "\x05token\x18\x01 \x01(\tR\x05token\"\xc9\x02\n" + "\x15GetInvitationResponse\x12/\n" + - "\x06status\x18\x01 \x01(\x0e2\x17.brent.InvitationStatusR\x06status\x12!\n" + + "\x06status\x18\x01 \x01(\x0e2\x17.until.InvitationStatusR\x06status\x12!\n" + "\fworkspace_id\x18\x02 \x01(\tR\vworkspaceId\x12\x12\n" + "\x04slug\x18\x03 \x01(\tR\x04slug\x124\n" + "\x16workspace_display_name\x18\x04 \x01(\tR\x14workspaceDisplayName\x12$\n" + @@ -26583,31 +26571,31 @@ const file_brent_proto_rawDesc = "" + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x16\n" + "\x06handle\x18\x02 \x01(\tR\x06handleJ\x04\b\x03\x10\x04R\fcapabilities\"K\n" + "\x1fUpsertMyVerifiedBindingResponse\x12(\n" + - "\abinding\x18\x01 \x01(\v2\x0e.brent.BindingR\abinding\"?\n" + + "\abinding\x18\x01 \x01(\v2\x0e.until.BindingR\abinding\"?\n" + "\x1aUpdateMyDisplayNameRequest\x12!\n" + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"M\n" + "\x1bUpdateMyDisplayNameResponse\x12.\n" + - "\tprincipal\x18\x01 \x01(\v2\x10.brent.PrincipalR\tprincipal\"\x17\n" + + "\tprincipal\x18\x01 \x01(\v2\x10.until.PrincipalR\tprincipal\"\x17\n" + "\x15ListMyBindingsRequest\"D\n" + "\x16ListMyBindingsResponse\x12*\n" + - "\bbindings\x18\x01 \x03(\v2\x0e.brent.BindingR\bbindings\"\xc7\x01\n" + + "\bbindings\x18\x01 \x03(\v2\x0e.until.BindingR\bbindings\"\xc7\x01\n" + "\x17NotificationPreferences\x12Q\n" + - "\vpreferences\x18\x01 \x03(\v2/.brent.NotificationPreferences.PreferencesEntryR\vpreferences\x1aY\n" + + "\vpreferences\x18\x01 \x03(\v2/.until.NotificationPreferences.PreferencesEntryR\vpreferences\x1aY\n" + "\x10PreferencesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12/\n" + - "\x05value\x18\x02 \x01(\v2\x19.brent.ChannelPreferencesR\x05value:\x028\x01\"\x96\x01\n" + + "\x05value\x18\x02 \x01(\v2\x19.until.ChannelPreferencesR\x05value:\x028\x01\"\x96\x01\n" + "\x12ChannelPreferences\x12C\n" + - "\bchannels\x18\x01 \x03(\v2'.brent.ChannelPreferences.ChannelsEntryR\bchannels\x1a;\n" + + "\bchannels\x18\x01 \x03(\v2'.until.ChannelPreferences.ChannelsEntryR\bchannels\x1a;\n" + "\rChannelsEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"%\n" + "#GetMyNotificationPreferencesRequest\"h\n" + "$GetMyNotificationPreferencesResponse\x12@\n" + - "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"j\n" + + "\vpreferences\x18\x01 \x01(\v2\x1e.until.NotificationPreferencesR\vpreferences\"j\n" + "&UpdateMyNotificationPreferencesRequest\x12@\n" + - "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"k\n" + + "\vpreferences\x18\x01 \x01(\v2\x1e.until.NotificationPreferencesR\vpreferences\"k\n" + "'UpdateMyNotificationPreferencesResponse\x12@\n" + - "\vpreferences\x18\x01 \x01(\v2\x1e.brent.NotificationPreferencesR\vpreferences\"k\n" + + "\vpreferences\x18\x01 \x01(\v2\x1e.until.NotificationPreferencesR\vpreferences\"k\n" + "!RegisterMyPushSubscriptionRequest\x12\x1a\n" + "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\x16\n" + "\x06p256dh\x18\x02 \x01(\tR\x06p256dh\x12\x12\n" + @@ -26627,33 +26615,33 @@ const file_brent_proto_rawDesc = "" + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + "\n" + "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x18\n" + - "\asubject\x18\b \x01(\tR\asubjectJ\x04\b\x05\x10\x06R\fcapabilities\",\n" + - "\x14RedFindingKindsPatch\x12\x14\n" + - "\x05kinds\x18\x01 \x03(\tR\x05kinds\"<\n" + - "\x17GetBrentSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xe2\x01\n" + - "\x18GetBrentSettingsResponse\x12*\n" + - "\x11red_finding_kinds\x18\x01 \x03(\tR\x0fredFindingKinds\x12>\n" + - "\x1cred_finding_kinds_updated_by\x18\x02 \x01(\tR\x18redFindingKindsUpdatedBy\x12Z\n" + - "\x1cred_finding_kinds_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x18redFindingKindsUpdatedAt\"\xa3\x01\n" + - "\x1aUpdateBrentSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12L\n" + - "\x11red_finding_kinds\x18\x02 \x01(\v2\x1b.brent.RedFindingKindsPatchH\x00R\x0fredFindingKinds\x88\x01\x01B\x14\n" + - "\x12_red_finding_kinds\"\xe5\x01\n" + - "\x1bUpdateBrentSettingsResponse\x12*\n" + - "\x11red_finding_kinds\x18\x01 \x03(\tR\x0fredFindingKinds\x12>\n" + - "\x1cred_finding_kinds_updated_by\x18\x02 \x01(\tR\x18redFindingKindsUpdatedBy\x12Z\n" + - "\x1cred_finding_kinds_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x18redFindingKindsUpdatedAt\"H\n" + - "#AdminGetAccountBrentSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xaf\x01\n" + - "&AdminUpdateAccountBrentSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12L\n" + - "\x11red_finding_kinds\x18\x02 \x01(\v2\x1b.brent.RedFindingKindsPatchH\x00R\x0fredFindingKinds\x88\x01\x01B\x14\n" + - "\x12_red_finding_kinds\"G\n" + + "\asubject\x18\b \x01(\tR\asubjectJ\x04\b\x05\x10\x06R\fcapabilities\"3\n" + + "\x1bBlockingDifferenceTagsPatch\x12\x14\n" + + "\x05kinds\x18\x01 \x03(\tR\x05kinds\"@\n" + + "\x1bGetPlanCheckSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\x90\x02\n" + + "\x1cGetPlanCheckSettingsResponse\x128\n" + + "\x18blocking_difference_tags\x18\x01 \x03(\tR\x16blockingDifferenceTags\x12L\n" + + "#blocking_difference_tags_updated_by\x18\x02 \x01(\tR\x1fblockingDifferenceTagsUpdatedBy\x12h\n" + + "#blocking_difference_tags_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x1fblockingDifferenceTagsUpdatedAt\"\xc3\x01\n" + + "\x1eUpdatePlanCheckSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12a\n" + + "\x18blocking_difference_tags\x18\x02 \x01(\v2\".until.BlockingDifferenceTagsPatchH\x00R\x16blockingDifferenceTags\x88\x01\x01B\x1b\n" + + "\x19_blocking_difference_tags\"\x93\x02\n" + + "\x1fUpdatePlanCheckSettingsResponse\x128\n" + + "\x18blocking_difference_tags\x18\x01 \x03(\tR\x16blockingDifferenceTags\x12L\n" + + "#blocking_difference_tags_updated_by\x18\x02 \x01(\tR\x1fblockingDifferenceTagsUpdatedBy\x12h\n" + + "#blocking_difference_tags_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x1fblockingDifferenceTagsUpdatedAt\"L\n" + + "'AdminGetAccountPlanCheckSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xcf\x01\n" + + "*AdminUpdateAccountPlanCheckSettingsRequest\x12!\n" + + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12a\n" + + "\x18blocking_difference_tags\x18\x02 \x01(\v2\".until.BlockingDifferenceTagsPatchH\x00R\x16blockingDifferenceTags\x88\x01\x01B\x1b\n" + + "\x19_blocking_difference_tags\"G\n" + "\"AdminGetAccountReviewPolicyRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xf6\x01\n" + "#AdminGetAccountReviewPolicyResponse\x124\n" + - "\x06policy\x18\x01 \x01(\x0e2\x1c.brent.WorkspaceReviewPolicyR\x06policy\x12?\n" + + "\x06policy\x18\x01 \x01(\x0e2\x1c.until.WorkspaceReviewPolicyR\x06policy\x12?\n" + "\x1cactive_human_principal_count\x18\x02 \x01(\x05R\x19activeHumanPrincipalCount\x12\x1d\n" + "\n" + "updated_by\x18\x03 \x01(\tR\tupdatedBy\x129\n" + @@ -26661,9 +26649,9 @@ const file_brent_proto_rawDesc = "" + "updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x80\x01\n" + "%AdminUpdateAccountReviewPolicyRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x124\n" + - "\x06policy\x18\x02 \x01(\x0e2\x1c.brent.WorkspaceReviewPolicyR\x06policy\"\xf9\x01\n" + + "\x06policy\x18\x02 \x01(\x0e2\x1c.until.WorkspaceReviewPolicyR\x06policy\"\xf9\x01\n" + "&AdminUpdateAccountReviewPolicyResponse\x124\n" + - "\x06policy\x18\x01 \x01(\x0e2\x1c.brent.WorkspaceReviewPolicyR\x06policy\x12?\n" + + "\x06policy\x18\x01 \x01(\x0e2\x1c.until.WorkspaceReviewPolicyR\x06policy\x12?\n" + "\x1cactive_human_principal_count\x18\x02 \x01(\x05R\x19activeHumanPrincipalCount\x12\x1d\n" + "\n" + "updated_by\x18\x03 \x01(\tR\tupdatedBy\x129\n" + @@ -26673,7 +26661,7 @@ const file_brent_proto_rawDesc = "" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1a\n" + "\bprovider\x18\x02 \x01(\tR\bprovider\"\x94\x01\n" + "*AdminGetAccountLLMCredentialStatusResponse\x12;\n" + - "\x06status\x18\x01 \x01(\v2#.brent.WorkspaceLLMCredentialStatusR\x06status\x12)\n" + + "\x06status\x18\x01 \x01(\v2#.until.WorkspaceLLMCredentialStatusR\x06status\x12)\n" + "\x11key_source_in_use\x18\x02 \x01(\tR\x0ekeySourceInUse\"H\n" + "#AdminListAccountIntegrationsRequest\x12!\n" + "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xb2\x04\n" + @@ -26691,19 +26679,19 @@ const file_brent_proto_rawDesc = "" + "\x11has_signing_token\x18\b \x01(\bR\x0fhasSigningToken\x12,\n" + "\x12has_webhook_secret\x18\t \x01(\bR\x10hasWebhookSecret\x12F\n" + "\x06status\x18\n" + - " \x01(\x0e2\".brent.IntegrationConnectionStatusB\n" + + " \x01(\x0e2\".until.IntegrationConnectionStatusB\n" + "\xbaH\a\x82\x01\x04\x10\x01 \x00R\x06status\x12#\n" + "\asummary\x18\v \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\asummary\x12\"\n" + "\x06detail\x18\f \x01(\tB\n" + "\xbaH\ar\x05\x10\x01\x18\xa0\x01R\x06detail\"\xbe\x02\n" + "$AdminListAccountIntegrationsResponse\x12A\n" + - "\binstalls\x18\x01 \x03(\v2%.brent.AdminAccountIntegrationInstallR\binstalls\x12=\n" + - "\fgit_provider\x18\x02 \x01(\x0e2\x1a.brent.IntegrationProviderR\vgitProvider\x12I\n" + - "\x12ticketing_provider\x18\x03 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11ticketingProvider\x12I\n" + - "\x12messaging_provider\x18\x04 \x01(\x0e2\x1a.brent.IntegrationProviderR\x11messagingProvider\"!\n" + + "\binstalls\x18\x01 \x03(\v2%.until.AdminAccountIntegrationInstallR\binstalls\x12=\n" + + "\fgit_provider\x18\x02 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProvider\x12I\n" + + "\x12ticketing_provider\x18\x03 \x01(\x0e2\x1a.until.IntegrationProviderR\x11ticketingProvider\x12I\n" + + "\x12messaging_provider\x18\x04 \x01(\x0e2\x1a.until.IntegrationProviderR\x11messagingProvider\"!\n" + "\x1fListIntegrationCatalogueRequest\"^\n" + " ListIntegrationCatalogueResponse\x12:\n" + - "\aentries\x18\x01 \x03(\v2 .brent.IntegrationCatalogueEntryR\aentries\"\x94\x04\n" + + "\aentries\x18\x01 \x03(\v2 .until.IntegrationCatalogueEntryR\aentries\"\x94\x04\n" + "\x19IntegrationCatalogueEntry\x12\x1b\n" + "\tstable_id\x18\x01 \x01(\tR\bstableId\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" + @@ -26714,9 +26702,9 @@ const file_brent_proto_rawDesc = "" + "\vnewly_added\x18\a \x01(\bR\n" + "newlyAdded\x12\x1c\n" + "\tconnected\x18\b \x01(\bR\tconnected\x129\n" + - "\x06source\x18\t \x01(\x0e2!.brent.IntegrationCatalogueSourceR\x06source\x126\n" + + "\x06source\x18\t \x01(\x0e2!.until.IntegrationCatalogueSourceR\x06source\x126\n" + "\bprovider\x18\n" + - " \x01(\x0e2\x1a.brent.IntegrationProviderR\bprovider\x12\x1b\n" + + " \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x12\x1b\n" + "\tauto_rank\x18\v \x01(\x05R\bautoRank\x129\n" + "\n" + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1f\n" + @@ -26799,105 +26787,106 @@ const file_brent_proto_rawDesc = "" + "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + " INTEGRATION_CATALOGUE_SOURCE_BYO\x10\x02\x12/\n" + - "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xa4(\n" + - "\fBrentService\x12_\n" + - "\x14ListOpenPullRequests\x12\".brent.ListOpenPullRequestsRequest\x1a#.brent.ListOpenPullRequestsResponse\x12M\n" + - "\x0eGetPullRequest\x12\x1c.brent.GetPullRequestRequest\x1a\x1d.brent.GetPullRequestResponse\x12Y\n" + - "\x12GetPrincipalStatus\x12 .brent.GetPrincipalStatusRequest\x1a!.brent.GetPrincipalStatusResponse\x12J\n" + - "\rGetPlanPrompt\x12\x1b.brent.GetPlanPromptRequest\x1a\x1c.brent.GetPlanPromptResponse\x12k\n" + - "\x18GetIntegrationConnectURL\x12&.brent.GetIntegrationConnectURLRequest\x1a'.brent.GetIntegrationConnectURLResponse\x12b\n" + - "\x15DisconnectIntegration\x12#.brent.DisconnectIntegrationRequest\x1a$.brent.DisconnectIntegrationResponse\x12V\n" + - "\x11ConnectByoHttpMcp\x12\x1f.brent.ConnectByoHttpMcpRequest\x1a .brent.ConnectByoHttpMcpResponse\x12\\\n" + - "\x13GetGitLabConnection\x12!.brent.GetGitLabConnectionRequest\x1a\".brent.GetGitLabConnectionResponse\x12J\n" + - "\rConnectGitLab\x12\x1b.brent.ConnectGitLabRequest\x1a\x1c.brent.ConnectGitLabResponse\x12e\n" + - "\x16SaveGitLabSigningToken\x12$.brent.SaveGitLabSigningTokenRequest\x1a%.brent.SaveGitLabSigningTokenResponse\x12h\n" + - "\x17UpsertMyVerifiedBinding\x12%.brent.UpsertMyVerifiedBindingRequest\x1a&.brent.UpsertMyVerifiedBindingResponse\x12M\n" + - "\x0eListMyBindings\x12\x1c.brent.ListMyBindingsRequest\x1a\x1d.brent.ListMyBindingsResponse\x12w\n" + - "\x1cGetMyNotificationPreferences\x12*.brent.GetMyNotificationPreferencesRequest\x1a+.brent.GetMyNotificationPreferencesResponse\x12\x80\x01\n" + - "\x1fUpdateMyNotificationPreferences\x12-.brent.UpdateMyNotificationPreferencesRequest\x1a..brent.UpdateMyNotificationPreferencesResponse\x12q\n" + - "\x1aRegisterMyPushSubscription\x12(.brent.RegisterMyPushSubscriptionRequest\x1a).brent.RegisterMyPushSubscriptionResponse\x12\\\n" + - "\x13GetWebPushPublicKey\x12!.brent.GetWebPushPublicKeyRequest\x1a\".brent.GetWebPushPublicKeyResponse\x12\\\n" + - "\x13UpdateMyDisplayName\x12!.brent.UpdateMyDisplayNameRequest\x1a\".brent.UpdateMyDisplayNameResponse\x12S\n" + - "\x10GetBrentSettings\x12\x1e.brent.GetBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12\\\n" + - "\x13UpdateBrentSettings\x12!.brent.UpdateBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12k\n" + - "\x18ListIntegrationCatalogue\x12&.brent.ListIntegrationCatalogueRequest\x1a'.brent.ListIntegrationCatalogueResponse\x12P\n" + - "\x0fCreateWorkspace\x12\x1d.brent.CreateWorkspaceRequest\x1a\x1e.brent.CreateWorkspaceResponse\x12S\n" + - "\x10ListMyWorkspaces\x12\x1e.brent.ListMyWorkspacesRequest\x1a\x1f.brent.ListMyWorkspacesResponse\x12\x80\x01\n" + - "\x1fDiscoverLoginRecoveryCandidates\x12-.brent.DiscoverLoginRecoveryCandidatesRequest\x1a..brent.DiscoverLoginRecoveryCandidatesResponse\x12P\n" + - "\x0fRenameWorkspace\x12\x1d.brent.RenameWorkspaceRequest\x1a\x1e.brent.RenameWorkspaceResponse\x12h\n" + - "\x17UpdateWorkspaceBranding\x12%.brent.UpdateWorkspaceBrandingRequest\x1a&.brent.UpdateWorkspaceBrandingResponse\x12t\n" + - "\x1bCompleteWorkspaceOnboarding\x12).brent.CompleteWorkspaceOnboardingRequest\x1a*.brent.CompleteWorkspaceOnboardingResponse\x12P\n" + - "\x0fDeleteWorkspace\x12\x1d.brent.DeleteWorkspaceRequest\x1a\x1e.brent.DeleteWorkspaceResponse\x12e\n" + - "\x16ListJoinableWorkspaces\x12$.brent.ListJoinableWorkspacesRequest\x1a%.brent.ListJoinableWorkspacesResponse\x12J\n" + - "\rJoinWorkspace\x12\x1b.brent.JoinWorkspaceRequest\x1a\x1c.brent.JoinWorkspaceResponse\x12S\n" + - "\x10CreateInvitation\x12\x1e.brent.CreateInvitationRequest\x1a\x1f.brent.CreateInvitationResponse\x12V\n" + - "\x11CreateInvitations\x12\x1f.brent.CreateInvitationsRequest\x1a .brent.CreateInvitationsResponse\x12S\n" + - "\x10AcceptInvitation\x12\x1e.brent.AcceptInvitationRequest\x1a\x1f.brent.AcceptInvitationResponse\x12_\n" + - "\x14ListWorkspaceMembers\x12\".brent.ListWorkspaceMembersRequest\x1a#.brent.ListWorkspaceMembersResponse\x12S\n" + - "\x10ResendInvitation\x12\x1e.brent.ResendInvitationRequest\x1a\x1f.brent.ResendInvitationResponse\x12S\n" + - "\x10RevokeInvitation\x12\x1e.brent.RevokeInvitationRequest\x1a\x1f.brent.RevokeInvitationResponse\x12b\n" + - "\x15RemoveWorkspaceMember\x12#.brent.RemoveWorkspaceMemberRequest\x1a$.brent.RemoveWorkspaceMemberResponse\x12n\n" + - "\x19UpdateWorkspaceMemberRole\x12'.brent.UpdateWorkspaceMemberRoleRequest\x1a(.brent.UpdateWorkspaceMemberRoleResponse\x12k\n" + - "\x18ListApprovedEmailDomains\x12&.brent.ListApprovedEmailDomainsRequest\x1a'.brent.ListApprovedEmailDomainsResponse\x12e\n" + - "\x16AddApprovedEmailDomain\x12$.brent.AddApprovedEmailDomainRequest\x1a%.brent.AddApprovedEmailDomainResponse\x12n\n" + - "\x19VerifyApprovedEmailDomain\x12'.brent.VerifyApprovedEmailDomainRequest\x1a(.brent.VerifyApprovedEmailDomainResponse\x12z\n" + - "\x1dResendApprovedEmailDomainCode\x12+.brent.ResendApprovedEmailDomainCodeRequest\x1a,.brent.ResendApprovedEmailDomainCodeResponse\x12n\n" + - "\x19DeleteApprovedEmailDomain\x12'.brent.DeleteApprovedEmailDomainRequest\x1a(.brent.DeleteApprovedEmailDomainResponse\x12\x80\x01\n" + - "\x1fGetWorkspaceLLMCredentialStatus\x12-.brent.GetWorkspaceLLMCredentialStatusRequest\x1a..brent.GetWorkspaceLLMCredentialStatusResponse\x12n\n" + - "\x19SetWorkspaceLLMCredential\x12'.brent.SetWorkspaceLLMCredentialRequest\x1a(.brent.SetWorkspaceLLMCredentialResponse\x12w\n" + - "\x1cDeleteWorkspaceLLMCredential\x12*.brent.DeleteWorkspaceLLMCredentialRequest\x1a+.brent.DeleteWorkspaceLLMCredentialResponse\x12t\n" + - "\x1bGetMyCursorCredentialStatus\x12).brent.GetMyCursorCredentialStatusRequest\x1a*.brent.GetMyCursorCredentialStatusResponse\x12b\n" + - "\x15SetMyCursorCredential\x12#.brent.SetMyCursorCredentialRequest\x1a$.brent.SetMyCursorCredentialResponse\x12k\n" + - "\x18DeleteMyCursorCredential\x12&.brent.DeleteMyCursorCredentialRequest\x1a'.brent.DeleteMyCursorCredentialResponse\x12w\n" + - "\x1cGetWorkspaceIntegrationRoles\x12*.brent.GetWorkspaceIntegrationRolesRequest\x1a+.brent.GetWorkspaceIntegrationRolesResponse\x12w\n" + - "\x1cSetWorkspaceIntegrationRoles\x12*.brent.SetWorkspaceIntegrationRolesRequest\x1a+.brent.SetWorkspaceIntegrationRolesResponse\x12h\n" + - "\x17ResendVerificationEmail\x12%.brent.ResendVerificationEmailRequest\x1a&.brent.ResendVerificationEmailResponse2`\n" + - "\x12BrentPublicService\x12J\n" + - "\rGetInvitation\x12\x1b.brent.GetInvitationRequest\x1a\x1c.brent.GetInvitationResponse2\x9b \n" + - "\x11BrentAdminService\x12R\n" + - "\x0fExecuteWorkflow\x12\x1d.brent.ExecuteWorkflowRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12;\n" + - "\bListRuns\x12\x16.brent.ListRunsRequest\x1a\x17.brent.ListRunsResponse\x12D\n" + - "\bWatchRun\x12\x16.brent.WatchRunRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12I\n" + - "\fStreamEvents\x12\x1a.brent.StreamEventsRequest\x1a\x1b.brent.StreamEventsResponse0\x01\x12A\n" + + "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xc0(\n" + + "\x10WorkspaceService\x12_\n" + + "\x14ListOpenPullRequests\x12\".until.ListOpenPullRequestsRequest\x1a#.until.ListOpenPullRequestsResponse\x12M\n" + + "\x0eGetPullRequest\x12\x1c.until.GetPullRequestRequest\x1a\x1d.until.GetPullRequestResponse\x12Y\n" + + "\x12GetPrincipalStatus\x12 .until.GetPrincipalStatusRequest\x1a!.until.GetPrincipalStatusResponse\x12J\n" + + "\rGetPlanPrompt\x12\x1b.until.GetPlanPromptRequest\x1a\x1c.until.GetPlanPromptResponse\x12k\n" + + "\x18GetIntegrationConnectURL\x12&.until.GetIntegrationConnectURLRequest\x1a'.until.GetIntegrationConnectURLResponse\x12b\n" + + "\x15DisconnectIntegration\x12#.until.DisconnectIntegrationRequest\x1a$.until.DisconnectIntegrationResponse\x12V\n" + + "\x11ConnectByoHttpMcp\x12\x1f.until.ConnectByoHttpMcpRequest\x1a .until.ConnectByoHttpMcpResponse\x12\\\n" + + "\x13GetGitLabConnection\x12!.until.GetGitLabConnectionRequest\x1a\".until.GetGitLabConnectionResponse\x12J\n" + + "\rConnectGitLab\x12\x1b.until.ConnectGitLabRequest\x1a\x1c.until.ConnectGitLabResponse\x12e\n" + + "\x16SaveGitLabSigningToken\x12$.until.SaveGitLabSigningTokenRequest\x1a%.until.SaveGitLabSigningTokenResponse\x12h\n" + + "\x17UpsertMyVerifiedBinding\x12%.until.UpsertMyVerifiedBindingRequest\x1a&.until.UpsertMyVerifiedBindingResponse\x12M\n" + + "\x0eListMyBindings\x12\x1c.until.ListMyBindingsRequest\x1a\x1d.until.ListMyBindingsResponse\x12w\n" + + "\x1cGetMyNotificationPreferences\x12*.until.GetMyNotificationPreferencesRequest\x1a+.until.GetMyNotificationPreferencesResponse\x12\x80\x01\n" + + "\x1fUpdateMyNotificationPreferences\x12-.until.UpdateMyNotificationPreferencesRequest\x1a..until.UpdateMyNotificationPreferencesResponse\x12q\n" + + "\x1aRegisterMyPushSubscription\x12(.until.RegisterMyPushSubscriptionRequest\x1a).until.RegisterMyPushSubscriptionResponse\x12\\\n" + + "\x13GetWebPushPublicKey\x12!.until.GetWebPushPublicKeyRequest\x1a\".until.GetWebPushPublicKeyResponse\x12\\\n" + + "\x13UpdateMyDisplayName\x12!.until.UpdateMyDisplayNameRequest\x1a\".until.UpdateMyDisplayNameResponse\x12_\n" + + "\x14GetPlanCheckSettings\x12\".until.GetPlanCheckSettingsRequest\x1a#.until.GetPlanCheckSettingsResponse\x12h\n" + + "\x17UpdatePlanCheckSettings\x12%.until.UpdatePlanCheckSettingsRequest\x1a&.until.UpdatePlanCheckSettingsResponse\x12k\n" + + "\x18ListIntegrationCatalogue\x12&.until.ListIntegrationCatalogueRequest\x1a'.until.ListIntegrationCatalogueResponse\x12P\n" + + "\x0fCreateWorkspace\x12\x1d.until.CreateWorkspaceRequest\x1a\x1e.until.CreateWorkspaceResponse\x12S\n" + + "\x10ListMyWorkspaces\x12\x1e.until.ListMyWorkspacesRequest\x1a\x1f.until.ListMyWorkspacesResponse\x12\x80\x01\n" + + "\x1fDiscoverLoginRecoveryCandidates\x12-.until.DiscoverLoginRecoveryCandidatesRequest\x1a..until.DiscoverLoginRecoveryCandidatesResponse\x12P\n" + + "\x0fRenameWorkspace\x12\x1d.until.RenameWorkspaceRequest\x1a\x1e.until.RenameWorkspaceResponse\x12h\n" + + "\x17UpdateWorkspaceBranding\x12%.until.UpdateWorkspaceBrandingRequest\x1a&.until.UpdateWorkspaceBrandingResponse\x12t\n" + + "\x1bCompleteWorkspaceOnboarding\x12).until.CompleteWorkspaceOnboardingRequest\x1a*.until.CompleteWorkspaceOnboardingResponse\x12P\n" + + "\x0fDeleteWorkspace\x12\x1d.until.DeleteWorkspaceRequest\x1a\x1e.until.DeleteWorkspaceResponse\x12e\n" + + "\x16ListJoinableWorkspaces\x12$.until.ListJoinableWorkspacesRequest\x1a%.until.ListJoinableWorkspacesResponse\x12J\n" + + "\rJoinWorkspace\x12\x1b.until.JoinWorkspaceRequest\x1a\x1c.until.JoinWorkspaceResponse\x12S\n" + + "\x10CreateInvitation\x12\x1e.until.CreateInvitationRequest\x1a\x1f.until.CreateInvitationResponse\x12V\n" + + "\x11CreateInvitations\x12\x1f.until.CreateInvitationsRequest\x1a .until.CreateInvitationsResponse\x12S\n" + + "\x10AcceptInvitation\x12\x1e.until.AcceptInvitationRequest\x1a\x1f.until.AcceptInvitationResponse\x12_\n" + + "\x14ListWorkspaceMembers\x12\".until.ListWorkspaceMembersRequest\x1a#.until.ListWorkspaceMembersResponse\x12S\n" + + "\x10ResendInvitation\x12\x1e.until.ResendInvitationRequest\x1a\x1f.until.ResendInvitationResponse\x12S\n" + + "\x10RevokeInvitation\x12\x1e.until.RevokeInvitationRequest\x1a\x1f.until.RevokeInvitationResponse\x12b\n" + + "\x15RemoveWorkspaceMember\x12#.until.RemoveWorkspaceMemberRequest\x1a$.until.RemoveWorkspaceMemberResponse\x12n\n" + + "\x19UpdateWorkspaceMemberRole\x12'.until.UpdateWorkspaceMemberRoleRequest\x1a(.until.UpdateWorkspaceMemberRoleResponse\x12k\n" + + "\x18ListApprovedEmailDomains\x12&.until.ListApprovedEmailDomainsRequest\x1a'.until.ListApprovedEmailDomainsResponse\x12e\n" + + "\x16AddApprovedEmailDomain\x12$.until.AddApprovedEmailDomainRequest\x1a%.until.AddApprovedEmailDomainResponse\x12n\n" + + "\x19VerifyApprovedEmailDomain\x12'.until.VerifyApprovedEmailDomainRequest\x1a(.until.VerifyApprovedEmailDomainResponse\x12z\n" + + "\x1dResendApprovedEmailDomainCode\x12+.until.ResendApprovedEmailDomainCodeRequest\x1a,.until.ResendApprovedEmailDomainCodeResponse\x12n\n" + + "\x19DeleteApprovedEmailDomain\x12'.until.DeleteApprovedEmailDomainRequest\x1a(.until.DeleteApprovedEmailDomainResponse\x12\x80\x01\n" + + "\x1fGetWorkspaceLLMCredentialStatus\x12-.until.GetWorkspaceLLMCredentialStatusRequest\x1a..until.GetWorkspaceLLMCredentialStatusResponse\x12n\n" + + "\x19SetWorkspaceLLMCredential\x12'.until.SetWorkspaceLLMCredentialRequest\x1a(.until.SetWorkspaceLLMCredentialResponse\x12w\n" + + "\x1cDeleteWorkspaceLLMCredential\x12*.until.DeleteWorkspaceLLMCredentialRequest\x1a+.until.DeleteWorkspaceLLMCredentialResponse\x12t\n" + + "\x1bGetMyCursorCredentialStatus\x12).until.GetMyCursorCredentialStatusRequest\x1a*.until.GetMyCursorCredentialStatusResponse\x12b\n" + + "\x15SetMyCursorCredential\x12#.until.SetMyCursorCredentialRequest\x1a$.until.SetMyCursorCredentialResponse\x12k\n" + + "\x18DeleteMyCursorCredential\x12&.until.DeleteMyCursorCredentialRequest\x1a'.until.DeleteMyCursorCredentialResponse\x12w\n" + + "\x1cGetWorkspaceIntegrationRoles\x12*.until.GetWorkspaceIntegrationRolesRequest\x1a+.until.GetWorkspaceIntegrationRolesResponse\x12w\n" + + "\x1cSetWorkspaceIntegrationRoles\x12*.until.SetWorkspaceIntegrationRolesRequest\x1a+.until.SetWorkspaceIntegrationRolesResponse\x12h\n" + + "\x17ResendVerificationEmail\x12%.until.ResendVerificationEmailRequest\x1a&.until.ResendVerificationEmailResponse2[\n" + + "\rPublicService\x12J\n" + + "\rGetInvitation\x12\x1b.until.GetInvitationRequest\x1a\x1c.until.GetInvitationResponse2\xc9\x1f\n" + + "\fAdminService\x12F\n" + + "\vExecuteLoop\x12\x19.until.ExecuteLoopRequest\x1a\x1a.until.ExecuteLoopResponse0\x01\x12;\n" + + "\bListRuns\x12\x16.until.ListRunsRequest\x1a\x17.until.ListRunsResponse\x12@\n" + + "\bWatchRun\x12\x16.until.WatchRunRequest\x1a\x1a.until.ExecuteLoopResponse0\x01\x12I\n" + + "\fStreamEvents\x12\x1a.until.StreamEventsRequest\x1a\x1b.until.StreamEventsResponse0\x01\x12A\n" + + "\n" + + "ListEvents\x12\x18.until.ListEventsRequest\x1a\x19.until.ListEventsResponse\x12>\n" + + "\tCancelRun\x12\x17.until.CancelRunRequest\x1a\x18.until.CancelRunResponse\x12H\n" + + "\fSendQuestion\x12\x1a.until.SendQuestionRequest\x1a\x1a.until.ExecuteLoopResponse0\x01\x12H\n" + + "\tListPlans\x12\x1c.until.AdminListPlansRequest\x1a\x1d.until.AdminListPlansResponse\x12B\n" + + "\aGetPlan\x12\x1a.until.AdminGetPlanRequest\x1a\x1b.until.AdminGetPlanResponse\x12N\n" + + "\vListReviews\x12\x1e.until.AdminListReviewsRequest\x1a\x1f.until.AdminListReviewsResponse\x12H\n" + + "\tGetReview\x12\x1c.until.AdminGetReviewRequest\x1a\x1d.until.AdminGetReviewResponse\x12H\n" + + "\fListAccounts\x12\x16.google.protobuf.Empty\x1a .until.AdminListAccountsResponse\x12`\n" + + "\x11GetAccountSummary\x12$.until.AdminGetAccountSummaryRequest\x1a%.until.AdminGetAccountSummaryResponse\x12u\n" + + "\x18GetAccountHealthAnalysis\x12+.until.AdminGetAccountHealthAnalysisRequest\x1a,.until.AdminGetAccountHealthAnalysisResponse\x12o\n" + + "\x16ListAccountMetricRepos\x12).until.AdminListAccountMetricReposRequest\x1a*.until.AdminListAccountMetricReposResponse\x12\x84\x01\n" + + "\x1dStartAccountMetricsComparison\x120.until.AdminStartAccountMetricsComparisonRequest\x1a1.until.AdminStartAccountMetricsComparisonResponse\x12\x87\x01\n" + + "\x1eGetAccountMetricsComparisonRun\x121.until.AdminGetAccountMetricsComparisonRunRequest\x1a2.until.AdminGetAccountMetricsComparisonRunResponse\x12r\n" + + "\x1bGetAccountPlanCheckSettings\x12..until.AdminGetAccountPlanCheckSettingsRequest\x1a#.until.GetPlanCheckSettingsResponse\x12{\n" + + "\x1eUpdateAccountPlanCheckSettings\x121.until.AdminUpdateAccountPlanCheckSettingsRequest\x1a&.until.UpdatePlanCheckSettingsResponse\x12o\n" + + "\x16GetAccountReviewPolicy\x12).until.AdminGetAccountReviewPolicyRequest\x1a*.until.AdminGetAccountReviewPolicyResponse\x12x\n" + + "\x19UpdateAccountReviewPolicy\x12,.until.AdminUpdateAccountReviewPolicyRequest\x1a-.until.AdminUpdateAccountReviewPolicyResponse\x12\x84\x01\n" + + "\x1dGetAccountLLMCredentialStatus\x120.until.AdminGetAccountLLMCredentialStatusRequest\x1a1.until.AdminGetAccountLLMCredentialStatusResponse\x12r\n" + + "\x17ListAccountIntegrations\x12*.until.AdminListAccountIntegrationsRequest\x1a+.until.AdminListAccountIntegrationsResponse\x12>\n" + + "\tListLoops\x12\x17.until.ListLoopsRequest\x1a\x18.until.ListLoopsResponse\x128\n" + + "\aGetLoop\x12\x15.until.GetLoopRequest\x1a\x16.until.GetLoopResponse\x12G\n" + + "\fListLoopRuns\x12\x1a.until.ListLoopRunsRequest\x1a\x1b.until.ListLoopRunsResponse\x12A\n" + "\n" + - "ListEvents\x12\x18.brent.ListEventsRequest\x1a\x19.brent.ListEventsResponse\x12>\n" + - "\tCancelRun\x12\x17.brent.CancelRunRequest\x1a\x18.brent.CancelRunResponse\x12L\n" + - "\fSendQuestion\x12\x1a.brent.SendQuestionRequest\x1a\x1e.brent.ExecuteWorkflowResponse0\x01\x12H\n" + - "\tListPlans\x12\x1c.brent.AdminListPlansRequest\x1a\x1d.brent.AdminListPlansResponse\x12B\n" + - "\aGetPlan\x12\x1a.brent.AdminGetPlanRequest\x1a\x1b.brent.AdminGetPlanResponse\x12N\n" + - "\vListReviews\x12\x1e.brent.AdminListReviewsRequest\x1a\x1f.brent.AdminListReviewsResponse\x12H\n" + - "\tGetReview\x12\x1c.brent.AdminGetReviewRequest\x1a\x1d.brent.AdminGetReviewResponse\x12H\n" + - "\fListAccounts\x12\x16.google.protobuf.Empty\x1a .brent.AdminListAccountsResponse\x12`\n" + - "\x11GetAccountSummary\x12$.brent.AdminGetAccountSummaryRequest\x1a%.brent.AdminGetAccountSummaryResponse\x12u\n" + - "\x18GetAccountHealthAnalysis\x12+.brent.AdminGetAccountHealthAnalysisRequest\x1a,.brent.AdminGetAccountHealthAnalysisResponse\x12o\n" + - "\x16ListAccountMetricRepos\x12).brent.AdminListAccountMetricReposRequest\x1a*.brent.AdminListAccountMetricReposResponse\x12\x84\x01\n" + - "\x1dStartAccountMetricsComparison\x120.brent.AdminStartAccountMetricsComparisonRequest\x1a1.brent.AdminStartAccountMetricsComparisonResponse\x12\x87\x01\n" + - "\x1eGetAccountMetricsComparisonRun\x121.brent.AdminGetAccountMetricsComparisonRunRequest\x1a2.brent.AdminGetAccountMetricsComparisonRunResponse\x12f\n" + - "\x17GetAccountBrentSettings\x12*.brent.AdminGetAccountBrentSettingsRequest\x1a\x1f.brent.GetBrentSettingsResponse\x12o\n" + - "\x1aUpdateAccountBrentSettings\x12-.brent.AdminUpdateAccountBrentSettingsRequest\x1a\".brent.UpdateBrentSettingsResponse\x12o\n" + - "\x16GetAccountReviewPolicy\x12).brent.AdminGetAccountReviewPolicyRequest\x1a*.brent.AdminGetAccountReviewPolicyResponse\x12x\n" + - "\x19UpdateAccountReviewPolicy\x12,.brent.AdminUpdateAccountReviewPolicyRequest\x1a-.brent.AdminUpdateAccountReviewPolicyResponse\x12\x84\x01\n" + - "\x1dGetAccountLLMCredentialStatus\x120.brent.AdminGetAccountLLMCredentialStatusRequest\x1a1.brent.AdminGetAccountLLMCredentialStatusResponse\x12r\n" + - "\x17ListAccountIntegrations\x12*.brent.AdminListAccountIntegrationsRequest\x1a+.brent.AdminListAccountIntegrationsResponse\x12J\n" + - "\rListWorkflows\x12\x1b.brent.ListWorkflowsRequest\x1a\x1c.brent.ListWorkflowsResponse\x12D\n" + - "\vGetWorkflow\x12\x19.brent.GetWorkflowRequest\x1a\x1a.brent.GetWorkflowResponse\x12S\n" + - "\x10ListWorkflowRuns\x12\x1e.brent.ListWorkflowRunsRequest\x1a\x1f.brent.ListWorkflowRunsResponse\x12M\n" + - "\x0eGetWorkflowRun\x12\x1c.brent.GetWorkflowRunRequest\x1a\x1d.brent.GetWorkflowRunResponse\x12t\n" + - "\x1bGetWorkflowRunThreadHistory\x12).brent.GetWorkflowRunThreadHistoryRequest\x1a*.brent.GetWorkflowRunThreadHistoryResponse\x12S\n" + - "\x10ListPullRequests\x12\x1e.brent.ListPullRequestsRequest\x1a\x1f.brent.ListPullRequestsResponse\x12Y\n" + - "\x12GetPullRequestByID\x12 .brent.GetPullRequestByIDRequest\x1a!.brent.GetPullRequestByIDResponse\x12q\n" + - "\x1aListDeviationAnalysesForPR\x12(.brent.ListDeviationAnalysesForPRRequest\x1a).brent.ListDeviationAnalysesForPRResponse\x12W\n" + - "\x0eListPrincipals\x12!.brent.AdminListPrincipalsRequest\x1a\".brent.AdminListPrincipalsResponse\x12Q\n" + - "\fGetPrincipal\x12\x1f.brent.AdminGetPrincipalRequest\x1a .brent.AdminGetPrincipalResponse\x12o\n" + - "\x16UpsertPrincipalBinding\x12).brent.AdminUpsertPrincipalBindingRequest\x1a*.brent.AdminUpsertPrincipalBindingResponse\x12o\n" + - "\x16DeletePrincipalBinding\x12).brent.AdminDeletePrincipalBindingRequest\x1a*.brent.AdminDeletePrincipalBindingResponse\x12Z\n" + - "\x0fUpdatePrincipal\x12\".brent.AdminUpdatePrincipalRequest\x1a#.brent.AdminUpdatePrincipalResponse\x12r\n" + - "\x17CreatePrincipalIdentity\x12*.brent.AdminCreatePrincipalIdentityRequest\x1a+.brent.AdminCreatePrincipalIdentityResponse\x12r\n" + - "\x17DeletePrincipalIdentity\x12*.brent.AdminDeletePrincipalIdentityRequest\x1a+.brent.AdminDeletePrincipalIdentityResponse\x12o\n" + - "\x16SetPrincipalCredential\x12).brent.AdminSetPrincipalCredentialRequest\x1a*.brent.AdminSetPrincipalCredentialResponse\x12\x93\x01\n" + - "\"ListPrincipalCredentialConnections\x125.brent.AdminListPrincipalCredentialConnectionsRequest\x1a6.brent.AdminListPrincipalCredentialConnectionsResponse\x12x\n" + - "\x19DeletePrincipalCredential\x12,.brent.AdminDeletePrincipalCredentialRequest\x1a-.brent.AdminDeletePrincipalCredentialResponse\x12e\n" + - "\x16GetPullRequestTimeline\x12$.brent.GetPullRequestTimelineRequest\x1a%.brent.GetPullRequestTimelineResponse:D\n" + + "GetLoopRun\x12\x18.until.GetLoopRunRequest\x1a\x19.until.GetLoopRunResponse\x12h\n" + + "\x17GetLoopRunThreadHistory\x12%.until.GetLoopRunThreadHistoryRequest\x1a&.until.GetLoopRunThreadHistoryResponse\x12S\n" + + "\x10ListPullRequests\x12\x1e.until.ListPullRequestsRequest\x1a\x1f.until.ListPullRequestsResponse\x12Y\n" + + "\x12GetPullRequestByID\x12 .until.GetPullRequestByIDRequest\x1a!.until.GetPullRequestByIDResponse\x12\\\n" + + "\x13ListPlanChecksForPR\x12!.until.ListPlanChecksForPRRequest\x1a\".until.ListPlanChecksForPRResponse\x12W\n" + + "\x0eListPrincipals\x12!.until.AdminListPrincipalsRequest\x1a\".until.AdminListPrincipalsResponse\x12Q\n" + + "\fGetPrincipal\x12\x1f.until.AdminGetPrincipalRequest\x1a .until.AdminGetPrincipalResponse\x12o\n" + + "\x16UpsertPrincipalBinding\x12).until.AdminUpsertPrincipalBindingRequest\x1a*.until.AdminUpsertPrincipalBindingResponse\x12o\n" + + "\x16DeletePrincipalBinding\x12).until.AdminDeletePrincipalBindingRequest\x1a*.until.AdminDeletePrincipalBindingResponse\x12Z\n" + + "\x0fUpdatePrincipal\x12\".until.AdminUpdatePrincipalRequest\x1a#.until.AdminUpdatePrincipalResponse\x12r\n" + + "\x17CreatePrincipalIdentity\x12*.until.AdminCreatePrincipalIdentityRequest\x1a+.until.AdminCreatePrincipalIdentityResponse\x12r\n" + + "\x17DeletePrincipalIdentity\x12*.until.AdminDeletePrincipalIdentityRequest\x1a+.until.AdminDeletePrincipalIdentityResponse\x12o\n" + + "\x16SetPrincipalCredential\x12).until.AdminSetPrincipalCredentialRequest\x1a*.until.AdminSetPrincipalCredentialResponse\x12\x93\x01\n" + + "\"ListPrincipalCredentialConnections\x125.until.AdminListPrincipalCredentialConnectionsRequest\x1a6.until.AdminListPrincipalCredentialConnectionsResponse\x12x\n" + + "\x19DeletePrincipalCredential\x12,.until.AdminDeletePrincipalCredentialRequest\x1a-.until.AdminDeletePrincipalCredentialResponse\x12e\n" + + "\x16GetPullRequestTimeline\x12$.until.GetPullRequestTimelineRequest\x1a%.until.GetPullRequestTimelineResponse:D\n" + "\rembedded_json\x12\x1d.google.protobuf.FieldOptions\x18ц\x03 \x01(\bR\fembeddedJsonB1Z/github.com/overmindtech/workspace/go/sdp-go;sdpb\x06proto3" var ( @@ -26915,867 +26904,867 @@ func file_brent_proto_rawDescGZIP() []byte { var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 13) var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 336) var file_brent_proto_goTypes = []any{ - (RunStatus)(0), // 0: brent.RunStatus - (MetricsComparisonMode)(0), // 1: brent.MetricsComparisonMode - (PrincipalStatusState)(0), // 2: brent.PrincipalStatusState - (IntegrationProvider)(0), // 3: brent.IntegrationProvider - (IntegrationIntent)(0), // 4: brent.IntegrationIntent - (IntegrationConnectionStatus)(0), // 5: brent.IntegrationConnectionStatus - (LoginProvider)(0), // 6: brent.LoginProvider - (JoinSource)(0), // 7: brent.JoinSource - (InvitationStatus)(0), // 8: brent.InvitationStatus - (InvitationResultStatus)(0), // 9: brent.InvitationResultStatus - (WorkspaceMemberState)(0), // 10: brent.WorkspaceMemberState - (WorkspaceReviewPolicy)(0), // 11: brent.WorkspaceReviewPolicy - (IntegrationCatalogueSource)(0), // 12: brent.IntegrationCatalogueSource - (*ListPullRequestsRequest)(nil), // 13: brent.ListPullRequestsRequest - (*ListPullRequestsResponse)(nil), // 14: brent.ListPullRequestsResponse - (*GetPullRequestByIDRequest)(nil), // 15: brent.GetPullRequestByIDRequest - (*GetPullRequestByIDResponse)(nil), // 16: brent.GetPullRequestByIDResponse - (*ListDeviationAnalysesForPRRequest)(nil), // 17: brent.ListDeviationAnalysesForPRRequest - (*ListDeviationAnalysesForPRResponse)(nil), // 18: brent.ListDeviationAnalysesForPRResponse - (*GetPullRequestTimelineRequest)(nil), // 19: brent.GetPullRequestTimelineRequest - (*PullRequestTimelineEventRow)(nil), // 20: brent.PullRequestTimelineEventRow - (*PullRequestTimelineWarning)(nil), // 21: brent.PullRequestTimelineWarning - (*GetPullRequestTimelineResponse)(nil), // 22: brent.GetPullRequestTimelineResponse - (*PullRequestSummary)(nil), // 23: brent.PullRequestSummary - (*PullRequest)(nil), // 24: brent.PullRequest - (*DeviationAnalysisSummary)(nil), // 25: brent.DeviationAnalysisSummary - (*DeviationFinding)(nil), // 26: brent.DeviationFinding - (*ExecuteWorkflowRequest)(nil), // 27: brent.ExecuteWorkflowRequest - (*ListRunsRequest)(nil), // 28: brent.ListRunsRequest - (*ListRunsResponse)(nil), // 29: brent.ListRunsResponse - (*RunSummary)(nil), // 30: brent.RunSummary - (*WatchRunRequest)(nil), // 31: brent.WatchRunRequest - (*StreamEventsRequest)(nil), // 32: brent.StreamEventsRequest - (*StreamEventsResponse)(nil), // 33: brent.StreamEventsResponse - (*ListEventsRequest)(nil), // 34: brent.ListEventsRequest - (*ListEventsResponse)(nil), // 35: brent.ListEventsResponse - (*CancelRunRequest)(nil), // 36: brent.CancelRunRequest - (*CancelRunResponse)(nil), // 37: brent.CancelRunResponse - (*ListOpenPullRequestsRequest)(nil), // 38: brent.ListOpenPullRequestsRequest - (*ListOpenPullRequestsResponse)(nil), // 39: brent.ListOpenPullRequestsResponse - (*GetPullRequestRequest)(nil), // 40: brent.GetPullRequestRequest - (*GetPullRequestResponse)(nil), // 41: brent.GetPullRequestResponse - (*OpenPullRequest)(nil), // 42: brent.OpenPullRequest - (*ExecuteWorkflowResponse)(nil), // 43: brent.ExecuteWorkflowResponse - (*ReasoningStep)(nil), // 44: brent.ReasoningStep - (*ToolCallStep)(nil), // 45: brent.ToolCallStep - (*ToolResultStep)(nil), // 46: brent.ToolResultStep - (*CompletionStep)(nil), // 47: brent.CompletionStep - (*ErrorStep)(nil), // 48: brent.ErrorStep - (*StatusStep)(nil), // 49: brent.StatusStep - (*RunStartedStep)(nil), // 50: brent.RunStartedStep - (*QAReadyStep)(nil), // 51: brent.QAReadyStep - (*UserQuestionStep)(nil), // 52: brent.UserQuestionStep - (*UserMessageStep)(nil), // 53: brent.UserMessageStep - (*SendQuestionRequest)(nil), // 54: brent.SendQuestionRequest - (*AdminListPlansRequest)(nil), // 55: brent.AdminListPlansRequest - (*AdminListPlansResponse)(nil), // 56: brent.AdminListPlansResponse - (*PlanSummary)(nil), // 57: brent.PlanSummary - (*AdminGetPlanRequest)(nil), // 58: brent.AdminGetPlanRequest - (*AdminGetPlanResponse)(nil), // 59: brent.AdminGetPlanResponse - (*Plan)(nil), // 60: brent.Plan - (*AdminListPrincipalsRequest)(nil), // 61: brent.AdminListPrincipalsRequest - (*AdminListPrincipalsResponse)(nil), // 62: brent.AdminListPrincipalsResponse - (*AdminGetPrincipalRequest)(nil), // 63: brent.AdminGetPrincipalRequest - (*AdminGetPrincipalResponse)(nil), // 64: brent.AdminGetPrincipalResponse - (*PrincipalIdentity)(nil), // 65: brent.PrincipalIdentity - (*AdminUpsertPrincipalBindingRequest)(nil), // 66: brent.AdminUpsertPrincipalBindingRequest - (*AdminUpsertPrincipalBindingResponse)(nil), // 67: brent.AdminUpsertPrincipalBindingResponse - (*AdminDeletePrincipalBindingRequest)(nil), // 68: brent.AdminDeletePrincipalBindingRequest - (*AdminDeletePrincipalBindingResponse)(nil), // 69: brent.AdminDeletePrincipalBindingResponse - (*AdminUpdatePrincipalRequest)(nil), // 70: brent.AdminUpdatePrincipalRequest - (*AdminUpdatePrincipalResponse)(nil), // 71: brent.AdminUpdatePrincipalResponse - (*AdminCreatePrincipalIdentityRequest)(nil), // 72: brent.AdminCreatePrincipalIdentityRequest - (*AdminCreatePrincipalIdentityResponse)(nil), // 73: brent.AdminCreatePrincipalIdentityResponse - (*AdminDeletePrincipalIdentityRequest)(nil), // 74: brent.AdminDeletePrincipalIdentityRequest - (*AdminDeletePrincipalIdentityResponse)(nil), // 75: brent.AdminDeletePrincipalIdentityResponse - (*AdminSetPrincipalCredentialRequest)(nil), // 76: brent.AdminSetPrincipalCredentialRequest - (*AdminSetPrincipalCredentialResponse)(nil), // 77: brent.AdminSetPrincipalCredentialResponse - (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 78: brent.AdminListPrincipalCredentialConnectionsRequest - (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 79: brent.AdminListPrincipalCredentialConnectionsResponse - (*PrincipalCredentialConnection)(nil), // 80: brent.PrincipalCredentialConnection - (*AdminDeletePrincipalCredentialRequest)(nil), // 81: brent.AdminDeletePrincipalCredentialRequest - (*AdminDeletePrincipalCredentialResponse)(nil), // 82: brent.AdminDeletePrincipalCredentialResponse - (*AdminListReviewsRequest)(nil), // 83: brent.AdminListReviewsRequest - (*AdminListReviewsResponse)(nil), // 84: brent.AdminListReviewsResponse - (*ReviewSummary)(nil), // 85: brent.ReviewSummary - (*AdminGetReviewRequest)(nil), // 86: brent.AdminGetReviewRequest - (*AdminGetReviewResponse)(nil), // 87: brent.AdminGetReviewResponse - (*Review)(nil), // 88: brent.Review - (*AccountSummary)(nil), // 89: brent.AccountSummary - (*AdminListAccountsResponse)(nil), // 90: brent.AdminListAccountsResponse - (*AdminGetAccountSummaryRequest)(nil), // 91: brent.AdminGetAccountSummaryRequest - (*AccountRunSummary)(nil), // 92: brent.AccountRunSummary - (*AdminGetAccountSummaryResponse)(nil), // 93: brent.AdminGetAccountSummaryResponse - (*AdminGetAccountHealthAnalysisRequest)(nil), // 94: brent.AdminGetAccountHealthAnalysisRequest - (*AccountHealthFinding)(nil), // 95: brent.AccountHealthFinding - (*AdminGetAccountHealthAnalysisResponse)(nil), // 96: brent.AdminGetAccountHealthAnalysisResponse - (*AdminListAccountMetricReposRequest)(nil), // 97: brent.AdminListAccountMetricReposRequest - (*AccountMetricRepo)(nil), // 98: brent.AccountMetricRepo - (*AdminListAccountMetricReposResponse)(nil), // 99: brent.AdminListAccountMetricReposResponse - (*AdminStartAccountMetricsComparisonRequest)(nil), // 100: brent.AdminStartAccountMetricsComparisonRequest - (*AdminStartAccountMetricsComparisonResponse)(nil), // 101: brent.AdminStartAccountMetricsComparisonResponse - (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 102: brent.AdminGetAccountMetricsComparisonRunRequest - (*MetricsComparisonHeadline)(nil), // 103: brent.MetricsComparisonHeadline - (*MetricsComparisonArtifact)(nil), // 104: brent.MetricsComparisonArtifact - (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 105: brent.AdminGetAccountMetricsComparisonRunResponse - (*Event)(nil), // 106: brent.Event - (*Actor)(nil), // 107: brent.Actor - (*ObjectReference)(nil), // 108: brent.ObjectReference - (*PlanCreated)(nil), // 109: brent.PlanCreated - (*PlanUpdated)(nil), // 110: brent.PlanUpdated - (*PlanDeleted)(nil), // 111: brent.PlanDeleted - (*ReviewDeleted)(nil), // 112: brent.ReviewDeleted - (*ReviewRestored)(nil), // 113: brent.ReviewRestored - (*PlanRestored)(nil), // 114: brent.PlanRestored - (*ReviewRequested)(nil), // 115: brent.ReviewRequested - (*ReviewSubmitted)(nil), // 116: brent.ReviewSubmitted - (*ReviewNoEligibleReviewer)(nil), // 117: brent.ReviewNoEligibleReviewer - (*PlanReviewPolicyDecided)(nil), // 118: brent.PlanReviewPolicyDecided - (*WorkspaceReviewPolicyUpdated)(nil), // 119: brent.WorkspaceReviewPolicyUpdated - (*PrincipalCreated)(nil), // 120: brent.PrincipalCreated - (*PrincipalUpdated)(nil), // 121: brent.PrincipalUpdated - (*PrincipalTombstoned)(nil), // 122: brent.PrincipalTombstoned - (*WorkspaceCreated)(nil), // 123: brent.WorkspaceCreated - (*WorkspaceOnboardingCompleted)(nil), // 124: brent.WorkspaceOnboardingCompleted - (*WorkspaceRenamed)(nil), // 125: brent.WorkspaceRenamed - (*WorkspaceDeleted)(nil), // 126: brent.WorkspaceDeleted - (*WorkspaceMemberJoined)(nil), // 127: brent.WorkspaceMemberJoined - (*WorkspaceMemberLeft)(nil), // 128: brent.WorkspaceMemberLeft - (*ApprovedEmailDomainAdded)(nil), // 129: brent.ApprovedEmailDomainAdded - (*ApprovedEmailDomainVerified)(nil), // 130: brent.ApprovedEmailDomainVerified - (*ApprovedEmailDomainDeleted)(nil), // 131: brent.ApprovedEmailDomainDeleted - (*MCPGrantWorkspaceBindingChanged)(nil), // 132: brent.MCPGrantWorkspaceBindingChanged - (*IdentityCreated)(nil), // 133: brent.IdentityCreated - (*IdentityDeleted)(nil), // 134: brent.IdentityDeleted - (*BindingCreated)(nil), // 135: brent.BindingCreated - (*BindingUpdated)(nil), // 136: brent.BindingUpdated - (*BindingDeleted)(nil), // 137: brent.BindingDeleted - (*CredentialConnected)(nil), // 138: brent.CredentialConnected - (*CredentialRevoked)(nil), // 139: brent.CredentialRevoked - (*WorkspaceLLMCredentialConnected)(nil), // 140: brent.WorkspaceLLMCredentialConnected - (*WorkspaceLLMCredentialRevoked)(nil), // 141: brent.WorkspaceLLMCredentialRevoked - (*ReviewDriveByStarted)(nil), // 142: brent.ReviewDriveByStarted - (*OtherEvent)(nil), // 143: brent.OtherEvent - (*UnknownStoredPayload)(nil), // 144: brent.UnknownStoredPayload - (*PullRequestOpened)(nil), // 145: brent.PullRequestOpened - (*PullRequestSynchronized)(nil), // 146: brent.PullRequestSynchronized - (*PullRequestUpdated)(nil), // 147: brent.PullRequestUpdated - (*PullRequestClosed)(nil), // 148: brent.PullRequestClosed - (*PullRequestLinkedToPlan)(nil), // 149: brent.PullRequestLinkedToPlan - (*PullRequestUnlinkedFromPlan)(nil), // 150: brent.PullRequestUnlinkedFromPlan - (*PullRequestLinkedToAgentRun)(nil), // 151: brent.PullRequestLinkedToAgentRun - (*PullRequestReviewRequested)(nil), // 152: brent.PullRequestReviewRequested - (*PullRequestApproved)(nil), // 153: brent.PullRequestApproved - (*PullRequestChangesRequested)(nil), // 154: brent.PullRequestChangesRequested - (*PullRequestReviewDismissed)(nil), // 155: brent.PullRequestReviewDismissed - (*PullRequestCommentCreated)(nil), // 156: brent.PullRequestCommentCreated - (*DeviationAnalysisStarted)(nil), // 157: brent.DeviationAnalysisStarted - (*FindingSummary)(nil), // 158: brent.FindingSummary - (*DeviationAnalysisCompleted)(nil), // 159: brent.DeviationAnalysisCompleted - (*DeviationAnalysisFailed)(nil), // 160: brent.DeviationAnalysisFailed - (*DeviationFindingRecorded)(nil), // 161: brent.DeviationFindingRecorded - (*DeviationFindingUpdated)(nil), // 162: brent.DeviationFindingUpdated - (*DeviationFindingResolved)(nil), // 163: brent.DeviationFindingResolved - (*DeviationFindingAcknowledged)(nil), // 164: brent.DeviationFindingAcknowledged - (*DeviationFindingAcknowledgementCleared)(nil), // 165: brent.DeviationFindingAcknowledgementCleared - (*AgentRunDispatched)(nil), // 166: brent.AgentRunDispatched - (*AgentRunStarted)(nil), // 167: brent.AgentRunStarted - (*AgentRunPullRequestMatched)(nil), // 168: brent.AgentRunPullRequestMatched - (*AgentRunFlaggedNeedsYou)(nil), // 169: brent.AgentRunFlaggedNeedsYou - (*AgentRunGatePassed)(nil), // 170: brent.AgentRunGatePassed - (*AgentRunMerged)(nil), // 171: brent.AgentRunMerged - (*AgentRunCancelled)(nil), // 172: brent.AgentRunCancelled - (*AgentRunDeclined)(nil), // 173: brent.AgentRunDeclined - (*AgentRunAnnotated)(nil), // 174: brent.AgentRunAnnotated - (*WorkflowIngested)(nil), // 175: brent.WorkflowIngested - (*WorkflowRunQueued)(nil), // 176: brent.WorkflowRunQueued - (*WorkflowRunStarted)(nil), // 177: brent.WorkflowRunStarted - (*WorkflowRunCompleted)(nil), // 178: brent.WorkflowRunCompleted - (*WorkflowRunFailed)(nil), // 179: brent.WorkflowRunFailed - (*WorkflowRunCancelled)(nil), // 180: brent.WorkflowRunCancelled - (*SlackWebhook)(nil), // 181: brent.SlackWebhook - (*LinearWebhook)(nil), // 182: brent.LinearWebhook - (*ComposioTriggerMessage)(nil), // 183: brent.ComposioTriggerMessage - (*GitHubWebhook)(nil), // 184: brent.GitHubWebhook - (*GitLabWebhook)(nil), // 185: brent.GitLabWebhook - (*BitbucketWebhook)(nil), // 186: brent.BitbucketWebhook - (*EmbeddedJsonCELFixture)(nil), // 187: brent.EmbeddedJsonCELFixture - (*SlackMentionReceived)(nil), // 188: brent.SlackMentionReceived - (*OrganisationAppInstallationUpserted)(nil), // 189: brent.OrganisationAppInstallationUpserted - (*OrganisationAppInstallationDeleted)(nil), // 190: brent.OrganisationAppInstallationDeleted - (*SlackReactionAdded)(nil), // 191: brent.SlackReactionAdded - (*ListWorkflowsRequest)(nil), // 192: brent.ListWorkflowsRequest - (*ListWorkflowsResponse)(nil), // 193: brent.ListWorkflowsResponse - (*WorkflowSummary)(nil), // 194: brent.WorkflowSummary - (*GetWorkflowRequest)(nil), // 195: brent.GetWorkflowRequest - (*GetWorkflowResponse)(nil), // 196: brent.GetWorkflowResponse - (*Workflow)(nil), // 197: brent.Workflow - (*ListWorkflowRunsRequest)(nil), // 198: brent.ListWorkflowRunsRequest - (*ListWorkflowRunsResponse)(nil), // 199: brent.ListWorkflowRunsResponse - (*WorkflowRunSummary)(nil), // 200: brent.WorkflowRunSummary - (*GetWorkflowRunRequest)(nil), // 201: brent.GetWorkflowRunRequest - (*GetWorkflowRunThreadHistoryRequest)(nil), // 202: brent.GetWorkflowRunThreadHistoryRequest - (*WorkflowRunThreadSegment)(nil), // 203: brent.WorkflowRunThreadSegment - (*GetWorkflowRunThreadHistoryResponse)(nil), // 204: brent.GetWorkflowRunThreadHistoryResponse - (*GetWorkflowRunResponse)(nil), // 205: brent.GetWorkflowRunResponse - (*WorkflowRun)(nil), // 206: brent.WorkflowRun - (*GetPrincipalStatusRequest)(nil), // 207: brent.GetPrincipalStatusRequest - (*GetPrincipalStatusResponse)(nil), // 208: brent.GetPrincipalStatusResponse - (*GetIntegrationConnectURLRequest)(nil), // 209: brent.GetIntegrationConnectURLRequest - (*GetIntegrationConnectURLResponse)(nil), // 210: brent.GetIntegrationConnectURLResponse - (*DisconnectIntegrationRequest)(nil), // 211: brent.DisconnectIntegrationRequest - (*DisconnectIntegrationResponse)(nil), // 212: brent.DisconnectIntegrationResponse - (*ConnectByoHttpMcpRequest)(nil), // 213: brent.ConnectByoHttpMcpRequest - (*ConnectByoHttpMcpResponse)(nil), // 214: brent.ConnectByoHttpMcpResponse - (*GetGitLabConnectionRequest)(nil), // 215: brent.GetGitLabConnectionRequest - (*GetGitLabConnectionResponse)(nil), // 216: brent.GetGitLabConnectionResponse - (*ConnectGitLabRequest)(nil), // 217: brent.ConnectGitLabRequest - (*ConnectGitLabResponse)(nil), // 218: brent.ConnectGitLabResponse - (*SaveGitLabSigningTokenRequest)(nil), // 219: brent.SaveGitLabSigningTokenRequest - (*SaveGitLabSigningTokenResponse)(nil), // 220: brent.SaveGitLabSigningTokenResponse - (*GitHubPendingInstall)(nil), // 221: brent.GitHubPendingInstall - (*IntegrationStatus)(nil), // 222: brent.IntegrationStatus - (*GetWorkspaceIntegrationRolesRequest)(nil), // 223: brent.GetWorkspaceIntegrationRolesRequest - (*GetWorkspaceIntegrationRolesResponse)(nil), // 224: brent.GetWorkspaceIntegrationRolesResponse - (*SetWorkspaceIntegrationRolesRequest)(nil), // 225: brent.SetWorkspaceIntegrationRolesRequest - (*SetWorkspaceIntegrationRolesResponse)(nil), // 226: brent.SetWorkspaceIntegrationRolesResponse - (*Principal)(nil), // 227: brent.Principal - (*Workspace)(nil), // 228: brent.Workspace - (*CreateWorkspaceRequest)(nil), // 229: brent.CreateWorkspaceRequest - (*CreateWorkspaceResponse)(nil), // 230: brent.CreateWorkspaceResponse - (*ListMyWorkspacesRequest)(nil), // 231: brent.ListMyWorkspacesRequest - (*ListMyWorkspacesResponse)(nil), // 232: brent.ListMyWorkspacesResponse - (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 233: brent.DiscoverLoginRecoveryCandidatesRequest - (*LoginRecoveryCandidate)(nil), // 234: brent.LoginRecoveryCandidate - (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 235: brent.DiscoverLoginRecoveryCandidatesResponse - (*RenameWorkspaceRequest)(nil), // 236: brent.RenameWorkspaceRequest - (*RenameWorkspaceResponse)(nil), // 237: brent.RenameWorkspaceResponse - (*DeleteWorkspaceRequest)(nil), // 238: brent.DeleteWorkspaceRequest - (*DeleteWorkspaceResponse)(nil), // 239: brent.DeleteWorkspaceResponse - (*ListJoinableWorkspacesRequest)(nil), // 240: brent.ListJoinableWorkspacesRequest - (*ListJoinableWorkspacesResponse)(nil), // 241: brent.ListJoinableWorkspacesResponse - (*JoinableWorkspace)(nil), // 242: brent.JoinableWorkspace - (*JoinableWorkspaceMember)(nil), // 243: brent.JoinableWorkspaceMember - (*JoinWorkspaceRequest)(nil), // 244: brent.JoinWorkspaceRequest - (*JoinWorkspaceResponse)(nil), // 245: brent.JoinWorkspaceResponse - (*ApprovedEmailDomain)(nil), // 246: brent.ApprovedEmailDomain - (*ListApprovedEmailDomainsRequest)(nil), // 247: brent.ListApprovedEmailDomainsRequest - (*ListApprovedEmailDomainsResponse)(nil), // 248: brent.ListApprovedEmailDomainsResponse - (*AddApprovedEmailDomainRequest)(nil), // 249: brent.AddApprovedEmailDomainRequest - (*AddApprovedEmailDomainResponse)(nil), // 250: brent.AddApprovedEmailDomainResponse - (*VerifyApprovedEmailDomainRequest)(nil), // 251: brent.VerifyApprovedEmailDomainRequest - (*VerifyApprovedEmailDomainResponse)(nil), // 252: brent.VerifyApprovedEmailDomainResponse - (*ResendApprovedEmailDomainCodeRequest)(nil), // 253: brent.ResendApprovedEmailDomainCodeRequest - (*ResendApprovedEmailDomainCodeResponse)(nil), // 254: brent.ResendApprovedEmailDomainCodeResponse - (*ResendVerificationEmailRequest)(nil), // 255: brent.ResendVerificationEmailRequest - (*ResendVerificationEmailResponse)(nil), // 256: brent.ResendVerificationEmailResponse - (*DeleteApprovedEmailDomainRequest)(nil), // 257: brent.DeleteApprovedEmailDomainRequest - (*DeleteApprovedEmailDomainResponse)(nil), // 258: brent.DeleteApprovedEmailDomainResponse - (*WorkspaceLLMCredentialStatus)(nil), // 259: brent.WorkspaceLLMCredentialStatus - (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 260: brent.GetWorkspaceLLMCredentialStatusRequest - (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 261: brent.GetWorkspaceLLMCredentialStatusResponse - (*SetWorkspaceLLMCredentialRequest)(nil), // 262: brent.SetWorkspaceLLMCredentialRequest - (*SetWorkspaceLLMCredentialResponse)(nil), // 263: brent.SetWorkspaceLLMCredentialResponse - (*DeleteWorkspaceLLMCredentialRequest)(nil), // 264: brent.DeleteWorkspaceLLMCredentialRequest - (*DeleteWorkspaceLLMCredentialResponse)(nil), // 265: brent.DeleteWorkspaceLLMCredentialResponse - (*MyCursorCredentialStatus)(nil), // 266: brent.MyCursorCredentialStatus - (*GetMyCursorCredentialStatusRequest)(nil), // 267: brent.GetMyCursorCredentialStatusRequest - (*GetMyCursorCredentialStatusResponse)(nil), // 268: brent.GetMyCursorCredentialStatusResponse - (*SetMyCursorCredentialRequest)(nil), // 269: brent.SetMyCursorCredentialRequest - (*SetMyCursorCredentialResponse)(nil), // 270: brent.SetMyCursorCredentialResponse - (*DeleteMyCursorCredentialRequest)(nil), // 271: brent.DeleteMyCursorCredentialRequest - (*DeleteMyCursorCredentialResponse)(nil), // 272: brent.DeleteMyCursorCredentialResponse - (*UpdateWorkspaceBrandingRequest)(nil), // 273: brent.UpdateWorkspaceBrandingRequest - (*UpdateWorkspaceBrandingResponse)(nil), // 274: brent.UpdateWorkspaceBrandingResponse - (*CompleteWorkspaceOnboardingRequest)(nil), // 275: brent.CompleteWorkspaceOnboardingRequest - (*CompleteWorkspaceOnboardingResponse)(nil), // 276: brent.CompleteWorkspaceOnboardingResponse - (*CreateInvitationRequest)(nil), // 277: brent.CreateInvitationRequest - (*CreateInvitationResponse)(nil), // 278: brent.CreateInvitationResponse - (*CreateInvitationsRequest)(nil), // 279: brent.CreateInvitationsRequest - (*InvitationResult)(nil), // 280: brent.InvitationResult - (*CreateInvitationsResponse)(nil), // 281: brent.CreateInvitationsResponse - (*AcceptInvitationRequest)(nil), // 282: brent.AcceptInvitationRequest - (*AcceptInvitationResponse)(nil), // 283: brent.AcceptInvitationResponse - (*ListWorkspaceMembersRequest)(nil), // 284: brent.ListWorkspaceMembersRequest - (*ListWorkspaceMembersResponse)(nil), // 285: brent.ListWorkspaceMembersResponse - (*WorkspaceMember)(nil), // 286: brent.WorkspaceMember - (*ResendInvitationRequest)(nil), // 287: brent.ResendInvitationRequest - (*ResendInvitationResponse)(nil), // 288: brent.ResendInvitationResponse - (*RevokeInvitationRequest)(nil), // 289: brent.RevokeInvitationRequest - (*RevokeInvitationResponse)(nil), // 290: brent.RevokeInvitationResponse - (*RemoveWorkspaceMemberRequest)(nil), // 291: brent.RemoveWorkspaceMemberRequest - (*RemoveWorkspaceMemberResponse)(nil), // 292: brent.RemoveWorkspaceMemberResponse - (*UpdateWorkspaceMemberRoleRequest)(nil), // 293: brent.UpdateWorkspaceMemberRoleRequest - (*UpdateWorkspaceMemberRoleResponse)(nil), // 294: brent.UpdateWorkspaceMemberRoleResponse - (*GetInvitationRequest)(nil), // 295: brent.GetInvitationRequest - (*GetInvitationResponse)(nil), // 296: brent.GetInvitationResponse - (*UpsertMyVerifiedBindingRequest)(nil), // 297: brent.UpsertMyVerifiedBindingRequest - (*UpsertMyVerifiedBindingResponse)(nil), // 298: brent.UpsertMyVerifiedBindingResponse - (*UpdateMyDisplayNameRequest)(nil), // 299: brent.UpdateMyDisplayNameRequest - (*UpdateMyDisplayNameResponse)(nil), // 300: brent.UpdateMyDisplayNameResponse - (*ListMyBindingsRequest)(nil), // 301: brent.ListMyBindingsRequest - (*ListMyBindingsResponse)(nil), // 302: brent.ListMyBindingsResponse - (*NotificationPreferences)(nil), // 303: brent.NotificationPreferences - (*ChannelPreferences)(nil), // 304: brent.ChannelPreferences - (*GetMyNotificationPreferencesRequest)(nil), // 305: brent.GetMyNotificationPreferencesRequest - (*GetMyNotificationPreferencesResponse)(nil), // 306: brent.GetMyNotificationPreferencesResponse - (*UpdateMyNotificationPreferencesRequest)(nil), // 307: brent.UpdateMyNotificationPreferencesRequest - (*UpdateMyNotificationPreferencesResponse)(nil), // 308: brent.UpdateMyNotificationPreferencesResponse - (*RegisterMyPushSubscriptionRequest)(nil), // 309: brent.RegisterMyPushSubscriptionRequest - (*RegisterMyPushSubscriptionResponse)(nil), // 310: brent.RegisterMyPushSubscriptionResponse - (*GetWebPushPublicKeyRequest)(nil), // 311: brent.GetWebPushPublicKeyRequest - (*GetWebPushPublicKeyResponse)(nil), // 312: brent.GetWebPushPublicKeyResponse - (*Binding)(nil), // 313: brent.Binding - (*RedFindingKindsPatch)(nil), // 314: brent.RedFindingKindsPatch - (*GetBrentSettingsRequest)(nil), // 315: brent.GetBrentSettingsRequest - (*GetBrentSettingsResponse)(nil), // 316: brent.GetBrentSettingsResponse - (*UpdateBrentSettingsRequest)(nil), // 317: brent.UpdateBrentSettingsRequest - (*UpdateBrentSettingsResponse)(nil), // 318: brent.UpdateBrentSettingsResponse - (*AdminGetAccountBrentSettingsRequest)(nil), // 319: brent.AdminGetAccountBrentSettingsRequest - (*AdminUpdateAccountBrentSettingsRequest)(nil), // 320: brent.AdminUpdateAccountBrentSettingsRequest - (*AdminGetAccountReviewPolicyRequest)(nil), // 321: brent.AdminGetAccountReviewPolicyRequest - (*AdminGetAccountReviewPolicyResponse)(nil), // 322: brent.AdminGetAccountReviewPolicyResponse - (*AdminUpdateAccountReviewPolicyRequest)(nil), // 323: brent.AdminUpdateAccountReviewPolicyRequest - (*AdminUpdateAccountReviewPolicyResponse)(nil), // 324: brent.AdminUpdateAccountReviewPolicyResponse - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 325: brent.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 326: brent.AdminGetAccountLLMCredentialStatusResponse - (*AdminListAccountIntegrationsRequest)(nil), // 327: brent.AdminListAccountIntegrationsRequest - (*AdminAccountIntegrationInstall)(nil), // 328: brent.AdminAccountIntegrationInstall - (*AdminListAccountIntegrationsResponse)(nil), // 329: brent.AdminListAccountIntegrationsResponse - (*ListIntegrationCatalogueRequest)(nil), // 330: brent.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 331: brent.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 332: brent.IntegrationCatalogueEntry - (*GetPlanPromptRequest)(nil), // 333: brent.GetPlanPromptRequest - (*GetPlanPromptResponse)(nil), // 334: brent.GetPlanPromptResponse - nil, // 335: brent.PlanUpdated.PreviousEntry - nil, // 336: brent.PlanUpdated.AfterEntry - nil, // 337: brent.PrincipalUpdated.PreviousEntry - nil, // 338: brent.PrincipalUpdated.AfterEntry - nil, // 339: brent.BindingUpdated.PreviousEntry - nil, // 340: brent.BindingUpdated.AfterEntry - nil, // 341: brent.OtherEvent.FieldsEntry - nil, // 342: brent.PullRequestUpdated.PreviousEntry - nil, // 343: brent.PullRequestUpdated.AfterEntry - nil, // 344: brent.DeviationAnalysisCompleted.FindingCountByTagEntry - nil, // 345: brent.DeviationFindingUpdated.PreviousEntry - nil, // 346: brent.DeviationFindingUpdated.AfterEntry - nil, // 347: brent.NotificationPreferences.PreferencesEntry - nil, // 348: brent.ChannelPreferences.ChannelsEntry + (RunStatus)(0), // 0: until.RunStatus + (MetricsComparisonMode)(0), // 1: until.MetricsComparisonMode + (PrincipalStatusState)(0), // 2: until.PrincipalStatusState + (IntegrationProvider)(0), // 3: until.IntegrationProvider + (IntegrationIntent)(0), // 4: until.IntegrationIntent + (IntegrationConnectionStatus)(0), // 5: until.IntegrationConnectionStatus + (LoginProvider)(0), // 6: until.LoginProvider + (JoinSource)(0), // 7: until.JoinSource + (InvitationStatus)(0), // 8: until.InvitationStatus + (InvitationResultStatus)(0), // 9: until.InvitationResultStatus + (WorkspaceMemberState)(0), // 10: until.WorkspaceMemberState + (WorkspaceReviewPolicy)(0), // 11: until.WorkspaceReviewPolicy + (IntegrationCatalogueSource)(0), // 12: until.IntegrationCatalogueSource + (*ListPullRequestsRequest)(nil), // 13: until.ListPullRequestsRequest + (*ListPullRequestsResponse)(nil), // 14: until.ListPullRequestsResponse + (*GetPullRequestByIDRequest)(nil), // 15: until.GetPullRequestByIDRequest + (*GetPullRequestByIDResponse)(nil), // 16: until.GetPullRequestByIDResponse + (*ListPlanChecksForPRRequest)(nil), // 17: until.ListPlanChecksForPRRequest + (*ListPlanChecksForPRResponse)(nil), // 18: until.ListPlanChecksForPRResponse + (*GetPullRequestTimelineRequest)(nil), // 19: until.GetPullRequestTimelineRequest + (*PullRequestTimelineEventRow)(nil), // 20: until.PullRequestTimelineEventRow + (*PullRequestTimelineWarning)(nil), // 21: until.PullRequestTimelineWarning + (*GetPullRequestTimelineResponse)(nil), // 22: until.GetPullRequestTimelineResponse + (*PullRequestSummary)(nil), // 23: until.PullRequestSummary + (*PullRequest)(nil), // 24: until.PullRequest + (*PlanCheckSummary)(nil), // 25: until.PlanCheckSummary + (*PlanDifference)(nil), // 26: until.PlanDifference + (*ExecuteLoopRequest)(nil), // 27: until.ExecuteLoopRequest + (*ListRunsRequest)(nil), // 28: until.ListRunsRequest + (*ListRunsResponse)(nil), // 29: until.ListRunsResponse + (*RunSummary)(nil), // 30: until.RunSummary + (*WatchRunRequest)(nil), // 31: until.WatchRunRequest + (*StreamEventsRequest)(nil), // 32: until.StreamEventsRequest + (*StreamEventsResponse)(nil), // 33: until.StreamEventsResponse + (*ListEventsRequest)(nil), // 34: until.ListEventsRequest + (*ListEventsResponse)(nil), // 35: until.ListEventsResponse + (*CancelRunRequest)(nil), // 36: until.CancelRunRequest + (*CancelRunResponse)(nil), // 37: until.CancelRunResponse + (*ListOpenPullRequestsRequest)(nil), // 38: until.ListOpenPullRequestsRequest + (*ListOpenPullRequestsResponse)(nil), // 39: until.ListOpenPullRequestsResponse + (*GetPullRequestRequest)(nil), // 40: until.GetPullRequestRequest + (*GetPullRequestResponse)(nil), // 41: until.GetPullRequestResponse + (*OpenPullRequest)(nil), // 42: until.OpenPullRequest + (*ExecuteLoopResponse)(nil), // 43: until.ExecuteLoopResponse + (*ReasoningStep)(nil), // 44: until.ReasoningStep + (*ToolCallStep)(nil), // 45: until.ToolCallStep + (*ToolResultStep)(nil), // 46: until.ToolResultStep + (*CompletionStep)(nil), // 47: until.CompletionStep + (*ErrorStep)(nil), // 48: until.ErrorStep + (*StatusStep)(nil), // 49: until.StatusStep + (*RunStartedStep)(nil), // 50: until.RunStartedStep + (*QAReadyStep)(nil), // 51: until.QAReadyStep + (*UserQuestionStep)(nil), // 52: until.UserQuestionStep + (*UserMessageStep)(nil), // 53: until.UserMessageStep + (*SendQuestionRequest)(nil), // 54: until.SendQuestionRequest + (*AdminListPlansRequest)(nil), // 55: until.AdminListPlansRequest + (*AdminListPlansResponse)(nil), // 56: until.AdminListPlansResponse + (*PlanSummary)(nil), // 57: until.PlanSummary + (*AdminGetPlanRequest)(nil), // 58: until.AdminGetPlanRequest + (*AdminGetPlanResponse)(nil), // 59: until.AdminGetPlanResponse + (*Plan)(nil), // 60: until.Plan + (*AdminListPrincipalsRequest)(nil), // 61: until.AdminListPrincipalsRequest + (*AdminListPrincipalsResponse)(nil), // 62: until.AdminListPrincipalsResponse + (*AdminGetPrincipalRequest)(nil), // 63: until.AdminGetPrincipalRequest + (*AdminGetPrincipalResponse)(nil), // 64: until.AdminGetPrincipalResponse + (*PrincipalIdentity)(nil), // 65: until.PrincipalIdentity + (*AdminUpsertPrincipalBindingRequest)(nil), // 66: until.AdminUpsertPrincipalBindingRequest + (*AdminUpsertPrincipalBindingResponse)(nil), // 67: until.AdminUpsertPrincipalBindingResponse + (*AdminDeletePrincipalBindingRequest)(nil), // 68: until.AdminDeletePrincipalBindingRequest + (*AdminDeletePrincipalBindingResponse)(nil), // 69: until.AdminDeletePrincipalBindingResponse + (*AdminUpdatePrincipalRequest)(nil), // 70: until.AdminUpdatePrincipalRequest + (*AdminUpdatePrincipalResponse)(nil), // 71: until.AdminUpdatePrincipalResponse + (*AdminCreatePrincipalIdentityRequest)(nil), // 72: until.AdminCreatePrincipalIdentityRequest + (*AdminCreatePrincipalIdentityResponse)(nil), // 73: until.AdminCreatePrincipalIdentityResponse + (*AdminDeletePrincipalIdentityRequest)(nil), // 74: until.AdminDeletePrincipalIdentityRequest + (*AdminDeletePrincipalIdentityResponse)(nil), // 75: until.AdminDeletePrincipalIdentityResponse + (*AdminSetPrincipalCredentialRequest)(nil), // 76: until.AdminSetPrincipalCredentialRequest + (*AdminSetPrincipalCredentialResponse)(nil), // 77: until.AdminSetPrincipalCredentialResponse + (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 78: until.AdminListPrincipalCredentialConnectionsRequest + (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 79: until.AdminListPrincipalCredentialConnectionsResponse + (*PrincipalCredentialConnection)(nil), // 80: until.PrincipalCredentialConnection + (*AdminDeletePrincipalCredentialRequest)(nil), // 81: until.AdminDeletePrincipalCredentialRequest + (*AdminDeletePrincipalCredentialResponse)(nil), // 82: until.AdminDeletePrincipalCredentialResponse + (*AdminListReviewsRequest)(nil), // 83: until.AdminListReviewsRequest + (*AdminListReviewsResponse)(nil), // 84: until.AdminListReviewsResponse + (*ReviewSummary)(nil), // 85: until.ReviewSummary + (*AdminGetReviewRequest)(nil), // 86: until.AdminGetReviewRequest + (*AdminGetReviewResponse)(nil), // 87: until.AdminGetReviewResponse + (*Review)(nil), // 88: until.Review + (*AccountSummary)(nil), // 89: until.AccountSummary + (*AdminListAccountsResponse)(nil), // 90: until.AdminListAccountsResponse + (*AdminGetAccountSummaryRequest)(nil), // 91: until.AdminGetAccountSummaryRequest + (*AccountRunSummary)(nil), // 92: until.AccountRunSummary + (*AdminGetAccountSummaryResponse)(nil), // 93: until.AdminGetAccountSummaryResponse + (*AdminGetAccountHealthAnalysisRequest)(nil), // 94: until.AdminGetAccountHealthAnalysisRequest + (*AccountHealthFinding)(nil), // 95: until.AccountHealthFinding + (*AdminGetAccountHealthAnalysisResponse)(nil), // 96: until.AdminGetAccountHealthAnalysisResponse + (*AdminListAccountMetricReposRequest)(nil), // 97: until.AdminListAccountMetricReposRequest + (*AccountMetricRepo)(nil), // 98: until.AccountMetricRepo + (*AdminListAccountMetricReposResponse)(nil), // 99: until.AdminListAccountMetricReposResponse + (*AdminStartAccountMetricsComparisonRequest)(nil), // 100: until.AdminStartAccountMetricsComparisonRequest + (*AdminStartAccountMetricsComparisonResponse)(nil), // 101: until.AdminStartAccountMetricsComparisonResponse + (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 102: until.AdminGetAccountMetricsComparisonRunRequest + (*MetricsComparisonHeadline)(nil), // 103: until.MetricsComparisonHeadline + (*MetricsComparisonArtifact)(nil), // 104: until.MetricsComparisonArtifact + (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 105: until.AdminGetAccountMetricsComparisonRunResponse + (*Event)(nil), // 106: until.Event + (*Actor)(nil), // 107: until.Actor + (*ObjectReference)(nil), // 108: until.ObjectReference + (*PlanCreated)(nil), // 109: until.PlanCreated + (*PlanUpdated)(nil), // 110: until.PlanUpdated + (*PlanDeleted)(nil), // 111: until.PlanDeleted + (*ReviewDeleted)(nil), // 112: until.ReviewDeleted + (*ReviewRestored)(nil), // 113: until.ReviewRestored + (*PlanRestored)(nil), // 114: until.PlanRestored + (*ReviewRequested)(nil), // 115: until.ReviewRequested + (*ReviewSubmitted)(nil), // 116: until.ReviewSubmitted + (*ReviewNoEligibleReviewer)(nil), // 117: until.ReviewNoEligibleReviewer + (*PlanReviewPolicyDecided)(nil), // 118: until.PlanReviewPolicyDecided + (*WorkspaceReviewPolicyUpdated)(nil), // 119: until.WorkspaceReviewPolicyUpdated + (*PrincipalCreated)(nil), // 120: until.PrincipalCreated + (*PrincipalUpdated)(nil), // 121: until.PrincipalUpdated + (*PrincipalTombstoned)(nil), // 122: until.PrincipalTombstoned + (*WorkspaceCreated)(nil), // 123: until.WorkspaceCreated + (*WorkspaceOnboardingCompleted)(nil), // 124: until.WorkspaceOnboardingCompleted + (*WorkspaceRenamed)(nil), // 125: until.WorkspaceRenamed + (*WorkspaceDeleted)(nil), // 126: until.WorkspaceDeleted + (*WorkspaceMemberJoined)(nil), // 127: until.WorkspaceMemberJoined + (*WorkspaceMemberLeft)(nil), // 128: until.WorkspaceMemberLeft + (*ApprovedEmailDomainAdded)(nil), // 129: until.ApprovedEmailDomainAdded + (*ApprovedEmailDomainVerified)(nil), // 130: until.ApprovedEmailDomainVerified + (*ApprovedEmailDomainDeleted)(nil), // 131: until.ApprovedEmailDomainDeleted + (*MCPGrantWorkspaceBindingChanged)(nil), // 132: until.MCPGrantWorkspaceBindingChanged + (*IdentityCreated)(nil), // 133: until.IdentityCreated + (*IdentityDeleted)(nil), // 134: until.IdentityDeleted + (*BindingCreated)(nil), // 135: until.BindingCreated + (*BindingUpdated)(nil), // 136: until.BindingUpdated + (*BindingDeleted)(nil), // 137: until.BindingDeleted + (*CredentialConnected)(nil), // 138: until.CredentialConnected + (*CredentialRevoked)(nil), // 139: until.CredentialRevoked + (*WorkspaceLLMCredentialConnected)(nil), // 140: until.WorkspaceLLMCredentialConnected + (*WorkspaceLLMCredentialRevoked)(nil), // 141: until.WorkspaceLLMCredentialRevoked + (*ReviewDriveByStarted)(nil), // 142: until.ReviewDriveByStarted + (*OtherEvent)(nil), // 143: until.OtherEvent + (*UnknownStoredPayload)(nil), // 144: until.UnknownStoredPayload + (*PullRequestOpened)(nil), // 145: until.PullRequestOpened + (*PullRequestSynchronized)(nil), // 146: until.PullRequestSynchronized + (*PullRequestUpdated)(nil), // 147: until.PullRequestUpdated + (*PullRequestClosed)(nil), // 148: until.PullRequestClosed + (*PullRequestLinkedToPlan)(nil), // 149: until.PullRequestLinkedToPlan + (*PullRequestUnlinkedFromPlan)(nil), // 150: until.PullRequestUnlinkedFromPlan + (*PullRequestLinkedToAgentRun)(nil), // 151: until.PullRequestLinkedToAgentRun + (*PullRequestReviewRequested)(nil), // 152: until.PullRequestReviewRequested + (*PullRequestApproved)(nil), // 153: until.PullRequestApproved + (*PullRequestChangesRequested)(nil), // 154: until.PullRequestChangesRequested + (*PullRequestReviewDismissed)(nil), // 155: until.PullRequestReviewDismissed + (*PullRequestCommentCreated)(nil), // 156: until.PullRequestCommentCreated + (*PlanCheckStarted)(nil), // 157: until.PlanCheckStarted + (*DifferenceSummary)(nil), // 158: until.DifferenceSummary + (*PlanCheckCompleted)(nil), // 159: until.PlanCheckCompleted + (*PlanCheckFailed)(nil), // 160: until.PlanCheckFailed + (*PlanDifferenceRecorded)(nil), // 161: until.PlanDifferenceRecorded + (*PlanDifferenceUpdated)(nil), // 162: until.PlanDifferenceUpdated + (*PlanDifferenceResolved)(nil), // 163: until.PlanDifferenceResolved + (*PlanDifferenceAcknowledged)(nil), // 164: until.PlanDifferenceAcknowledged + (*PlanDifferenceAcknowledgementCleared)(nil), // 165: until.PlanDifferenceAcknowledgementCleared + (*AgentRunDispatched)(nil), // 166: until.AgentRunDispatched + (*AgentRunStarted)(nil), // 167: until.AgentRunStarted + (*AgentRunPullRequestMatched)(nil), // 168: until.AgentRunPullRequestMatched + (*AgentRunFlaggedNeedsYou)(nil), // 169: until.AgentRunFlaggedNeedsYou + (*AgentRunGatePassed)(nil), // 170: until.AgentRunGatePassed + (*AgentRunMerged)(nil), // 171: until.AgentRunMerged + (*AgentRunCancelled)(nil), // 172: until.AgentRunCancelled + (*AgentRunDeclined)(nil), // 173: until.AgentRunDeclined + (*AgentRunAnnotated)(nil), // 174: until.AgentRunAnnotated + (*LoopIngested)(nil), // 175: until.LoopIngested + (*LoopRunQueued)(nil), // 176: until.LoopRunQueued + (*LoopRunStarted)(nil), // 177: until.LoopRunStarted + (*LoopRunCompleted)(nil), // 178: until.LoopRunCompleted + (*LoopRunFailed)(nil), // 179: until.LoopRunFailed + (*LoopRunCancelled)(nil), // 180: until.LoopRunCancelled + (*SlackWebhook)(nil), // 181: until.SlackWebhook + (*LinearWebhook)(nil), // 182: until.LinearWebhook + (*ComposioTriggerMessage)(nil), // 183: until.ComposioTriggerMessage + (*GitHubWebhook)(nil), // 184: until.GitHubWebhook + (*GitLabWebhook)(nil), // 185: until.GitLabWebhook + (*BitbucketWebhook)(nil), // 186: until.BitbucketWebhook + (*EmbeddedJsonCELFixture)(nil), // 187: until.EmbeddedJsonCELFixture + (*SlackMentionReceived)(nil), // 188: until.SlackMentionReceived + (*OrganisationAppInstallationUpserted)(nil), // 189: until.OrganisationAppInstallationUpserted + (*OrganisationAppInstallationDeleted)(nil), // 190: until.OrganisationAppInstallationDeleted + (*SlackReactionAdded)(nil), // 191: until.SlackReactionAdded + (*ListLoopsRequest)(nil), // 192: until.ListLoopsRequest + (*ListLoopsResponse)(nil), // 193: until.ListLoopsResponse + (*LoopSummary)(nil), // 194: until.LoopSummary + (*GetLoopRequest)(nil), // 195: until.GetLoopRequest + (*GetLoopResponse)(nil), // 196: until.GetLoopResponse + (*Loop)(nil), // 197: until.Loop + (*ListLoopRunsRequest)(nil), // 198: until.ListLoopRunsRequest + (*ListLoopRunsResponse)(nil), // 199: until.ListLoopRunsResponse + (*LoopRunSummary)(nil), // 200: until.LoopRunSummary + (*GetLoopRunRequest)(nil), // 201: until.GetLoopRunRequest + (*GetLoopRunThreadHistoryRequest)(nil), // 202: until.GetLoopRunThreadHistoryRequest + (*LoopRunThreadSegment)(nil), // 203: until.LoopRunThreadSegment + (*GetLoopRunThreadHistoryResponse)(nil), // 204: until.GetLoopRunThreadHistoryResponse + (*GetLoopRunResponse)(nil), // 205: until.GetLoopRunResponse + (*LoopRun)(nil), // 206: until.LoopRun + (*GetPrincipalStatusRequest)(nil), // 207: until.GetPrincipalStatusRequest + (*GetPrincipalStatusResponse)(nil), // 208: until.GetPrincipalStatusResponse + (*GetIntegrationConnectURLRequest)(nil), // 209: until.GetIntegrationConnectURLRequest + (*GetIntegrationConnectURLResponse)(nil), // 210: until.GetIntegrationConnectURLResponse + (*DisconnectIntegrationRequest)(nil), // 211: until.DisconnectIntegrationRequest + (*DisconnectIntegrationResponse)(nil), // 212: until.DisconnectIntegrationResponse + (*ConnectByoHttpMcpRequest)(nil), // 213: until.ConnectByoHttpMcpRequest + (*ConnectByoHttpMcpResponse)(nil), // 214: until.ConnectByoHttpMcpResponse + (*GetGitLabConnectionRequest)(nil), // 215: until.GetGitLabConnectionRequest + (*GetGitLabConnectionResponse)(nil), // 216: until.GetGitLabConnectionResponse + (*ConnectGitLabRequest)(nil), // 217: until.ConnectGitLabRequest + (*ConnectGitLabResponse)(nil), // 218: until.ConnectGitLabResponse + (*SaveGitLabSigningTokenRequest)(nil), // 219: until.SaveGitLabSigningTokenRequest + (*SaveGitLabSigningTokenResponse)(nil), // 220: until.SaveGitLabSigningTokenResponse + (*GitHubPendingInstall)(nil), // 221: until.GitHubPendingInstall + (*IntegrationStatus)(nil), // 222: until.IntegrationStatus + (*GetWorkspaceIntegrationRolesRequest)(nil), // 223: until.GetWorkspaceIntegrationRolesRequest + (*GetWorkspaceIntegrationRolesResponse)(nil), // 224: until.GetWorkspaceIntegrationRolesResponse + (*SetWorkspaceIntegrationRolesRequest)(nil), // 225: until.SetWorkspaceIntegrationRolesRequest + (*SetWorkspaceIntegrationRolesResponse)(nil), // 226: until.SetWorkspaceIntegrationRolesResponse + (*Principal)(nil), // 227: until.Principal + (*Workspace)(nil), // 228: until.Workspace + (*CreateWorkspaceRequest)(nil), // 229: until.CreateWorkspaceRequest + (*CreateWorkspaceResponse)(nil), // 230: until.CreateWorkspaceResponse + (*ListMyWorkspacesRequest)(nil), // 231: until.ListMyWorkspacesRequest + (*ListMyWorkspacesResponse)(nil), // 232: until.ListMyWorkspacesResponse + (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 233: until.DiscoverLoginRecoveryCandidatesRequest + (*LoginRecoveryCandidate)(nil), // 234: until.LoginRecoveryCandidate + (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 235: until.DiscoverLoginRecoveryCandidatesResponse + (*RenameWorkspaceRequest)(nil), // 236: until.RenameWorkspaceRequest + (*RenameWorkspaceResponse)(nil), // 237: until.RenameWorkspaceResponse + (*DeleteWorkspaceRequest)(nil), // 238: until.DeleteWorkspaceRequest + (*DeleteWorkspaceResponse)(nil), // 239: until.DeleteWorkspaceResponse + (*ListJoinableWorkspacesRequest)(nil), // 240: until.ListJoinableWorkspacesRequest + (*ListJoinableWorkspacesResponse)(nil), // 241: until.ListJoinableWorkspacesResponse + (*JoinableWorkspace)(nil), // 242: until.JoinableWorkspace + (*JoinableWorkspaceMember)(nil), // 243: until.JoinableWorkspaceMember + (*JoinWorkspaceRequest)(nil), // 244: until.JoinWorkspaceRequest + (*JoinWorkspaceResponse)(nil), // 245: until.JoinWorkspaceResponse + (*ApprovedEmailDomain)(nil), // 246: until.ApprovedEmailDomain + (*ListApprovedEmailDomainsRequest)(nil), // 247: until.ListApprovedEmailDomainsRequest + (*ListApprovedEmailDomainsResponse)(nil), // 248: until.ListApprovedEmailDomainsResponse + (*AddApprovedEmailDomainRequest)(nil), // 249: until.AddApprovedEmailDomainRequest + (*AddApprovedEmailDomainResponse)(nil), // 250: until.AddApprovedEmailDomainResponse + (*VerifyApprovedEmailDomainRequest)(nil), // 251: until.VerifyApprovedEmailDomainRequest + (*VerifyApprovedEmailDomainResponse)(nil), // 252: until.VerifyApprovedEmailDomainResponse + (*ResendApprovedEmailDomainCodeRequest)(nil), // 253: until.ResendApprovedEmailDomainCodeRequest + (*ResendApprovedEmailDomainCodeResponse)(nil), // 254: until.ResendApprovedEmailDomainCodeResponse + (*ResendVerificationEmailRequest)(nil), // 255: until.ResendVerificationEmailRequest + (*ResendVerificationEmailResponse)(nil), // 256: until.ResendVerificationEmailResponse + (*DeleteApprovedEmailDomainRequest)(nil), // 257: until.DeleteApprovedEmailDomainRequest + (*DeleteApprovedEmailDomainResponse)(nil), // 258: until.DeleteApprovedEmailDomainResponse + (*WorkspaceLLMCredentialStatus)(nil), // 259: until.WorkspaceLLMCredentialStatus + (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 260: until.GetWorkspaceLLMCredentialStatusRequest + (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 261: until.GetWorkspaceLLMCredentialStatusResponse + (*SetWorkspaceLLMCredentialRequest)(nil), // 262: until.SetWorkspaceLLMCredentialRequest + (*SetWorkspaceLLMCredentialResponse)(nil), // 263: until.SetWorkspaceLLMCredentialResponse + (*DeleteWorkspaceLLMCredentialRequest)(nil), // 264: until.DeleteWorkspaceLLMCredentialRequest + (*DeleteWorkspaceLLMCredentialResponse)(nil), // 265: until.DeleteWorkspaceLLMCredentialResponse + (*MyCursorCredentialStatus)(nil), // 266: until.MyCursorCredentialStatus + (*GetMyCursorCredentialStatusRequest)(nil), // 267: until.GetMyCursorCredentialStatusRequest + (*GetMyCursorCredentialStatusResponse)(nil), // 268: until.GetMyCursorCredentialStatusResponse + (*SetMyCursorCredentialRequest)(nil), // 269: until.SetMyCursorCredentialRequest + (*SetMyCursorCredentialResponse)(nil), // 270: until.SetMyCursorCredentialResponse + (*DeleteMyCursorCredentialRequest)(nil), // 271: until.DeleteMyCursorCredentialRequest + (*DeleteMyCursorCredentialResponse)(nil), // 272: until.DeleteMyCursorCredentialResponse + (*UpdateWorkspaceBrandingRequest)(nil), // 273: until.UpdateWorkspaceBrandingRequest + (*UpdateWorkspaceBrandingResponse)(nil), // 274: until.UpdateWorkspaceBrandingResponse + (*CompleteWorkspaceOnboardingRequest)(nil), // 275: until.CompleteWorkspaceOnboardingRequest + (*CompleteWorkspaceOnboardingResponse)(nil), // 276: until.CompleteWorkspaceOnboardingResponse + (*CreateInvitationRequest)(nil), // 277: until.CreateInvitationRequest + (*CreateInvitationResponse)(nil), // 278: until.CreateInvitationResponse + (*CreateInvitationsRequest)(nil), // 279: until.CreateInvitationsRequest + (*InvitationResult)(nil), // 280: until.InvitationResult + (*CreateInvitationsResponse)(nil), // 281: until.CreateInvitationsResponse + (*AcceptInvitationRequest)(nil), // 282: until.AcceptInvitationRequest + (*AcceptInvitationResponse)(nil), // 283: until.AcceptInvitationResponse + (*ListWorkspaceMembersRequest)(nil), // 284: until.ListWorkspaceMembersRequest + (*ListWorkspaceMembersResponse)(nil), // 285: until.ListWorkspaceMembersResponse + (*WorkspaceMember)(nil), // 286: until.WorkspaceMember + (*ResendInvitationRequest)(nil), // 287: until.ResendInvitationRequest + (*ResendInvitationResponse)(nil), // 288: until.ResendInvitationResponse + (*RevokeInvitationRequest)(nil), // 289: until.RevokeInvitationRequest + (*RevokeInvitationResponse)(nil), // 290: until.RevokeInvitationResponse + (*RemoveWorkspaceMemberRequest)(nil), // 291: until.RemoveWorkspaceMemberRequest + (*RemoveWorkspaceMemberResponse)(nil), // 292: until.RemoveWorkspaceMemberResponse + (*UpdateWorkspaceMemberRoleRequest)(nil), // 293: until.UpdateWorkspaceMemberRoleRequest + (*UpdateWorkspaceMemberRoleResponse)(nil), // 294: until.UpdateWorkspaceMemberRoleResponse + (*GetInvitationRequest)(nil), // 295: until.GetInvitationRequest + (*GetInvitationResponse)(nil), // 296: until.GetInvitationResponse + (*UpsertMyVerifiedBindingRequest)(nil), // 297: until.UpsertMyVerifiedBindingRequest + (*UpsertMyVerifiedBindingResponse)(nil), // 298: until.UpsertMyVerifiedBindingResponse + (*UpdateMyDisplayNameRequest)(nil), // 299: until.UpdateMyDisplayNameRequest + (*UpdateMyDisplayNameResponse)(nil), // 300: until.UpdateMyDisplayNameResponse + (*ListMyBindingsRequest)(nil), // 301: until.ListMyBindingsRequest + (*ListMyBindingsResponse)(nil), // 302: until.ListMyBindingsResponse + (*NotificationPreferences)(nil), // 303: until.NotificationPreferences + (*ChannelPreferences)(nil), // 304: until.ChannelPreferences + (*GetMyNotificationPreferencesRequest)(nil), // 305: until.GetMyNotificationPreferencesRequest + (*GetMyNotificationPreferencesResponse)(nil), // 306: until.GetMyNotificationPreferencesResponse + (*UpdateMyNotificationPreferencesRequest)(nil), // 307: until.UpdateMyNotificationPreferencesRequest + (*UpdateMyNotificationPreferencesResponse)(nil), // 308: until.UpdateMyNotificationPreferencesResponse + (*RegisterMyPushSubscriptionRequest)(nil), // 309: until.RegisterMyPushSubscriptionRequest + (*RegisterMyPushSubscriptionResponse)(nil), // 310: until.RegisterMyPushSubscriptionResponse + (*GetWebPushPublicKeyRequest)(nil), // 311: until.GetWebPushPublicKeyRequest + (*GetWebPushPublicKeyResponse)(nil), // 312: until.GetWebPushPublicKeyResponse + (*Binding)(nil), // 313: until.Binding + (*BlockingDifferenceTagsPatch)(nil), // 314: until.BlockingDifferenceTagsPatch + (*GetPlanCheckSettingsRequest)(nil), // 315: until.GetPlanCheckSettingsRequest + (*GetPlanCheckSettingsResponse)(nil), // 316: until.GetPlanCheckSettingsResponse + (*UpdatePlanCheckSettingsRequest)(nil), // 317: until.UpdatePlanCheckSettingsRequest + (*UpdatePlanCheckSettingsResponse)(nil), // 318: until.UpdatePlanCheckSettingsResponse + (*AdminGetAccountPlanCheckSettingsRequest)(nil), // 319: until.AdminGetAccountPlanCheckSettingsRequest + (*AdminUpdateAccountPlanCheckSettingsRequest)(nil), // 320: until.AdminUpdateAccountPlanCheckSettingsRequest + (*AdminGetAccountReviewPolicyRequest)(nil), // 321: until.AdminGetAccountReviewPolicyRequest + (*AdminGetAccountReviewPolicyResponse)(nil), // 322: until.AdminGetAccountReviewPolicyResponse + (*AdminUpdateAccountReviewPolicyRequest)(nil), // 323: until.AdminUpdateAccountReviewPolicyRequest + (*AdminUpdateAccountReviewPolicyResponse)(nil), // 324: until.AdminUpdateAccountReviewPolicyResponse + (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 325: until.AdminGetAccountLLMCredentialStatusRequest + (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 326: until.AdminGetAccountLLMCredentialStatusResponse + (*AdminListAccountIntegrationsRequest)(nil), // 327: until.AdminListAccountIntegrationsRequest + (*AdminAccountIntegrationInstall)(nil), // 328: until.AdminAccountIntegrationInstall + (*AdminListAccountIntegrationsResponse)(nil), // 329: until.AdminListAccountIntegrationsResponse + (*ListIntegrationCatalogueRequest)(nil), // 330: until.ListIntegrationCatalogueRequest + (*ListIntegrationCatalogueResponse)(nil), // 331: until.ListIntegrationCatalogueResponse + (*IntegrationCatalogueEntry)(nil), // 332: until.IntegrationCatalogueEntry + (*GetPlanPromptRequest)(nil), // 333: until.GetPlanPromptRequest + (*GetPlanPromptResponse)(nil), // 334: until.GetPlanPromptResponse + nil, // 335: until.PlanUpdated.PreviousEntry + nil, // 336: until.PlanUpdated.AfterEntry + nil, // 337: until.PrincipalUpdated.PreviousEntry + nil, // 338: until.PrincipalUpdated.AfterEntry + nil, // 339: until.BindingUpdated.PreviousEntry + nil, // 340: until.BindingUpdated.AfterEntry + nil, // 341: until.OtherEvent.FieldsEntry + nil, // 342: until.PullRequestUpdated.PreviousEntry + nil, // 343: until.PullRequestUpdated.AfterEntry + nil, // 344: until.PlanCheckCompleted.DifferenceCountByTagEntry + nil, // 345: until.PlanDifferenceUpdated.PreviousEntry + nil, // 346: until.PlanDifferenceUpdated.AfterEntry + nil, // 347: until.NotificationPreferences.PreferencesEntry + nil, // 348: until.ChannelPreferences.ChannelsEntry (*timestamppb.Timestamp)(nil), // 349: google.protobuf.Timestamp (*structpb.Value)(nil), // 350: google.protobuf.Value (*descriptorpb.FieldOptions)(nil), // 351: google.protobuf.FieldOptions (*emptypb.Empty)(nil), // 352: google.protobuf.Empty } var file_brent_proto_depIdxs = []int32{ - 23, // 0: brent.ListPullRequestsResponse.pull_requests:type_name -> brent.PullRequestSummary - 24, // 1: brent.GetPullRequestByIDResponse.pull_request:type_name -> brent.PullRequest - 25, // 2: brent.ListDeviationAnalysesForPRResponse.analyses:type_name -> brent.DeviationAnalysisSummary - 349, // 3: brent.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp - 24, // 4: brent.GetPullRequestTimelineResponse.pull_request:type_name -> brent.PullRequest - 20, // 5: brent.GetPullRequestTimelineResponse.events:type_name -> brent.PullRequestTimelineEventRow - 21, // 6: brent.GetPullRequestTimelineResponse.warnings:type_name -> brent.PullRequestTimelineWarning - 349, // 7: brent.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 349, // 8: brent.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 349, // 9: brent.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 349, // 10: brent.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 349, // 11: brent.DeviationAnalysisSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 12: brent.DeviationAnalysisSummary.completed_at:type_name -> google.protobuf.Timestamp - 349, // 13: brent.DeviationAnalysisSummary.failed_at:type_name -> google.protobuf.Timestamp - 26, // 14: brent.DeviationAnalysisSummary.findings:type_name -> brent.DeviationFinding - 349, // 15: brent.DeviationFinding.resolved_at:type_name -> google.protobuf.Timestamp - 30, // 16: brent.ListRunsResponse.runs:type_name -> brent.RunSummary - 0, // 17: brent.RunSummary.status:type_name -> brent.RunStatus - 349, // 18: brent.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 19: brent.RunSummary.completed_at:type_name -> google.protobuf.Timestamp - 106, // 20: brent.StreamEventsResponse.event:type_name -> brent.Event - 349, // 21: brent.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 349, // 22: brent.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp - 106, // 23: brent.ListEventsResponse.events:type_name -> brent.Event - 42, // 24: brent.ListOpenPullRequestsResponse.pull_requests:type_name -> brent.OpenPullRequest - 42, // 25: brent.GetPullRequestResponse.pull_request:type_name -> brent.OpenPullRequest - 349, // 26: brent.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 349, // 27: brent.ExecuteWorkflowResponse.timestamp:type_name -> google.protobuf.Timestamp - 44, // 28: brent.ExecuteWorkflowResponse.reasoning:type_name -> brent.ReasoningStep - 45, // 29: brent.ExecuteWorkflowResponse.tool_call:type_name -> brent.ToolCallStep - 46, // 30: brent.ExecuteWorkflowResponse.tool_result:type_name -> brent.ToolResultStep - 47, // 31: brent.ExecuteWorkflowResponse.completion:type_name -> brent.CompletionStep - 48, // 32: brent.ExecuteWorkflowResponse.error:type_name -> brent.ErrorStep - 49, // 33: brent.ExecuteWorkflowResponse.status:type_name -> brent.StatusStep - 50, // 34: brent.ExecuteWorkflowResponse.run_started:type_name -> brent.RunStartedStep - 51, // 35: brent.ExecuteWorkflowResponse.qa_ready:type_name -> brent.QAReadyStep - 52, // 36: brent.ExecuteWorkflowResponse.user_question:type_name -> brent.UserQuestionStep - 53, // 37: brent.ExecuteWorkflowResponse.user_message:type_name -> brent.UserMessageStep - 57, // 38: brent.AdminListPlansResponse.plans:type_name -> brent.PlanSummary - 349, // 39: brent.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 349, // 40: brent.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 349, // 41: brent.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 349, // 42: brent.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 60, // 43: brent.AdminGetPlanResponse.plan:type_name -> brent.Plan - 85, // 44: brent.AdminGetPlanResponse.related_reviews:type_name -> brent.ReviewSummary - 23, // 45: brent.AdminGetPlanResponse.related_pull_requests:type_name -> brent.PullRequestSummary - 349, // 46: brent.Plan.created_at:type_name -> google.protobuf.Timestamp - 349, // 47: brent.Plan.updated_at:type_name -> google.protobuf.Timestamp - 349, // 48: brent.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 227, // 49: brent.AdminListPrincipalsResponse.principals:type_name -> brent.Principal - 227, // 50: brent.AdminGetPrincipalResponse.principal:type_name -> brent.Principal - 65, // 51: brent.AdminGetPrincipalResponse.identities:type_name -> brent.PrincipalIdentity - 313, // 52: brent.AdminGetPrincipalResponse.bindings:type_name -> brent.Binding - 349, // 53: brent.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 349, // 54: brent.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 313, // 55: brent.AdminUpsertPrincipalBindingResponse.binding:type_name -> brent.Binding - 227, // 56: brent.AdminUpdatePrincipalResponse.principal:type_name -> brent.Principal - 65, // 57: brent.AdminCreatePrincipalIdentityResponse.identity:type_name -> brent.PrincipalIdentity - 80, // 58: brent.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> brent.PrincipalCredentialConnection - 349, // 59: brent.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp - 85, // 60: brent.AdminListReviewsResponse.reviews:type_name -> brent.ReviewSummary - 349, // 61: brent.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 349, // 62: brent.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp - 88, // 63: brent.AdminGetReviewResponse.review:type_name -> brent.Review - 57, // 64: brent.AdminGetReviewResponse.plan:type_name -> brent.PlanSummary - 349, // 65: brent.Review.requested_at:type_name -> google.protobuf.Timestamp - 349, // 66: brent.Review.decided_at:type_name -> google.protobuf.Timestamp - 349, // 67: brent.Review.created_at:type_name -> google.protobuf.Timestamp - 349, // 68: brent.Review.updated_at:type_name -> google.protobuf.Timestamp - 89, // 69: brent.AdminListAccountsResponse.accounts:type_name -> brent.AccountSummary - 349, // 70: brent.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 71: brent.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp - 92, // 72: brent.AdminGetAccountSummaryResponse.recent_runs:type_name -> brent.AccountRunSummary - 95, // 73: brent.AdminGetAccountHealthAnalysisResponse.findings:type_name -> brent.AccountHealthFinding - 349, // 74: brent.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp - 98, // 75: brent.AdminListAccountMetricReposResponse.repos:type_name -> brent.AccountMetricRepo - 349, // 76: brent.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 349, // 77: brent.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 349, // 78: brent.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 349, // 79: brent.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp - 1, // 80: brent.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> brent.MetricsComparisonMode - 349, // 81: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 349, // 82: brent.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 349, // 83: brent.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 349, // 84: brent.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp - 103, // 85: brent.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> brent.MetricsComparisonHeadline - 349, // 86: brent.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 349, // 87: brent.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 349, // 88: brent.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 349, // 89: brent.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp - 104, // 90: brent.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> brent.MetricsComparisonArtifact - 1, // 91: brent.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> brent.MetricsComparisonMode - 349, // 92: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 349, // 93: brent.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 349, // 94: brent.Event.occurred_at:type_name -> google.protobuf.Timestamp - 107, // 95: brent.Event.actor:type_name -> brent.Actor - 108, // 96: brent.Event.object:type_name -> brent.ObjectReference - 349, // 97: brent.Event.received_at:type_name -> google.protobuf.Timestamp - 109, // 98: brent.Event.plan_created:type_name -> brent.PlanCreated - 110, // 99: brent.Event.plan_updated:type_name -> brent.PlanUpdated - 111, // 100: brent.Event.plan_deleted:type_name -> brent.PlanDeleted - 115, // 101: brent.Event.review_requested:type_name -> brent.ReviewRequested - 116, // 102: brent.Event.review_submitted:type_name -> brent.ReviewSubmitted - 143, // 103: brent.Event.other:type_name -> brent.OtherEvent - 184, // 104: brent.Event.github_webhook:type_name -> brent.GitHubWebhook - 188, // 105: brent.Event.slack_mention:type_name -> brent.SlackMentionReceived - 191, // 106: brent.Event.slack_reaction:type_name -> brent.SlackReactionAdded - 145, // 107: brent.Event.pull_request_opened:type_name -> brent.PullRequestOpened - 146, // 108: brent.Event.pull_request_synchronized:type_name -> brent.PullRequestSynchronized - 147, // 109: brent.Event.pull_request_updated:type_name -> brent.PullRequestUpdated - 148, // 110: brent.Event.pull_request_closed:type_name -> brent.PullRequestClosed - 149, // 111: brent.Event.pull_request_linked_to_plan:type_name -> brent.PullRequestLinkedToPlan - 150, // 112: brent.Event.pull_request_unlinked_from_plan:type_name -> brent.PullRequestUnlinkedFromPlan - 189, // 113: brent.Event.organisation_app_installation_upserted:type_name -> brent.OrganisationAppInstallationUpserted - 190, // 114: brent.Event.organisation_app_installation_deleted:type_name -> brent.OrganisationAppInstallationDeleted - 157, // 115: brent.Event.deviation_analysis_started:type_name -> brent.DeviationAnalysisStarted - 159, // 116: brent.Event.deviation_analysis_completed:type_name -> brent.DeviationAnalysisCompleted - 160, // 117: brent.Event.deviation_analysis_failed:type_name -> brent.DeviationAnalysisFailed - 176, // 118: brent.Event.workflow_run_queued:type_name -> brent.WorkflowRunQueued - 177, // 119: brent.Event.workflow_run_started:type_name -> brent.WorkflowRunStarted - 178, // 120: brent.Event.workflow_run_completed:type_name -> brent.WorkflowRunCompleted - 179, // 121: brent.Event.workflow_run_failed:type_name -> brent.WorkflowRunFailed - 180, // 122: brent.Event.workflow_run_cancelled:type_name -> brent.WorkflowRunCancelled - 117, // 123: brent.Event.review_no_eligible_reviewer:type_name -> brent.ReviewNoEligibleReviewer - 120, // 124: brent.Event.principal_created:type_name -> brent.PrincipalCreated - 121, // 125: brent.Event.principal_updated:type_name -> brent.PrincipalUpdated - 122, // 126: brent.Event.principal_tombstoned:type_name -> brent.PrincipalTombstoned - 133, // 127: brent.Event.identity_created:type_name -> brent.IdentityCreated - 134, // 128: brent.Event.identity_deleted:type_name -> brent.IdentityDeleted - 135, // 129: brent.Event.binding_created:type_name -> brent.BindingCreated - 136, // 130: brent.Event.binding_updated:type_name -> brent.BindingUpdated - 137, // 131: brent.Event.binding_deleted:type_name -> brent.BindingDeleted - 142, // 132: brent.Event.review_drive_by_started:type_name -> brent.ReviewDriveByStarted - 181, // 133: brent.Event.slack_webhook:type_name -> brent.SlackWebhook - 112, // 134: brent.Event.review_deleted:type_name -> brent.ReviewDeleted - 114, // 135: brent.Event.plan_restored:type_name -> brent.PlanRestored - 182, // 136: brent.Event.linear_webhook:type_name -> brent.LinearWebhook - 156, // 137: brent.Event.pull_request_comment_created:type_name -> brent.PullRequestCommentCreated - 161, // 138: brent.Event.deviation_finding_recorded:type_name -> brent.DeviationFindingRecorded - 162, // 139: brent.Event.deviation_finding_updated:type_name -> brent.DeviationFindingUpdated - 163, // 140: brent.Event.deviation_finding_resolved:type_name -> brent.DeviationFindingResolved - 166, // 141: brent.Event.agent_run_dispatched:type_name -> brent.AgentRunDispatched - 167, // 142: brent.Event.agent_run_started:type_name -> brent.AgentRunStarted - 168, // 143: brent.Event.agent_run_pull_request_matched:type_name -> brent.AgentRunPullRequestMatched - 169, // 144: brent.Event.agent_run_flagged_needs_you:type_name -> brent.AgentRunFlaggedNeedsYou - 171, // 145: brent.Event.agent_run_merged:type_name -> brent.AgentRunMerged - 173, // 146: brent.Event.agent_run_declined:type_name -> brent.AgentRunDeclined - 172, // 147: brent.Event.agent_run_cancelled:type_name -> brent.AgentRunCancelled - 170, // 148: brent.Event.agent_run_gate_passed:type_name -> brent.AgentRunGatePassed - 151, // 149: brent.Event.pull_request_linked_to_agent_run:type_name -> brent.PullRequestLinkedToAgentRun - 175, // 150: brent.Event.workflow_ingested:type_name -> brent.WorkflowIngested - 152, // 151: brent.Event.pull_request_review_requested:type_name -> brent.PullRequestReviewRequested - 153, // 152: brent.Event.pull_request_approved:type_name -> brent.PullRequestApproved - 154, // 153: brent.Event.pull_request_changes_requested:type_name -> brent.PullRequestChangesRequested - 155, // 154: brent.Event.pull_request_review_dismissed:type_name -> brent.PullRequestReviewDismissed - 138, // 155: brent.Event.credential_connected:type_name -> brent.CredentialConnected - 139, // 156: brent.Event.credential_revoked:type_name -> brent.CredentialRevoked - 174, // 157: brent.Event.agent_run_annotated:type_name -> brent.AgentRunAnnotated - 123, // 158: brent.Event.workspace_created:type_name -> brent.WorkspaceCreated - 132, // 159: brent.Event.mcp_grant_workspace_binding_changed:type_name -> brent.MCPGrantWorkspaceBindingChanged - 124, // 160: brent.Event.workspace_onboarding_completed:type_name -> brent.WorkspaceOnboardingCompleted - 125, // 161: brent.Event.workspace_renamed:type_name -> brent.WorkspaceRenamed - 126, // 162: brent.Event.workspace_deleted:type_name -> brent.WorkspaceDeleted - 129, // 163: brent.Event.approved_email_domain_added:type_name -> brent.ApprovedEmailDomainAdded - 130, // 164: brent.Event.approved_email_domain_verified:type_name -> brent.ApprovedEmailDomainVerified - 131, // 165: brent.Event.approved_email_domain_deleted:type_name -> brent.ApprovedEmailDomainDeleted - 185, // 166: brent.Event.gitlab_webhook:type_name -> brent.GitLabWebhook - 140, // 167: brent.Event.workspace_llm_credential_connected:type_name -> brent.WorkspaceLLMCredentialConnected - 141, // 168: brent.Event.workspace_llm_credential_revoked:type_name -> brent.WorkspaceLLMCredentialRevoked - 186, // 169: brent.Event.bitbucket_webhook:type_name -> brent.BitbucketWebhook - 127, // 170: brent.Event.workspace_member_joined:type_name -> brent.WorkspaceMemberJoined - 128, // 171: brent.Event.workspace_member_left:type_name -> brent.WorkspaceMemberLeft - 183, // 172: brent.Event.composio_trigger_message:type_name -> brent.ComposioTriggerMessage - 164, // 173: brent.Event.deviation_finding_acknowledged:type_name -> brent.DeviationFindingAcknowledged - 165, // 174: brent.Event.deviation_finding_acknowledgement_cleared:type_name -> brent.DeviationFindingAcknowledgementCleared - 118, // 175: brent.Event.plan_review_policy_decided:type_name -> brent.PlanReviewPolicyDecided - 113, // 176: brent.Event.review_restored:type_name -> brent.ReviewRestored - 119, // 177: brent.Event.workspace_review_policy_updated:type_name -> brent.WorkspaceReviewPolicyUpdated - 144, // 178: brent.Event.unknown_stored_payload:type_name -> brent.UnknownStoredPayload - 335, // 179: brent.PlanUpdated.previous:type_name -> brent.PlanUpdated.PreviousEntry - 336, // 180: brent.PlanUpdated.after:type_name -> brent.PlanUpdated.AfterEntry - 349, // 181: brent.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 337, // 182: brent.PrincipalUpdated.previous:type_name -> brent.PrincipalUpdated.PreviousEntry - 338, // 183: brent.PrincipalUpdated.after:type_name -> brent.PrincipalUpdated.AfterEntry - 7, // 184: brent.WorkspaceMemberJoined.source:type_name -> brent.JoinSource - 339, // 185: brent.BindingUpdated.previous:type_name -> brent.BindingUpdated.PreviousEntry - 340, // 186: brent.BindingUpdated.after:type_name -> brent.BindingUpdated.AfterEntry - 341, // 187: brent.OtherEvent.fields:type_name -> brent.OtherEvent.FieldsEntry - 342, // 188: brent.PullRequestUpdated.previous:type_name -> brent.PullRequestUpdated.PreviousEntry - 343, // 189: brent.PullRequestUpdated.after:type_name -> brent.PullRequestUpdated.AfterEntry - 349, // 190: brent.DeviationAnalysisStarted.started_at:type_name -> google.protobuf.Timestamp - 344, // 191: brent.DeviationAnalysisCompleted.finding_count_by_tag:type_name -> brent.DeviationAnalysisCompleted.FindingCountByTagEntry - 349, // 192: brent.DeviationAnalysisCompleted.completed_at:type_name -> google.protobuf.Timestamp - 158, // 193: brent.DeviationAnalysisCompleted.findings:type_name -> brent.FindingSummary - 349, // 194: brent.DeviationAnalysisFailed.failed_at:type_name -> google.protobuf.Timestamp - 349, // 195: brent.DeviationFindingRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 345, // 196: brent.DeviationFindingUpdated.previous:type_name -> brent.DeviationFindingUpdated.PreviousEntry - 346, // 197: brent.DeviationFindingUpdated.after:type_name -> brent.DeviationFindingUpdated.AfterEntry - 349, // 198: brent.DeviationFindingResolved.resolved_at:type_name -> google.protobuf.Timestamp - 349, // 199: brent.DeviationFindingAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 349, // 200: brent.DeviationFindingAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 349, // 201: brent.WorkflowRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 349, // 202: brent.WorkflowRunStarted.started_at:type_name -> google.protobuf.Timestamp - 349, // 203: brent.WorkflowRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 349, // 204: brent.WorkflowRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 349, // 205: brent.WorkflowRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp - 194, // 206: brent.ListWorkflowsResponse.workflows:type_name -> brent.WorkflowSummary - 349, // 207: brent.WorkflowSummary.created_at:type_name -> google.protobuf.Timestamp - 349, // 208: brent.WorkflowSummary.updated_at:type_name -> google.protobuf.Timestamp - 197, // 209: brent.GetWorkflowResponse.workflow:type_name -> brent.Workflow - 349, // 210: brent.Workflow.created_at:type_name -> google.protobuf.Timestamp - 349, // 211: brent.Workflow.updated_at:type_name -> google.protobuf.Timestamp - 200, // 212: brent.ListWorkflowRunsResponse.runs:type_name -> brent.WorkflowRunSummary - 349, // 213: brent.WorkflowRunSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 214: brent.WorkflowRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 349, // 215: brent.WorkflowRunSummary.created_at:type_name -> google.protobuf.Timestamp - 349, // 216: brent.WorkflowRunSummary.updated_at:type_name -> google.protobuf.Timestamp - 200, // 217: brent.WorkflowRunThreadSegment.run:type_name -> brent.WorkflowRunSummary - 43, // 218: brent.WorkflowRunThreadSegment.steps:type_name -> brent.ExecuteWorkflowResponse - 203, // 219: brent.GetWorkflowRunThreadHistoryResponse.segments:type_name -> brent.WorkflowRunThreadSegment - 206, // 220: brent.GetWorkflowRunResponse.run:type_name -> brent.WorkflowRun - 194, // 221: brent.GetWorkflowRunResponse.workflow:type_name -> brent.WorkflowSummary - 349, // 222: brent.WorkflowRun.started_at:type_name -> google.protobuf.Timestamp - 349, // 223: brent.WorkflowRun.completed_at:type_name -> google.protobuf.Timestamp - 349, // 224: brent.WorkflowRun.created_at:type_name -> google.protobuf.Timestamp - 349, // 225: brent.WorkflowRun.updated_at:type_name -> google.protobuf.Timestamp - 106, // 226: brent.WorkflowRun.triggering_event_payload:type_name -> brent.Event - 2, // 227: brent.GetPrincipalStatusResponse.state:type_name -> brent.PrincipalStatusState - 227, // 228: brent.GetPrincipalStatusResponse.principal:type_name -> brent.Principal - 222, // 229: brent.GetPrincipalStatusResponse.integrations:type_name -> brent.IntegrationStatus - 3, // 230: brent.GetIntegrationConnectURLRequest.provider:type_name -> brent.IntegrationProvider - 4, // 231: brent.GetIntegrationConnectURLRequest.intent:type_name -> brent.IntegrationIntent - 3, // 232: brent.DisconnectIntegrationRequest.provider:type_name -> brent.IntegrationProvider - 349, // 233: brent.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 349, // 234: brent.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp - 3, // 235: brent.IntegrationStatus.provider:type_name -> brent.IntegrationProvider - 221, // 236: brent.IntegrationStatus.github_pending:type_name -> brent.GitHubPendingInstall - 349, // 237: brent.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp - 5, // 238: brent.IntegrationStatus.status:type_name -> brent.IntegrationConnectionStatus - 3, // 239: brent.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 240: brent.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> brent.IntegrationProvider - 3, // 241: brent.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> brent.IntegrationProvider - 349, // 242: brent.Principal.created_at:type_name -> google.protobuf.Timestamp - 349, // 243: brent.Principal.updated_at:type_name -> google.protobuf.Timestamp - 228, // 244: brent.CreateWorkspaceResponse.workspace:type_name -> brent.Workspace - 228, // 245: brent.ListMyWorkspacesResponse.workspaces:type_name -> brent.Workspace - 6, // 246: brent.LoginRecoveryCandidate.provider:type_name -> brent.LoginProvider - 6, // 247: brent.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> brent.LoginProvider - 234, // 248: brent.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> brent.LoginRecoveryCandidate - 228, // 249: brent.RenameWorkspaceResponse.workspace:type_name -> brent.Workspace - 242, // 250: brent.ListJoinableWorkspacesResponse.workspaces:type_name -> brent.JoinableWorkspace - 349, // 251: brent.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp - 243, // 252: brent.JoinableWorkspace.member_previews:type_name -> brent.JoinableWorkspaceMember - 7, // 253: brent.JoinableWorkspace.source:type_name -> brent.JoinSource - 228, // 254: brent.JoinWorkspaceResponse.workspace:type_name -> brent.Workspace - 349, // 255: brent.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp - 246, // 256: brent.ListApprovedEmailDomainsResponse.domains:type_name -> brent.ApprovedEmailDomain - 246, // 257: brent.AddApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 246, // 258: brent.VerifyApprovedEmailDomainResponse.domain:type_name -> brent.ApprovedEmailDomain - 349, // 259: brent.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 349, // 260: brent.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp - 259, // 261: brent.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 259, // 262: brent.SetWorkspaceLLMCredentialResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 349, // 263: brent.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 266, // 264: brent.GetMyCursorCredentialStatusResponse.status:type_name -> brent.MyCursorCredentialStatus - 266, // 265: brent.SetMyCursorCredentialResponse.status:type_name -> brent.MyCursorCredentialStatus - 228, // 266: brent.UpdateWorkspaceBrandingResponse.workspace:type_name -> brent.Workspace - 228, // 267: brent.CompleteWorkspaceOnboardingResponse.workspace:type_name -> brent.Workspace - 349, // 268: brent.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 9, // 269: brent.InvitationResult.status:type_name -> brent.InvitationResultStatus - 280, // 270: brent.CreateInvitationsResponse.results:type_name -> brent.InvitationResult - 228, // 271: brent.AcceptInvitationResponse.workspace:type_name -> brent.Workspace - 286, // 272: brent.ListWorkspaceMembersResponse.members:type_name -> brent.WorkspaceMember - 10, // 273: brent.WorkspaceMember.state:type_name -> brent.WorkspaceMemberState - 349, // 274: brent.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 8, // 275: brent.GetInvitationResponse.status:type_name -> brent.InvitationStatus - 313, // 276: brent.UpsertMyVerifiedBindingResponse.binding:type_name -> brent.Binding - 227, // 277: brent.UpdateMyDisplayNameResponse.principal:type_name -> brent.Principal - 313, // 278: brent.ListMyBindingsResponse.bindings:type_name -> brent.Binding - 347, // 279: brent.NotificationPreferences.preferences:type_name -> brent.NotificationPreferences.PreferencesEntry - 348, // 280: brent.ChannelPreferences.channels:type_name -> brent.ChannelPreferences.ChannelsEntry - 303, // 281: brent.GetMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 303, // 282: brent.UpdateMyNotificationPreferencesRequest.preferences:type_name -> brent.NotificationPreferences - 303, // 283: brent.UpdateMyNotificationPreferencesResponse.preferences:type_name -> brent.NotificationPreferences - 349, // 284: brent.Binding.created_at:type_name -> google.protobuf.Timestamp - 349, // 285: brent.Binding.updated_at:type_name -> google.protobuf.Timestamp - 349, // 286: brent.GetBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 314, // 287: brent.UpdateBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 349, // 288: brent.UpdateBrentSettingsResponse.red_finding_kinds_updated_at:type_name -> google.protobuf.Timestamp - 314, // 289: brent.AdminUpdateAccountBrentSettingsRequest.red_finding_kinds:type_name -> brent.RedFindingKindsPatch - 11, // 290: brent.AdminGetAccountReviewPolicyResponse.policy:type_name -> brent.WorkspaceReviewPolicy - 349, // 291: brent.AdminGetAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp - 11, // 292: brent.AdminUpdateAccountReviewPolicyRequest.policy:type_name -> brent.WorkspaceReviewPolicy - 11, // 293: brent.AdminUpdateAccountReviewPolicyResponse.policy:type_name -> brent.WorkspaceReviewPolicy - 349, // 294: brent.AdminUpdateAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp - 259, // 295: brent.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> brent.WorkspaceLLMCredentialStatus - 349, // 296: brent.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp - 5, // 297: brent.AdminAccountIntegrationInstall.status:type_name -> brent.IntegrationConnectionStatus - 328, // 298: brent.AdminListAccountIntegrationsResponse.installs:type_name -> brent.AdminAccountIntegrationInstall - 3, // 299: brent.AdminListAccountIntegrationsResponse.git_provider:type_name -> brent.IntegrationProvider - 3, // 300: brent.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> brent.IntegrationProvider - 3, // 301: brent.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> brent.IntegrationProvider - 332, // 302: brent.ListIntegrationCatalogueResponse.entries:type_name -> brent.IntegrationCatalogueEntry - 12, // 303: brent.IntegrationCatalogueEntry.source:type_name -> brent.IntegrationCatalogueSource - 3, // 304: brent.IntegrationCatalogueEntry.provider:type_name -> brent.IntegrationProvider - 349, // 305: brent.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 350, // 306: brent.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 307: brent.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 308: brent.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 309: brent.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 310: brent.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 311: brent.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 312: brent.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 313: brent.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 314: brent.DeviationFindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 315: brent.DeviationFindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 304, // 316: brent.NotificationPreferences.PreferencesEntry.value:type_name -> brent.ChannelPreferences - 351, // 317: brent.embedded_json:extendee -> google.protobuf.FieldOptions - 38, // 318: brent.BrentService.ListOpenPullRequests:input_type -> brent.ListOpenPullRequestsRequest - 40, // 319: brent.BrentService.GetPullRequest:input_type -> brent.GetPullRequestRequest - 207, // 320: brent.BrentService.GetPrincipalStatus:input_type -> brent.GetPrincipalStatusRequest - 333, // 321: brent.BrentService.GetPlanPrompt:input_type -> brent.GetPlanPromptRequest - 209, // 322: brent.BrentService.GetIntegrationConnectURL:input_type -> brent.GetIntegrationConnectURLRequest - 211, // 323: brent.BrentService.DisconnectIntegration:input_type -> brent.DisconnectIntegrationRequest - 213, // 324: brent.BrentService.ConnectByoHttpMcp:input_type -> brent.ConnectByoHttpMcpRequest - 215, // 325: brent.BrentService.GetGitLabConnection:input_type -> brent.GetGitLabConnectionRequest - 217, // 326: brent.BrentService.ConnectGitLab:input_type -> brent.ConnectGitLabRequest - 219, // 327: brent.BrentService.SaveGitLabSigningToken:input_type -> brent.SaveGitLabSigningTokenRequest - 297, // 328: brent.BrentService.UpsertMyVerifiedBinding:input_type -> brent.UpsertMyVerifiedBindingRequest - 301, // 329: brent.BrentService.ListMyBindings:input_type -> brent.ListMyBindingsRequest - 305, // 330: brent.BrentService.GetMyNotificationPreferences:input_type -> brent.GetMyNotificationPreferencesRequest - 307, // 331: brent.BrentService.UpdateMyNotificationPreferences:input_type -> brent.UpdateMyNotificationPreferencesRequest - 309, // 332: brent.BrentService.RegisterMyPushSubscription:input_type -> brent.RegisterMyPushSubscriptionRequest - 311, // 333: brent.BrentService.GetWebPushPublicKey:input_type -> brent.GetWebPushPublicKeyRequest - 299, // 334: brent.BrentService.UpdateMyDisplayName:input_type -> brent.UpdateMyDisplayNameRequest - 315, // 335: brent.BrentService.GetBrentSettings:input_type -> brent.GetBrentSettingsRequest - 317, // 336: brent.BrentService.UpdateBrentSettings:input_type -> brent.UpdateBrentSettingsRequest - 330, // 337: brent.BrentService.ListIntegrationCatalogue:input_type -> brent.ListIntegrationCatalogueRequest - 229, // 338: brent.BrentService.CreateWorkspace:input_type -> brent.CreateWorkspaceRequest - 231, // 339: brent.BrentService.ListMyWorkspaces:input_type -> brent.ListMyWorkspacesRequest - 233, // 340: brent.BrentService.DiscoverLoginRecoveryCandidates:input_type -> brent.DiscoverLoginRecoveryCandidatesRequest - 236, // 341: brent.BrentService.RenameWorkspace:input_type -> brent.RenameWorkspaceRequest - 273, // 342: brent.BrentService.UpdateWorkspaceBranding:input_type -> brent.UpdateWorkspaceBrandingRequest - 275, // 343: brent.BrentService.CompleteWorkspaceOnboarding:input_type -> brent.CompleteWorkspaceOnboardingRequest - 238, // 344: brent.BrentService.DeleteWorkspace:input_type -> brent.DeleteWorkspaceRequest - 240, // 345: brent.BrentService.ListJoinableWorkspaces:input_type -> brent.ListJoinableWorkspacesRequest - 244, // 346: brent.BrentService.JoinWorkspace:input_type -> brent.JoinWorkspaceRequest - 277, // 347: brent.BrentService.CreateInvitation:input_type -> brent.CreateInvitationRequest - 279, // 348: brent.BrentService.CreateInvitations:input_type -> brent.CreateInvitationsRequest - 282, // 349: brent.BrentService.AcceptInvitation:input_type -> brent.AcceptInvitationRequest - 284, // 350: brent.BrentService.ListWorkspaceMembers:input_type -> brent.ListWorkspaceMembersRequest - 287, // 351: brent.BrentService.ResendInvitation:input_type -> brent.ResendInvitationRequest - 289, // 352: brent.BrentService.RevokeInvitation:input_type -> brent.RevokeInvitationRequest - 291, // 353: brent.BrentService.RemoveWorkspaceMember:input_type -> brent.RemoveWorkspaceMemberRequest - 293, // 354: brent.BrentService.UpdateWorkspaceMemberRole:input_type -> brent.UpdateWorkspaceMemberRoleRequest - 247, // 355: brent.BrentService.ListApprovedEmailDomains:input_type -> brent.ListApprovedEmailDomainsRequest - 249, // 356: brent.BrentService.AddApprovedEmailDomain:input_type -> brent.AddApprovedEmailDomainRequest - 251, // 357: brent.BrentService.VerifyApprovedEmailDomain:input_type -> brent.VerifyApprovedEmailDomainRequest - 253, // 358: brent.BrentService.ResendApprovedEmailDomainCode:input_type -> brent.ResendApprovedEmailDomainCodeRequest - 257, // 359: brent.BrentService.DeleteApprovedEmailDomain:input_type -> brent.DeleteApprovedEmailDomainRequest - 260, // 360: brent.BrentService.GetWorkspaceLLMCredentialStatus:input_type -> brent.GetWorkspaceLLMCredentialStatusRequest - 262, // 361: brent.BrentService.SetWorkspaceLLMCredential:input_type -> brent.SetWorkspaceLLMCredentialRequest - 264, // 362: brent.BrentService.DeleteWorkspaceLLMCredential:input_type -> brent.DeleteWorkspaceLLMCredentialRequest - 267, // 363: brent.BrentService.GetMyCursorCredentialStatus:input_type -> brent.GetMyCursorCredentialStatusRequest - 269, // 364: brent.BrentService.SetMyCursorCredential:input_type -> brent.SetMyCursorCredentialRequest - 271, // 365: brent.BrentService.DeleteMyCursorCredential:input_type -> brent.DeleteMyCursorCredentialRequest - 223, // 366: brent.BrentService.GetWorkspaceIntegrationRoles:input_type -> brent.GetWorkspaceIntegrationRolesRequest - 225, // 367: brent.BrentService.SetWorkspaceIntegrationRoles:input_type -> brent.SetWorkspaceIntegrationRolesRequest - 255, // 368: brent.BrentService.ResendVerificationEmail:input_type -> brent.ResendVerificationEmailRequest - 295, // 369: brent.BrentPublicService.GetInvitation:input_type -> brent.GetInvitationRequest - 27, // 370: brent.BrentAdminService.ExecuteWorkflow:input_type -> brent.ExecuteWorkflowRequest - 28, // 371: brent.BrentAdminService.ListRuns:input_type -> brent.ListRunsRequest - 31, // 372: brent.BrentAdminService.WatchRun:input_type -> brent.WatchRunRequest - 32, // 373: brent.BrentAdminService.StreamEvents:input_type -> brent.StreamEventsRequest - 34, // 374: brent.BrentAdminService.ListEvents:input_type -> brent.ListEventsRequest - 36, // 375: brent.BrentAdminService.CancelRun:input_type -> brent.CancelRunRequest - 54, // 376: brent.BrentAdminService.SendQuestion:input_type -> brent.SendQuestionRequest - 55, // 377: brent.BrentAdminService.ListPlans:input_type -> brent.AdminListPlansRequest - 58, // 378: brent.BrentAdminService.GetPlan:input_type -> brent.AdminGetPlanRequest - 83, // 379: brent.BrentAdminService.ListReviews:input_type -> brent.AdminListReviewsRequest - 86, // 380: brent.BrentAdminService.GetReview:input_type -> brent.AdminGetReviewRequest - 352, // 381: brent.BrentAdminService.ListAccounts:input_type -> google.protobuf.Empty - 91, // 382: brent.BrentAdminService.GetAccountSummary:input_type -> brent.AdminGetAccountSummaryRequest - 94, // 383: brent.BrentAdminService.GetAccountHealthAnalysis:input_type -> brent.AdminGetAccountHealthAnalysisRequest - 97, // 384: brent.BrentAdminService.ListAccountMetricRepos:input_type -> brent.AdminListAccountMetricReposRequest - 100, // 385: brent.BrentAdminService.StartAccountMetricsComparison:input_type -> brent.AdminStartAccountMetricsComparisonRequest - 102, // 386: brent.BrentAdminService.GetAccountMetricsComparisonRun:input_type -> brent.AdminGetAccountMetricsComparisonRunRequest - 319, // 387: brent.BrentAdminService.GetAccountBrentSettings:input_type -> brent.AdminGetAccountBrentSettingsRequest - 320, // 388: brent.BrentAdminService.UpdateAccountBrentSettings:input_type -> brent.AdminUpdateAccountBrentSettingsRequest - 321, // 389: brent.BrentAdminService.GetAccountReviewPolicy:input_type -> brent.AdminGetAccountReviewPolicyRequest - 323, // 390: brent.BrentAdminService.UpdateAccountReviewPolicy:input_type -> brent.AdminUpdateAccountReviewPolicyRequest - 325, // 391: brent.BrentAdminService.GetAccountLLMCredentialStatus:input_type -> brent.AdminGetAccountLLMCredentialStatusRequest - 327, // 392: brent.BrentAdminService.ListAccountIntegrations:input_type -> brent.AdminListAccountIntegrationsRequest - 192, // 393: brent.BrentAdminService.ListWorkflows:input_type -> brent.ListWorkflowsRequest - 195, // 394: brent.BrentAdminService.GetWorkflow:input_type -> brent.GetWorkflowRequest - 198, // 395: brent.BrentAdminService.ListWorkflowRuns:input_type -> brent.ListWorkflowRunsRequest - 201, // 396: brent.BrentAdminService.GetWorkflowRun:input_type -> brent.GetWorkflowRunRequest - 202, // 397: brent.BrentAdminService.GetWorkflowRunThreadHistory:input_type -> brent.GetWorkflowRunThreadHistoryRequest - 13, // 398: brent.BrentAdminService.ListPullRequests:input_type -> brent.ListPullRequestsRequest - 15, // 399: brent.BrentAdminService.GetPullRequestByID:input_type -> brent.GetPullRequestByIDRequest - 17, // 400: brent.BrentAdminService.ListDeviationAnalysesForPR:input_type -> brent.ListDeviationAnalysesForPRRequest - 61, // 401: brent.BrentAdminService.ListPrincipals:input_type -> brent.AdminListPrincipalsRequest - 63, // 402: brent.BrentAdminService.GetPrincipal:input_type -> brent.AdminGetPrincipalRequest - 66, // 403: brent.BrentAdminService.UpsertPrincipalBinding:input_type -> brent.AdminUpsertPrincipalBindingRequest - 68, // 404: brent.BrentAdminService.DeletePrincipalBinding:input_type -> brent.AdminDeletePrincipalBindingRequest - 70, // 405: brent.BrentAdminService.UpdatePrincipal:input_type -> brent.AdminUpdatePrincipalRequest - 72, // 406: brent.BrentAdminService.CreatePrincipalIdentity:input_type -> brent.AdminCreatePrincipalIdentityRequest - 74, // 407: brent.BrentAdminService.DeletePrincipalIdentity:input_type -> brent.AdminDeletePrincipalIdentityRequest - 76, // 408: brent.BrentAdminService.SetPrincipalCredential:input_type -> brent.AdminSetPrincipalCredentialRequest - 78, // 409: brent.BrentAdminService.ListPrincipalCredentialConnections:input_type -> brent.AdminListPrincipalCredentialConnectionsRequest - 81, // 410: brent.BrentAdminService.DeletePrincipalCredential:input_type -> brent.AdminDeletePrincipalCredentialRequest - 19, // 411: brent.BrentAdminService.GetPullRequestTimeline:input_type -> brent.GetPullRequestTimelineRequest - 39, // 412: brent.BrentService.ListOpenPullRequests:output_type -> brent.ListOpenPullRequestsResponse - 41, // 413: brent.BrentService.GetPullRequest:output_type -> brent.GetPullRequestResponse - 208, // 414: brent.BrentService.GetPrincipalStatus:output_type -> brent.GetPrincipalStatusResponse - 334, // 415: brent.BrentService.GetPlanPrompt:output_type -> brent.GetPlanPromptResponse - 210, // 416: brent.BrentService.GetIntegrationConnectURL:output_type -> brent.GetIntegrationConnectURLResponse - 212, // 417: brent.BrentService.DisconnectIntegration:output_type -> brent.DisconnectIntegrationResponse - 214, // 418: brent.BrentService.ConnectByoHttpMcp:output_type -> brent.ConnectByoHttpMcpResponse - 216, // 419: brent.BrentService.GetGitLabConnection:output_type -> brent.GetGitLabConnectionResponse - 218, // 420: brent.BrentService.ConnectGitLab:output_type -> brent.ConnectGitLabResponse - 220, // 421: brent.BrentService.SaveGitLabSigningToken:output_type -> brent.SaveGitLabSigningTokenResponse - 298, // 422: brent.BrentService.UpsertMyVerifiedBinding:output_type -> brent.UpsertMyVerifiedBindingResponse - 302, // 423: brent.BrentService.ListMyBindings:output_type -> brent.ListMyBindingsResponse - 306, // 424: brent.BrentService.GetMyNotificationPreferences:output_type -> brent.GetMyNotificationPreferencesResponse - 308, // 425: brent.BrentService.UpdateMyNotificationPreferences:output_type -> brent.UpdateMyNotificationPreferencesResponse - 310, // 426: brent.BrentService.RegisterMyPushSubscription:output_type -> brent.RegisterMyPushSubscriptionResponse - 312, // 427: brent.BrentService.GetWebPushPublicKey:output_type -> brent.GetWebPushPublicKeyResponse - 300, // 428: brent.BrentService.UpdateMyDisplayName:output_type -> brent.UpdateMyDisplayNameResponse - 316, // 429: brent.BrentService.GetBrentSettings:output_type -> brent.GetBrentSettingsResponse - 318, // 430: brent.BrentService.UpdateBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 331, // 431: brent.BrentService.ListIntegrationCatalogue:output_type -> brent.ListIntegrationCatalogueResponse - 230, // 432: brent.BrentService.CreateWorkspace:output_type -> brent.CreateWorkspaceResponse - 232, // 433: brent.BrentService.ListMyWorkspaces:output_type -> brent.ListMyWorkspacesResponse - 235, // 434: brent.BrentService.DiscoverLoginRecoveryCandidates:output_type -> brent.DiscoverLoginRecoveryCandidatesResponse - 237, // 435: brent.BrentService.RenameWorkspace:output_type -> brent.RenameWorkspaceResponse - 274, // 436: brent.BrentService.UpdateWorkspaceBranding:output_type -> brent.UpdateWorkspaceBrandingResponse - 276, // 437: brent.BrentService.CompleteWorkspaceOnboarding:output_type -> brent.CompleteWorkspaceOnboardingResponse - 239, // 438: brent.BrentService.DeleteWorkspace:output_type -> brent.DeleteWorkspaceResponse - 241, // 439: brent.BrentService.ListJoinableWorkspaces:output_type -> brent.ListJoinableWorkspacesResponse - 245, // 440: brent.BrentService.JoinWorkspace:output_type -> brent.JoinWorkspaceResponse - 278, // 441: brent.BrentService.CreateInvitation:output_type -> brent.CreateInvitationResponse - 281, // 442: brent.BrentService.CreateInvitations:output_type -> brent.CreateInvitationsResponse - 283, // 443: brent.BrentService.AcceptInvitation:output_type -> brent.AcceptInvitationResponse - 285, // 444: brent.BrentService.ListWorkspaceMembers:output_type -> brent.ListWorkspaceMembersResponse - 288, // 445: brent.BrentService.ResendInvitation:output_type -> brent.ResendInvitationResponse - 290, // 446: brent.BrentService.RevokeInvitation:output_type -> brent.RevokeInvitationResponse - 292, // 447: brent.BrentService.RemoveWorkspaceMember:output_type -> brent.RemoveWorkspaceMemberResponse - 294, // 448: brent.BrentService.UpdateWorkspaceMemberRole:output_type -> brent.UpdateWorkspaceMemberRoleResponse - 248, // 449: brent.BrentService.ListApprovedEmailDomains:output_type -> brent.ListApprovedEmailDomainsResponse - 250, // 450: brent.BrentService.AddApprovedEmailDomain:output_type -> brent.AddApprovedEmailDomainResponse - 252, // 451: brent.BrentService.VerifyApprovedEmailDomain:output_type -> brent.VerifyApprovedEmailDomainResponse - 254, // 452: brent.BrentService.ResendApprovedEmailDomainCode:output_type -> brent.ResendApprovedEmailDomainCodeResponse - 258, // 453: brent.BrentService.DeleteApprovedEmailDomain:output_type -> brent.DeleteApprovedEmailDomainResponse - 261, // 454: brent.BrentService.GetWorkspaceLLMCredentialStatus:output_type -> brent.GetWorkspaceLLMCredentialStatusResponse - 263, // 455: brent.BrentService.SetWorkspaceLLMCredential:output_type -> brent.SetWorkspaceLLMCredentialResponse - 265, // 456: brent.BrentService.DeleteWorkspaceLLMCredential:output_type -> brent.DeleteWorkspaceLLMCredentialResponse - 268, // 457: brent.BrentService.GetMyCursorCredentialStatus:output_type -> brent.GetMyCursorCredentialStatusResponse - 270, // 458: brent.BrentService.SetMyCursorCredential:output_type -> brent.SetMyCursorCredentialResponse - 272, // 459: brent.BrentService.DeleteMyCursorCredential:output_type -> brent.DeleteMyCursorCredentialResponse - 224, // 460: brent.BrentService.GetWorkspaceIntegrationRoles:output_type -> brent.GetWorkspaceIntegrationRolesResponse - 226, // 461: brent.BrentService.SetWorkspaceIntegrationRoles:output_type -> brent.SetWorkspaceIntegrationRolesResponse - 256, // 462: brent.BrentService.ResendVerificationEmail:output_type -> brent.ResendVerificationEmailResponse - 296, // 463: brent.BrentPublicService.GetInvitation:output_type -> brent.GetInvitationResponse - 43, // 464: brent.BrentAdminService.ExecuteWorkflow:output_type -> brent.ExecuteWorkflowResponse - 29, // 465: brent.BrentAdminService.ListRuns:output_type -> brent.ListRunsResponse - 43, // 466: brent.BrentAdminService.WatchRun:output_type -> brent.ExecuteWorkflowResponse - 33, // 467: brent.BrentAdminService.StreamEvents:output_type -> brent.StreamEventsResponse - 35, // 468: brent.BrentAdminService.ListEvents:output_type -> brent.ListEventsResponse - 37, // 469: brent.BrentAdminService.CancelRun:output_type -> brent.CancelRunResponse - 43, // 470: brent.BrentAdminService.SendQuestion:output_type -> brent.ExecuteWorkflowResponse - 56, // 471: brent.BrentAdminService.ListPlans:output_type -> brent.AdminListPlansResponse - 59, // 472: brent.BrentAdminService.GetPlan:output_type -> brent.AdminGetPlanResponse - 84, // 473: brent.BrentAdminService.ListReviews:output_type -> brent.AdminListReviewsResponse - 87, // 474: brent.BrentAdminService.GetReview:output_type -> brent.AdminGetReviewResponse - 90, // 475: brent.BrentAdminService.ListAccounts:output_type -> brent.AdminListAccountsResponse - 93, // 476: brent.BrentAdminService.GetAccountSummary:output_type -> brent.AdminGetAccountSummaryResponse - 96, // 477: brent.BrentAdminService.GetAccountHealthAnalysis:output_type -> brent.AdminGetAccountHealthAnalysisResponse - 99, // 478: brent.BrentAdminService.ListAccountMetricRepos:output_type -> brent.AdminListAccountMetricReposResponse - 101, // 479: brent.BrentAdminService.StartAccountMetricsComparison:output_type -> brent.AdminStartAccountMetricsComparisonResponse - 105, // 480: brent.BrentAdminService.GetAccountMetricsComparisonRun:output_type -> brent.AdminGetAccountMetricsComparisonRunResponse - 316, // 481: brent.BrentAdminService.GetAccountBrentSettings:output_type -> brent.GetBrentSettingsResponse - 318, // 482: brent.BrentAdminService.UpdateAccountBrentSettings:output_type -> brent.UpdateBrentSettingsResponse - 322, // 483: brent.BrentAdminService.GetAccountReviewPolicy:output_type -> brent.AdminGetAccountReviewPolicyResponse - 324, // 484: brent.BrentAdminService.UpdateAccountReviewPolicy:output_type -> brent.AdminUpdateAccountReviewPolicyResponse - 326, // 485: brent.BrentAdminService.GetAccountLLMCredentialStatus:output_type -> brent.AdminGetAccountLLMCredentialStatusResponse - 329, // 486: brent.BrentAdminService.ListAccountIntegrations:output_type -> brent.AdminListAccountIntegrationsResponse - 193, // 487: brent.BrentAdminService.ListWorkflows:output_type -> brent.ListWorkflowsResponse - 196, // 488: brent.BrentAdminService.GetWorkflow:output_type -> brent.GetWorkflowResponse - 199, // 489: brent.BrentAdminService.ListWorkflowRuns:output_type -> brent.ListWorkflowRunsResponse - 205, // 490: brent.BrentAdminService.GetWorkflowRun:output_type -> brent.GetWorkflowRunResponse - 204, // 491: brent.BrentAdminService.GetWorkflowRunThreadHistory:output_type -> brent.GetWorkflowRunThreadHistoryResponse - 14, // 492: brent.BrentAdminService.ListPullRequests:output_type -> brent.ListPullRequestsResponse - 16, // 493: brent.BrentAdminService.GetPullRequestByID:output_type -> brent.GetPullRequestByIDResponse - 18, // 494: brent.BrentAdminService.ListDeviationAnalysesForPR:output_type -> brent.ListDeviationAnalysesForPRResponse - 62, // 495: brent.BrentAdminService.ListPrincipals:output_type -> brent.AdminListPrincipalsResponse - 64, // 496: brent.BrentAdminService.GetPrincipal:output_type -> brent.AdminGetPrincipalResponse - 67, // 497: brent.BrentAdminService.UpsertPrincipalBinding:output_type -> brent.AdminUpsertPrincipalBindingResponse - 69, // 498: brent.BrentAdminService.DeletePrincipalBinding:output_type -> brent.AdminDeletePrincipalBindingResponse - 71, // 499: brent.BrentAdminService.UpdatePrincipal:output_type -> brent.AdminUpdatePrincipalResponse - 73, // 500: brent.BrentAdminService.CreatePrincipalIdentity:output_type -> brent.AdminCreatePrincipalIdentityResponse - 75, // 501: brent.BrentAdminService.DeletePrincipalIdentity:output_type -> brent.AdminDeletePrincipalIdentityResponse - 77, // 502: brent.BrentAdminService.SetPrincipalCredential:output_type -> brent.AdminSetPrincipalCredentialResponse - 79, // 503: brent.BrentAdminService.ListPrincipalCredentialConnections:output_type -> brent.AdminListPrincipalCredentialConnectionsResponse - 82, // 504: brent.BrentAdminService.DeletePrincipalCredential:output_type -> brent.AdminDeletePrincipalCredentialResponse - 22, // 505: brent.BrentAdminService.GetPullRequestTimeline:output_type -> brent.GetPullRequestTimelineResponse + 23, // 0: until.ListPullRequestsResponse.pull_requests:type_name -> until.PullRequestSummary + 24, // 1: until.GetPullRequestByIDResponse.pull_request:type_name -> until.PullRequest + 25, // 2: until.ListPlanChecksForPRResponse.analyses:type_name -> until.PlanCheckSummary + 349, // 3: until.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp + 24, // 4: until.GetPullRequestTimelineResponse.pull_request:type_name -> until.PullRequest + 20, // 5: until.GetPullRequestTimelineResponse.events:type_name -> until.PullRequestTimelineEventRow + 21, // 6: until.GetPullRequestTimelineResponse.warnings:type_name -> until.PullRequestTimelineWarning + 349, // 7: until.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp + 349, // 8: until.PullRequest.created_at:type_name -> google.protobuf.Timestamp + 349, // 9: until.PullRequest.updated_at:type_name -> google.protobuf.Timestamp + 349, // 10: until.PullRequest.closed_at:type_name -> google.protobuf.Timestamp + 349, // 11: until.PlanCheckSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 12: until.PlanCheckSummary.completed_at:type_name -> google.protobuf.Timestamp + 349, // 13: until.PlanCheckSummary.failed_at:type_name -> google.protobuf.Timestamp + 26, // 14: until.PlanCheckSummary.differences:type_name -> until.PlanDifference + 349, // 15: until.PlanDifference.resolved_at:type_name -> google.protobuf.Timestamp + 30, // 16: until.ListRunsResponse.runs:type_name -> until.RunSummary + 0, // 17: until.RunSummary.status:type_name -> until.RunStatus + 349, // 18: until.RunSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 19: until.RunSummary.completed_at:type_name -> google.protobuf.Timestamp + 106, // 20: until.StreamEventsResponse.event:type_name -> until.Event + 349, // 21: until.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp + 349, // 22: until.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp + 106, // 23: until.ListEventsResponse.events:type_name -> until.Event + 42, // 24: until.ListOpenPullRequestsResponse.pull_requests:type_name -> until.OpenPullRequest + 42, // 25: until.GetPullRequestResponse.pull_request:type_name -> until.OpenPullRequest + 349, // 26: until.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp + 349, // 27: until.ExecuteLoopResponse.timestamp:type_name -> google.protobuf.Timestamp + 44, // 28: until.ExecuteLoopResponse.reasoning:type_name -> until.ReasoningStep + 45, // 29: until.ExecuteLoopResponse.tool_call:type_name -> until.ToolCallStep + 46, // 30: until.ExecuteLoopResponse.tool_result:type_name -> until.ToolResultStep + 47, // 31: until.ExecuteLoopResponse.completion:type_name -> until.CompletionStep + 48, // 32: until.ExecuteLoopResponse.error:type_name -> until.ErrorStep + 49, // 33: until.ExecuteLoopResponse.status:type_name -> until.StatusStep + 50, // 34: until.ExecuteLoopResponse.run_started:type_name -> until.RunStartedStep + 51, // 35: until.ExecuteLoopResponse.qa_ready:type_name -> until.QAReadyStep + 52, // 36: until.ExecuteLoopResponse.user_question:type_name -> until.UserQuestionStep + 53, // 37: until.ExecuteLoopResponse.user_message:type_name -> until.UserMessageStep + 57, // 38: until.AdminListPlansResponse.plans:type_name -> until.PlanSummary + 349, // 39: until.PlanSummary.created_at:type_name -> google.protobuf.Timestamp + 349, // 40: until.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp + 349, // 41: until.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp + 349, // 42: until.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 60, // 43: until.AdminGetPlanResponse.plan:type_name -> until.Plan + 85, // 44: until.AdminGetPlanResponse.related_reviews:type_name -> until.ReviewSummary + 23, // 45: until.AdminGetPlanResponse.related_pull_requests:type_name -> until.PullRequestSummary + 349, // 46: until.Plan.created_at:type_name -> google.protobuf.Timestamp + 349, // 47: until.Plan.updated_at:type_name -> google.protobuf.Timestamp + 349, // 48: until.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp + 227, // 49: until.AdminListPrincipalsResponse.principals:type_name -> until.Principal + 227, // 50: until.AdminGetPrincipalResponse.principal:type_name -> until.Principal + 65, // 51: until.AdminGetPrincipalResponse.identities:type_name -> until.PrincipalIdentity + 313, // 52: until.AdminGetPrincipalResponse.bindings:type_name -> until.Binding + 349, // 53: until.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp + 349, // 54: until.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp + 313, // 55: until.AdminUpsertPrincipalBindingResponse.binding:type_name -> until.Binding + 227, // 56: until.AdminUpdatePrincipalResponse.principal:type_name -> until.Principal + 65, // 57: until.AdminCreatePrincipalIdentityResponse.identity:type_name -> until.PrincipalIdentity + 80, // 58: until.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> until.PrincipalCredentialConnection + 349, // 59: until.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp + 85, // 60: until.AdminListReviewsResponse.reviews:type_name -> until.ReviewSummary + 349, // 61: until.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp + 349, // 62: until.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp + 88, // 63: until.AdminGetReviewResponse.review:type_name -> until.Review + 57, // 64: until.AdminGetReviewResponse.plan:type_name -> until.PlanSummary + 349, // 65: until.Review.requested_at:type_name -> google.protobuf.Timestamp + 349, // 66: until.Review.decided_at:type_name -> google.protobuf.Timestamp + 349, // 67: until.Review.created_at:type_name -> google.protobuf.Timestamp + 349, // 68: until.Review.updated_at:type_name -> google.protobuf.Timestamp + 89, // 69: until.AdminListAccountsResponse.accounts:type_name -> until.AccountSummary + 349, // 70: until.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 71: until.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp + 92, // 72: until.AdminGetAccountSummaryResponse.recent_runs:type_name -> until.AccountRunSummary + 95, // 73: until.AdminGetAccountHealthAnalysisResponse.findings:type_name -> until.AccountHealthFinding + 349, // 74: until.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp + 98, // 75: until.AdminListAccountMetricReposResponse.repos:type_name -> until.AccountMetricRepo + 349, // 76: until.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp + 349, // 77: until.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp + 349, // 78: until.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp + 349, // 79: until.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp + 1, // 80: until.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> until.MetricsComparisonMode + 349, // 81: until.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 349, // 82: until.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 349, // 83: until.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp + 349, // 84: until.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp + 103, // 85: until.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> until.MetricsComparisonHeadline + 349, // 86: until.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp + 349, // 87: until.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp + 349, // 88: until.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp + 349, // 89: until.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp + 104, // 90: until.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> until.MetricsComparisonArtifact + 1, // 91: until.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> until.MetricsComparisonMode + 349, // 92: until.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp + 349, // 93: until.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp + 349, // 94: until.Event.occurred_at:type_name -> google.protobuf.Timestamp + 107, // 95: until.Event.actor:type_name -> until.Actor + 108, // 96: until.Event.object:type_name -> until.ObjectReference + 349, // 97: until.Event.received_at:type_name -> google.protobuf.Timestamp + 109, // 98: until.Event.plan_created:type_name -> until.PlanCreated + 110, // 99: until.Event.plan_updated:type_name -> until.PlanUpdated + 111, // 100: until.Event.plan_deleted:type_name -> until.PlanDeleted + 115, // 101: until.Event.review_requested:type_name -> until.ReviewRequested + 116, // 102: until.Event.review_submitted:type_name -> until.ReviewSubmitted + 143, // 103: until.Event.other:type_name -> until.OtherEvent + 184, // 104: until.Event.github_webhook:type_name -> until.GitHubWebhook + 188, // 105: until.Event.slack_mention:type_name -> until.SlackMentionReceived + 191, // 106: until.Event.slack_reaction:type_name -> until.SlackReactionAdded + 145, // 107: until.Event.pull_request_opened:type_name -> until.PullRequestOpened + 146, // 108: until.Event.pull_request_synchronized:type_name -> until.PullRequestSynchronized + 147, // 109: until.Event.pull_request_updated:type_name -> until.PullRequestUpdated + 148, // 110: until.Event.pull_request_closed:type_name -> until.PullRequestClosed + 149, // 111: until.Event.pull_request_linked_to_plan:type_name -> until.PullRequestLinkedToPlan + 150, // 112: until.Event.pull_request_unlinked_from_plan:type_name -> until.PullRequestUnlinkedFromPlan + 189, // 113: until.Event.organisation_app_installation_upserted:type_name -> until.OrganisationAppInstallationUpserted + 190, // 114: until.Event.organisation_app_installation_deleted:type_name -> until.OrganisationAppInstallationDeleted + 157, // 115: until.Event.plan_check_started:type_name -> until.PlanCheckStarted + 159, // 116: until.Event.plan_check_completed:type_name -> until.PlanCheckCompleted + 160, // 117: until.Event.plan_check_failed:type_name -> until.PlanCheckFailed + 176, // 118: until.Event.loop_run_queued:type_name -> until.LoopRunQueued + 177, // 119: until.Event.loop_run_started:type_name -> until.LoopRunStarted + 178, // 120: until.Event.loop_run_completed:type_name -> until.LoopRunCompleted + 179, // 121: until.Event.loop_run_failed:type_name -> until.LoopRunFailed + 180, // 122: until.Event.loop_run_cancelled:type_name -> until.LoopRunCancelled + 117, // 123: until.Event.review_no_eligible_reviewer:type_name -> until.ReviewNoEligibleReviewer + 120, // 124: until.Event.principal_created:type_name -> until.PrincipalCreated + 121, // 125: until.Event.principal_updated:type_name -> until.PrincipalUpdated + 122, // 126: until.Event.principal_tombstoned:type_name -> until.PrincipalTombstoned + 133, // 127: until.Event.identity_created:type_name -> until.IdentityCreated + 134, // 128: until.Event.identity_deleted:type_name -> until.IdentityDeleted + 135, // 129: until.Event.binding_created:type_name -> until.BindingCreated + 136, // 130: until.Event.binding_updated:type_name -> until.BindingUpdated + 137, // 131: until.Event.binding_deleted:type_name -> until.BindingDeleted + 142, // 132: until.Event.review_drive_by_started:type_name -> until.ReviewDriveByStarted + 181, // 133: until.Event.slack_webhook:type_name -> until.SlackWebhook + 112, // 134: until.Event.review_deleted:type_name -> until.ReviewDeleted + 114, // 135: until.Event.plan_restored:type_name -> until.PlanRestored + 182, // 136: until.Event.linear_webhook:type_name -> until.LinearWebhook + 156, // 137: until.Event.pull_request_comment_created:type_name -> until.PullRequestCommentCreated + 161, // 138: until.Event.plan_difference_recorded:type_name -> until.PlanDifferenceRecorded + 162, // 139: until.Event.plan_difference_updated:type_name -> until.PlanDifferenceUpdated + 163, // 140: until.Event.plan_difference_resolved:type_name -> until.PlanDifferenceResolved + 166, // 141: until.Event.agent_run_dispatched:type_name -> until.AgentRunDispatched + 167, // 142: until.Event.agent_run_started:type_name -> until.AgentRunStarted + 168, // 143: until.Event.agent_run_pull_request_matched:type_name -> until.AgentRunPullRequestMatched + 169, // 144: until.Event.agent_run_flagged_needs_you:type_name -> until.AgentRunFlaggedNeedsYou + 171, // 145: until.Event.agent_run_merged:type_name -> until.AgentRunMerged + 173, // 146: until.Event.agent_run_declined:type_name -> until.AgentRunDeclined + 172, // 147: until.Event.agent_run_cancelled:type_name -> until.AgentRunCancelled + 170, // 148: until.Event.agent_run_gate_passed:type_name -> until.AgentRunGatePassed + 151, // 149: until.Event.pull_request_linked_to_agent_run:type_name -> until.PullRequestLinkedToAgentRun + 175, // 150: until.Event.loop_ingested:type_name -> until.LoopIngested + 152, // 151: until.Event.pull_request_review_requested:type_name -> until.PullRequestReviewRequested + 153, // 152: until.Event.pull_request_approved:type_name -> until.PullRequestApproved + 154, // 153: until.Event.pull_request_changes_requested:type_name -> until.PullRequestChangesRequested + 155, // 154: until.Event.pull_request_review_dismissed:type_name -> until.PullRequestReviewDismissed + 138, // 155: until.Event.credential_connected:type_name -> until.CredentialConnected + 139, // 156: until.Event.credential_revoked:type_name -> until.CredentialRevoked + 174, // 157: until.Event.agent_run_annotated:type_name -> until.AgentRunAnnotated + 123, // 158: until.Event.workspace_created:type_name -> until.WorkspaceCreated + 132, // 159: until.Event.mcp_grant_workspace_binding_changed:type_name -> until.MCPGrantWorkspaceBindingChanged + 124, // 160: until.Event.workspace_onboarding_completed:type_name -> until.WorkspaceOnboardingCompleted + 125, // 161: until.Event.workspace_renamed:type_name -> until.WorkspaceRenamed + 126, // 162: until.Event.workspace_deleted:type_name -> until.WorkspaceDeleted + 129, // 163: until.Event.approved_email_domain_added:type_name -> until.ApprovedEmailDomainAdded + 130, // 164: until.Event.approved_email_domain_verified:type_name -> until.ApprovedEmailDomainVerified + 131, // 165: until.Event.approved_email_domain_deleted:type_name -> until.ApprovedEmailDomainDeleted + 185, // 166: until.Event.gitlab_webhook:type_name -> until.GitLabWebhook + 140, // 167: until.Event.workspace_llm_credential_connected:type_name -> until.WorkspaceLLMCredentialConnected + 141, // 168: until.Event.workspace_llm_credential_revoked:type_name -> until.WorkspaceLLMCredentialRevoked + 186, // 169: until.Event.bitbucket_webhook:type_name -> until.BitbucketWebhook + 127, // 170: until.Event.workspace_member_joined:type_name -> until.WorkspaceMemberJoined + 128, // 171: until.Event.workspace_member_left:type_name -> until.WorkspaceMemberLeft + 183, // 172: until.Event.composio_trigger_message:type_name -> until.ComposioTriggerMessage + 164, // 173: until.Event.plan_difference_acknowledged:type_name -> until.PlanDifferenceAcknowledged + 165, // 174: until.Event.plan_difference_acknowledgement_cleared:type_name -> until.PlanDifferenceAcknowledgementCleared + 118, // 175: until.Event.plan_review_policy_decided:type_name -> until.PlanReviewPolicyDecided + 113, // 176: until.Event.review_restored:type_name -> until.ReviewRestored + 119, // 177: until.Event.workspace_review_policy_updated:type_name -> until.WorkspaceReviewPolicyUpdated + 144, // 178: until.Event.unknown_stored_payload:type_name -> until.UnknownStoredPayload + 335, // 179: until.PlanUpdated.previous:type_name -> until.PlanUpdated.PreviousEntry + 336, // 180: until.PlanUpdated.after:type_name -> until.PlanUpdated.AfterEntry + 349, // 181: until.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp + 337, // 182: until.PrincipalUpdated.previous:type_name -> until.PrincipalUpdated.PreviousEntry + 338, // 183: until.PrincipalUpdated.after:type_name -> until.PrincipalUpdated.AfterEntry + 7, // 184: until.WorkspaceMemberJoined.source:type_name -> until.JoinSource + 339, // 185: until.BindingUpdated.previous:type_name -> until.BindingUpdated.PreviousEntry + 340, // 186: until.BindingUpdated.after:type_name -> until.BindingUpdated.AfterEntry + 341, // 187: until.OtherEvent.fields:type_name -> until.OtherEvent.FieldsEntry + 342, // 188: until.PullRequestUpdated.previous:type_name -> until.PullRequestUpdated.PreviousEntry + 343, // 189: until.PullRequestUpdated.after:type_name -> until.PullRequestUpdated.AfterEntry + 349, // 190: until.PlanCheckStarted.started_at:type_name -> google.protobuf.Timestamp + 344, // 191: until.PlanCheckCompleted.difference_count_by_tag:type_name -> until.PlanCheckCompleted.DifferenceCountByTagEntry + 349, // 192: until.PlanCheckCompleted.completed_at:type_name -> google.protobuf.Timestamp + 158, // 193: until.PlanCheckCompleted.differences:type_name -> until.DifferenceSummary + 349, // 194: until.PlanCheckFailed.failed_at:type_name -> google.protobuf.Timestamp + 349, // 195: until.PlanDifferenceRecorded.recorded_at:type_name -> google.protobuf.Timestamp + 345, // 196: until.PlanDifferenceUpdated.previous:type_name -> until.PlanDifferenceUpdated.PreviousEntry + 346, // 197: until.PlanDifferenceUpdated.after:type_name -> until.PlanDifferenceUpdated.AfterEntry + 349, // 198: until.PlanDifferenceResolved.resolved_at:type_name -> google.protobuf.Timestamp + 349, // 199: until.PlanDifferenceAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp + 349, // 200: until.PlanDifferenceAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp + 349, // 201: until.LoopRunQueued.queued_at:type_name -> google.protobuf.Timestamp + 349, // 202: until.LoopRunStarted.started_at:type_name -> google.protobuf.Timestamp + 349, // 203: until.LoopRunCompleted.completed_at:type_name -> google.protobuf.Timestamp + 349, // 204: until.LoopRunFailed.failed_at:type_name -> google.protobuf.Timestamp + 349, // 205: until.LoopRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp + 194, // 206: until.ListLoopsResponse.loops:type_name -> until.LoopSummary + 349, // 207: until.LoopSummary.created_at:type_name -> google.protobuf.Timestamp + 349, // 208: until.LoopSummary.updated_at:type_name -> google.protobuf.Timestamp + 197, // 209: until.GetLoopResponse.loop:type_name -> until.Loop + 349, // 210: until.Loop.created_at:type_name -> google.protobuf.Timestamp + 349, // 211: until.Loop.updated_at:type_name -> google.protobuf.Timestamp + 200, // 212: until.ListLoopRunsResponse.runs:type_name -> until.LoopRunSummary + 349, // 213: until.LoopRunSummary.started_at:type_name -> google.protobuf.Timestamp + 349, // 214: until.LoopRunSummary.completed_at:type_name -> google.protobuf.Timestamp + 349, // 215: until.LoopRunSummary.created_at:type_name -> google.protobuf.Timestamp + 349, // 216: until.LoopRunSummary.updated_at:type_name -> google.protobuf.Timestamp + 200, // 217: until.LoopRunThreadSegment.run:type_name -> until.LoopRunSummary + 43, // 218: until.LoopRunThreadSegment.steps:type_name -> until.ExecuteLoopResponse + 203, // 219: until.GetLoopRunThreadHistoryResponse.segments:type_name -> until.LoopRunThreadSegment + 206, // 220: until.GetLoopRunResponse.run:type_name -> until.LoopRun + 194, // 221: until.GetLoopRunResponse.loop:type_name -> until.LoopSummary + 349, // 222: until.LoopRun.started_at:type_name -> google.protobuf.Timestamp + 349, // 223: until.LoopRun.completed_at:type_name -> google.protobuf.Timestamp + 349, // 224: until.LoopRun.created_at:type_name -> google.protobuf.Timestamp + 349, // 225: until.LoopRun.updated_at:type_name -> google.protobuf.Timestamp + 106, // 226: until.LoopRun.triggering_event_payload:type_name -> until.Event + 2, // 227: until.GetPrincipalStatusResponse.state:type_name -> until.PrincipalStatusState + 227, // 228: until.GetPrincipalStatusResponse.principal:type_name -> until.Principal + 222, // 229: until.GetPrincipalStatusResponse.integrations:type_name -> until.IntegrationStatus + 3, // 230: until.GetIntegrationConnectURLRequest.provider:type_name -> until.IntegrationProvider + 4, // 231: until.GetIntegrationConnectURLRequest.intent:type_name -> until.IntegrationIntent + 3, // 232: until.DisconnectIntegrationRequest.provider:type_name -> until.IntegrationProvider + 349, // 233: until.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp + 349, // 234: until.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp + 3, // 235: until.IntegrationStatus.provider:type_name -> until.IntegrationProvider + 221, // 236: until.IntegrationStatus.github_pending:type_name -> until.GitHubPendingInstall + 349, // 237: until.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp + 5, // 238: until.IntegrationStatus.status:type_name -> until.IntegrationConnectionStatus + 3, // 239: until.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> until.IntegrationProvider + 3, // 240: until.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> until.IntegrationProvider + 3, // 241: until.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> until.IntegrationProvider + 349, // 242: until.Principal.created_at:type_name -> google.protobuf.Timestamp + 349, // 243: until.Principal.updated_at:type_name -> google.protobuf.Timestamp + 228, // 244: until.CreateWorkspaceResponse.workspace:type_name -> until.Workspace + 228, // 245: until.ListMyWorkspacesResponse.workspaces:type_name -> until.Workspace + 6, // 246: until.LoginRecoveryCandidate.provider:type_name -> until.LoginProvider + 6, // 247: until.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> until.LoginProvider + 234, // 248: until.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> until.LoginRecoveryCandidate + 228, // 249: until.RenameWorkspaceResponse.workspace:type_name -> until.Workspace + 242, // 250: until.ListJoinableWorkspacesResponse.workspaces:type_name -> until.JoinableWorkspace + 349, // 251: until.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp + 243, // 252: until.JoinableWorkspace.member_previews:type_name -> until.JoinableWorkspaceMember + 7, // 253: until.JoinableWorkspace.source:type_name -> until.JoinSource + 228, // 254: until.JoinWorkspaceResponse.workspace:type_name -> until.Workspace + 349, // 255: until.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp + 246, // 256: until.ListApprovedEmailDomainsResponse.domains:type_name -> until.ApprovedEmailDomain + 246, // 257: until.AddApprovedEmailDomainResponse.domain:type_name -> until.ApprovedEmailDomain + 246, // 258: until.VerifyApprovedEmailDomainResponse.domain:type_name -> until.ApprovedEmailDomain + 349, // 259: until.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 349, // 260: until.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp + 259, // 261: until.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> until.WorkspaceLLMCredentialStatus + 259, // 262: until.SetWorkspaceLLMCredentialResponse.status:type_name -> until.WorkspaceLLMCredentialStatus + 349, // 263: until.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp + 266, // 264: until.GetMyCursorCredentialStatusResponse.status:type_name -> until.MyCursorCredentialStatus + 266, // 265: until.SetMyCursorCredentialResponse.status:type_name -> until.MyCursorCredentialStatus + 228, // 266: until.UpdateWorkspaceBrandingResponse.workspace:type_name -> until.Workspace + 228, // 267: until.CompleteWorkspaceOnboardingResponse.workspace:type_name -> until.Workspace + 349, // 268: until.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 9, // 269: until.InvitationResult.status:type_name -> until.InvitationResultStatus + 280, // 270: until.CreateInvitationsResponse.results:type_name -> until.InvitationResult + 228, // 271: until.AcceptInvitationResponse.workspace:type_name -> until.Workspace + 286, // 272: until.ListWorkspaceMembersResponse.members:type_name -> until.WorkspaceMember + 10, // 273: until.WorkspaceMember.state:type_name -> until.WorkspaceMemberState + 349, // 274: until.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp + 8, // 275: until.GetInvitationResponse.status:type_name -> until.InvitationStatus + 313, // 276: until.UpsertMyVerifiedBindingResponse.binding:type_name -> until.Binding + 227, // 277: until.UpdateMyDisplayNameResponse.principal:type_name -> until.Principal + 313, // 278: until.ListMyBindingsResponse.bindings:type_name -> until.Binding + 347, // 279: until.NotificationPreferences.preferences:type_name -> until.NotificationPreferences.PreferencesEntry + 348, // 280: until.ChannelPreferences.channels:type_name -> until.ChannelPreferences.ChannelsEntry + 303, // 281: until.GetMyNotificationPreferencesResponse.preferences:type_name -> until.NotificationPreferences + 303, // 282: until.UpdateMyNotificationPreferencesRequest.preferences:type_name -> until.NotificationPreferences + 303, // 283: until.UpdateMyNotificationPreferencesResponse.preferences:type_name -> until.NotificationPreferences + 349, // 284: until.Binding.created_at:type_name -> google.protobuf.Timestamp + 349, // 285: until.Binding.updated_at:type_name -> google.protobuf.Timestamp + 349, // 286: until.GetPlanCheckSettingsResponse.blocking_difference_tags_updated_at:type_name -> google.protobuf.Timestamp + 314, // 287: until.UpdatePlanCheckSettingsRequest.blocking_difference_tags:type_name -> until.BlockingDifferenceTagsPatch + 349, // 288: until.UpdatePlanCheckSettingsResponse.blocking_difference_tags_updated_at:type_name -> google.protobuf.Timestamp + 314, // 289: until.AdminUpdateAccountPlanCheckSettingsRequest.blocking_difference_tags:type_name -> until.BlockingDifferenceTagsPatch + 11, // 290: until.AdminGetAccountReviewPolicyResponse.policy:type_name -> until.WorkspaceReviewPolicy + 349, // 291: until.AdminGetAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp + 11, // 292: until.AdminUpdateAccountReviewPolicyRequest.policy:type_name -> until.WorkspaceReviewPolicy + 11, // 293: until.AdminUpdateAccountReviewPolicyResponse.policy:type_name -> until.WorkspaceReviewPolicy + 349, // 294: until.AdminUpdateAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp + 259, // 295: until.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> until.WorkspaceLLMCredentialStatus + 349, // 296: until.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp + 5, // 297: until.AdminAccountIntegrationInstall.status:type_name -> until.IntegrationConnectionStatus + 328, // 298: until.AdminListAccountIntegrationsResponse.installs:type_name -> until.AdminAccountIntegrationInstall + 3, // 299: until.AdminListAccountIntegrationsResponse.git_provider:type_name -> until.IntegrationProvider + 3, // 300: until.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> until.IntegrationProvider + 3, // 301: until.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> until.IntegrationProvider + 332, // 302: until.ListIntegrationCatalogueResponse.entries:type_name -> until.IntegrationCatalogueEntry + 12, // 303: until.IntegrationCatalogueEntry.source:type_name -> until.IntegrationCatalogueSource + 3, // 304: until.IntegrationCatalogueEntry.provider:type_name -> until.IntegrationProvider + 349, // 305: until.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp + 350, // 306: until.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 307: until.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 308: until.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 309: until.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 310: until.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 311: until.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 312: until.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 313: until.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 350, // 314: until.PlanDifferenceUpdated.PreviousEntry.value:type_name -> google.protobuf.Value + 350, // 315: until.PlanDifferenceUpdated.AfterEntry.value:type_name -> google.protobuf.Value + 304, // 316: until.NotificationPreferences.PreferencesEntry.value:type_name -> until.ChannelPreferences + 351, // 317: until.embedded_json:extendee -> google.protobuf.FieldOptions + 38, // 318: until.WorkspaceService.ListOpenPullRequests:input_type -> until.ListOpenPullRequestsRequest + 40, // 319: until.WorkspaceService.GetPullRequest:input_type -> until.GetPullRequestRequest + 207, // 320: until.WorkspaceService.GetPrincipalStatus:input_type -> until.GetPrincipalStatusRequest + 333, // 321: until.WorkspaceService.GetPlanPrompt:input_type -> until.GetPlanPromptRequest + 209, // 322: until.WorkspaceService.GetIntegrationConnectURL:input_type -> until.GetIntegrationConnectURLRequest + 211, // 323: until.WorkspaceService.DisconnectIntegration:input_type -> until.DisconnectIntegrationRequest + 213, // 324: until.WorkspaceService.ConnectByoHttpMcp:input_type -> until.ConnectByoHttpMcpRequest + 215, // 325: until.WorkspaceService.GetGitLabConnection:input_type -> until.GetGitLabConnectionRequest + 217, // 326: until.WorkspaceService.ConnectGitLab:input_type -> until.ConnectGitLabRequest + 219, // 327: until.WorkspaceService.SaveGitLabSigningToken:input_type -> until.SaveGitLabSigningTokenRequest + 297, // 328: until.WorkspaceService.UpsertMyVerifiedBinding:input_type -> until.UpsertMyVerifiedBindingRequest + 301, // 329: until.WorkspaceService.ListMyBindings:input_type -> until.ListMyBindingsRequest + 305, // 330: until.WorkspaceService.GetMyNotificationPreferences:input_type -> until.GetMyNotificationPreferencesRequest + 307, // 331: until.WorkspaceService.UpdateMyNotificationPreferences:input_type -> until.UpdateMyNotificationPreferencesRequest + 309, // 332: until.WorkspaceService.RegisterMyPushSubscription:input_type -> until.RegisterMyPushSubscriptionRequest + 311, // 333: until.WorkspaceService.GetWebPushPublicKey:input_type -> until.GetWebPushPublicKeyRequest + 299, // 334: until.WorkspaceService.UpdateMyDisplayName:input_type -> until.UpdateMyDisplayNameRequest + 315, // 335: until.WorkspaceService.GetPlanCheckSettings:input_type -> until.GetPlanCheckSettingsRequest + 317, // 336: until.WorkspaceService.UpdatePlanCheckSettings:input_type -> until.UpdatePlanCheckSettingsRequest + 330, // 337: until.WorkspaceService.ListIntegrationCatalogue:input_type -> until.ListIntegrationCatalogueRequest + 229, // 338: until.WorkspaceService.CreateWorkspace:input_type -> until.CreateWorkspaceRequest + 231, // 339: until.WorkspaceService.ListMyWorkspaces:input_type -> until.ListMyWorkspacesRequest + 233, // 340: until.WorkspaceService.DiscoverLoginRecoveryCandidates:input_type -> until.DiscoverLoginRecoveryCandidatesRequest + 236, // 341: until.WorkspaceService.RenameWorkspace:input_type -> until.RenameWorkspaceRequest + 273, // 342: until.WorkspaceService.UpdateWorkspaceBranding:input_type -> until.UpdateWorkspaceBrandingRequest + 275, // 343: until.WorkspaceService.CompleteWorkspaceOnboarding:input_type -> until.CompleteWorkspaceOnboardingRequest + 238, // 344: until.WorkspaceService.DeleteWorkspace:input_type -> until.DeleteWorkspaceRequest + 240, // 345: until.WorkspaceService.ListJoinableWorkspaces:input_type -> until.ListJoinableWorkspacesRequest + 244, // 346: until.WorkspaceService.JoinWorkspace:input_type -> until.JoinWorkspaceRequest + 277, // 347: until.WorkspaceService.CreateInvitation:input_type -> until.CreateInvitationRequest + 279, // 348: until.WorkspaceService.CreateInvitations:input_type -> until.CreateInvitationsRequest + 282, // 349: until.WorkspaceService.AcceptInvitation:input_type -> until.AcceptInvitationRequest + 284, // 350: until.WorkspaceService.ListWorkspaceMembers:input_type -> until.ListWorkspaceMembersRequest + 287, // 351: until.WorkspaceService.ResendInvitation:input_type -> until.ResendInvitationRequest + 289, // 352: until.WorkspaceService.RevokeInvitation:input_type -> until.RevokeInvitationRequest + 291, // 353: until.WorkspaceService.RemoveWorkspaceMember:input_type -> until.RemoveWorkspaceMemberRequest + 293, // 354: until.WorkspaceService.UpdateWorkspaceMemberRole:input_type -> until.UpdateWorkspaceMemberRoleRequest + 247, // 355: until.WorkspaceService.ListApprovedEmailDomains:input_type -> until.ListApprovedEmailDomainsRequest + 249, // 356: until.WorkspaceService.AddApprovedEmailDomain:input_type -> until.AddApprovedEmailDomainRequest + 251, // 357: until.WorkspaceService.VerifyApprovedEmailDomain:input_type -> until.VerifyApprovedEmailDomainRequest + 253, // 358: until.WorkspaceService.ResendApprovedEmailDomainCode:input_type -> until.ResendApprovedEmailDomainCodeRequest + 257, // 359: until.WorkspaceService.DeleteApprovedEmailDomain:input_type -> until.DeleteApprovedEmailDomainRequest + 260, // 360: until.WorkspaceService.GetWorkspaceLLMCredentialStatus:input_type -> until.GetWorkspaceLLMCredentialStatusRequest + 262, // 361: until.WorkspaceService.SetWorkspaceLLMCredential:input_type -> until.SetWorkspaceLLMCredentialRequest + 264, // 362: until.WorkspaceService.DeleteWorkspaceLLMCredential:input_type -> until.DeleteWorkspaceLLMCredentialRequest + 267, // 363: until.WorkspaceService.GetMyCursorCredentialStatus:input_type -> until.GetMyCursorCredentialStatusRequest + 269, // 364: until.WorkspaceService.SetMyCursorCredential:input_type -> until.SetMyCursorCredentialRequest + 271, // 365: until.WorkspaceService.DeleteMyCursorCredential:input_type -> until.DeleteMyCursorCredentialRequest + 223, // 366: until.WorkspaceService.GetWorkspaceIntegrationRoles:input_type -> until.GetWorkspaceIntegrationRolesRequest + 225, // 367: until.WorkspaceService.SetWorkspaceIntegrationRoles:input_type -> until.SetWorkspaceIntegrationRolesRequest + 255, // 368: until.WorkspaceService.ResendVerificationEmail:input_type -> until.ResendVerificationEmailRequest + 295, // 369: until.PublicService.GetInvitation:input_type -> until.GetInvitationRequest + 27, // 370: until.AdminService.ExecuteLoop:input_type -> until.ExecuteLoopRequest + 28, // 371: until.AdminService.ListRuns:input_type -> until.ListRunsRequest + 31, // 372: until.AdminService.WatchRun:input_type -> until.WatchRunRequest + 32, // 373: until.AdminService.StreamEvents:input_type -> until.StreamEventsRequest + 34, // 374: until.AdminService.ListEvents:input_type -> until.ListEventsRequest + 36, // 375: until.AdminService.CancelRun:input_type -> until.CancelRunRequest + 54, // 376: until.AdminService.SendQuestion:input_type -> until.SendQuestionRequest + 55, // 377: until.AdminService.ListPlans:input_type -> until.AdminListPlansRequest + 58, // 378: until.AdminService.GetPlan:input_type -> until.AdminGetPlanRequest + 83, // 379: until.AdminService.ListReviews:input_type -> until.AdminListReviewsRequest + 86, // 380: until.AdminService.GetReview:input_type -> until.AdminGetReviewRequest + 352, // 381: until.AdminService.ListAccounts:input_type -> google.protobuf.Empty + 91, // 382: until.AdminService.GetAccountSummary:input_type -> until.AdminGetAccountSummaryRequest + 94, // 383: until.AdminService.GetAccountHealthAnalysis:input_type -> until.AdminGetAccountHealthAnalysisRequest + 97, // 384: until.AdminService.ListAccountMetricRepos:input_type -> until.AdminListAccountMetricReposRequest + 100, // 385: until.AdminService.StartAccountMetricsComparison:input_type -> until.AdminStartAccountMetricsComparisonRequest + 102, // 386: until.AdminService.GetAccountMetricsComparisonRun:input_type -> until.AdminGetAccountMetricsComparisonRunRequest + 319, // 387: until.AdminService.GetAccountPlanCheckSettings:input_type -> until.AdminGetAccountPlanCheckSettingsRequest + 320, // 388: until.AdminService.UpdateAccountPlanCheckSettings:input_type -> until.AdminUpdateAccountPlanCheckSettingsRequest + 321, // 389: until.AdminService.GetAccountReviewPolicy:input_type -> until.AdminGetAccountReviewPolicyRequest + 323, // 390: until.AdminService.UpdateAccountReviewPolicy:input_type -> until.AdminUpdateAccountReviewPolicyRequest + 325, // 391: until.AdminService.GetAccountLLMCredentialStatus:input_type -> until.AdminGetAccountLLMCredentialStatusRequest + 327, // 392: until.AdminService.ListAccountIntegrations:input_type -> until.AdminListAccountIntegrationsRequest + 192, // 393: until.AdminService.ListLoops:input_type -> until.ListLoopsRequest + 195, // 394: until.AdminService.GetLoop:input_type -> until.GetLoopRequest + 198, // 395: until.AdminService.ListLoopRuns:input_type -> until.ListLoopRunsRequest + 201, // 396: until.AdminService.GetLoopRun:input_type -> until.GetLoopRunRequest + 202, // 397: until.AdminService.GetLoopRunThreadHistory:input_type -> until.GetLoopRunThreadHistoryRequest + 13, // 398: until.AdminService.ListPullRequests:input_type -> until.ListPullRequestsRequest + 15, // 399: until.AdminService.GetPullRequestByID:input_type -> until.GetPullRequestByIDRequest + 17, // 400: until.AdminService.ListPlanChecksForPR:input_type -> until.ListPlanChecksForPRRequest + 61, // 401: until.AdminService.ListPrincipals:input_type -> until.AdminListPrincipalsRequest + 63, // 402: until.AdminService.GetPrincipal:input_type -> until.AdminGetPrincipalRequest + 66, // 403: until.AdminService.UpsertPrincipalBinding:input_type -> until.AdminUpsertPrincipalBindingRequest + 68, // 404: until.AdminService.DeletePrincipalBinding:input_type -> until.AdminDeletePrincipalBindingRequest + 70, // 405: until.AdminService.UpdatePrincipal:input_type -> until.AdminUpdatePrincipalRequest + 72, // 406: until.AdminService.CreatePrincipalIdentity:input_type -> until.AdminCreatePrincipalIdentityRequest + 74, // 407: until.AdminService.DeletePrincipalIdentity:input_type -> until.AdminDeletePrincipalIdentityRequest + 76, // 408: until.AdminService.SetPrincipalCredential:input_type -> until.AdminSetPrincipalCredentialRequest + 78, // 409: until.AdminService.ListPrincipalCredentialConnections:input_type -> until.AdminListPrincipalCredentialConnectionsRequest + 81, // 410: until.AdminService.DeletePrincipalCredential:input_type -> until.AdminDeletePrincipalCredentialRequest + 19, // 411: until.AdminService.GetPullRequestTimeline:input_type -> until.GetPullRequestTimelineRequest + 39, // 412: until.WorkspaceService.ListOpenPullRequests:output_type -> until.ListOpenPullRequestsResponse + 41, // 413: until.WorkspaceService.GetPullRequest:output_type -> until.GetPullRequestResponse + 208, // 414: until.WorkspaceService.GetPrincipalStatus:output_type -> until.GetPrincipalStatusResponse + 334, // 415: until.WorkspaceService.GetPlanPrompt:output_type -> until.GetPlanPromptResponse + 210, // 416: until.WorkspaceService.GetIntegrationConnectURL:output_type -> until.GetIntegrationConnectURLResponse + 212, // 417: until.WorkspaceService.DisconnectIntegration:output_type -> until.DisconnectIntegrationResponse + 214, // 418: until.WorkspaceService.ConnectByoHttpMcp:output_type -> until.ConnectByoHttpMcpResponse + 216, // 419: until.WorkspaceService.GetGitLabConnection:output_type -> until.GetGitLabConnectionResponse + 218, // 420: until.WorkspaceService.ConnectGitLab:output_type -> until.ConnectGitLabResponse + 220, // 421: until.WorkspaceService.SaveGitLabSigningToken:output_type -> until.SaveGitLabSigningTokenResponse + 298, // 422: until.WorkspaceService.UpsertMyVerifiedBinding:output_type -> until.UpsertMyVerifiedBindingResponse + 302, // 423: until.WorkspaceService.ListMyBindings:output_type -> until.ListMyBindingsResponse + 306, // 424: until.WorkspaceService.GetMyNotificationPreferences:output_type -> until.GetMyNotificationPreferencesResponse + 308, // 425: until.WorkspaceService.UpdateMyNotificationPreferences:output_type -> until.UpdateMyNotificationPreferencesResponse + 310, // 426: until.WorkspaceService.RegisterMyPushSubscription:output_type -> until.RegisterMyPushSubscriptionResponse + 312, // 427: until.WorkspaceService.GetWebPushPublicKey:output_type -> until.GetWebPushPublicKeyResponse + 300, // 428: until.WorkspaceService.UpdateMyDisplayName:output_type -> until.UpdateMyDisplayNameResponse + 316, // 429: until.WorkspaceService.GetPlanCheckSettings:output_type -> until.GetPlanCheckSettingsResponse + 318, // 430: until.WorkspaceService.UpdatePlanCheckSettings:output_type -> until.UpdatePlanCheckSettingsResponse + 331, // 431: until.WorkspaceService.ListIntegrationCatalogue:output_type -> until.ListIntegrationCatalogueResponse + 230, // 432: until.WorkspaceService.CreateWorkspace:output_type -> until.CreateWorkspaceResponse + 232, // 433: until.WorkspaceService.ListMyWorkspaces:output_type -> until.ListMyWorkspacesResponse + 235, // 434: until.WorkspaceService.DiscoverLoginRecoveryCandidates:output_type -> until.DiscoverLoginRecoveryCandidatesResponse + 237, // 435: until.WorkspaceService.RenameWorkspace:output_type -> until.RenameWorkspaceResponse + 274, // 436: until.WorkspaceService.UpdateWorkspaceBranding:output_type -> until.UpdateWorkspaceBrandingResponse + 276, // 437: until.WorkspaceService.CompleteWorkspaceOnboarding:output_type -> until.CompleteWorkspaceOnboardingResponse + 239, // 438: until.WorkspaceService.DeleteWorkspace:output_type -> until.DeleteWorkspaceResponse + 241, // 439: until.WorkspaceService.ListJoinableWorkspaces:output_type -> until.ListJoinableWorkspacesResponse + 245, // 440: until.WorkspaceService.JoinWorkspace:output_type -> until.JoinWorkspaceResponse + 278, // 441: until.WorkspaceService.CreateInvitation:output_type -> until.CreateInvitationResponse + 281, // 442: until.WorkspaceService.CreateInvitations:output_type -> until.CreateInvitationsResponse + 283, // 443: until.WorkspaceService.AcceptInvitation:output_type -> until.AcceptInvitationResponse + 285, // 444: until.WorkspaceService.ListWorkspaceMembers:output_type -> until.ListWorkspaceMembersResponse + 288, // 445: until.WorkspaceService.ResendInvitation:output_type -> until.ResendInvitationResponse + 290, // 446: until.WorkspaceService.RevokeInvitation:output_type -> until.RevokeInvitationResponse + 292, // 447: until.WorkspaceService.RemoveWorkspaceMember:output_type -> until.RemoveWorkspaceMemberResponse + 294, // 448: until.WorkspaceService.UpdateWorkspaceMemberRole:output_type -> until.UpdateWorkspaceMemberRoleResponse + 248, // 449: until.WorkspaceService.ListApprovedEmailDomains:output_type -> until.ListApprovedEmailDomainsResponse + 250, // 450: until.WorkspaceService.AddApprovedEmailDomain:output_type -> until.AddApprovedEmailDomainResponse + 252, // 451: until.WorkspaceService.VerifyApprovedEmailDomain:output_type -> until.VerifyApprovedEmailDomainResponse + 254, // 452: until.WorkspaceService.ResendApprovedEmailDomainCode:output_type -> until.ResendApprovedEmailDomainCodeResponse + 258, // 453: until.WorkspaceService.DeleteApprovedEmailDomain:output_type -> until.DeleteApprovedEmailDomainResponse + 261, // 454: until.WorkspaceService.GetWorkspaceLLMCredentialStatus:output_type -> until.GetWorkspaceLLMCredentialStatusResponse + 263, // 455: until.WorkspaceService.SetWorkspaceLLMCredential:output_type -> until.SetWorkspaceLLMCredentialResponse + 265, // 456: until.WorkspaceService.DeleteWorkspaceLLMCredential:output_type -> until.DeleteWorkspaceLLMCredentialResponse + 268, // 457: until.WorkspaceService.GetMyCursorCredentialStatus:output_type -> until.GetMyCursorCredentialStatusResponse + 270, // 458: until.WorkspaceService.SetMyCursorCredential:output_type -> until.SetMyCursorCredentialResponse + 272, // 459: until.WorkspaceService.DeleteMyCursorCredential:output_type -> until.DeleteMyCursorCredentialResponse + 224, // 460: until.WorkspaceService.GetWorkspaceIntegrationRoles:output_type -> until.GetWorkspaceIntegrationRolesResponse + 226, // 461: until.WorkspaceService.SetWorkspaceIntegrationRoles:output_type -> until.SetWorkspaceIntegrationRolesResponse + 256, // 462: until.WorkspaceService.ResendVerificationEmail:output_type -> until.ResendVerificationEmailResponse + 296, // 463: until.PublicService.GetInvitation:output_type -> until.GetInvitationResponse + 43, // 464: until.AdminService.ExecuteLoop:output_type -> until.ExecuteLoopResponse + 29, // 465: until.AdminService.ListRuns:output_type -> until.ListRunsResponse + 43, // 466: until.AdminService.WatchRun:output_type -> until.ExecuteLoopResponse + 33, // 467: until.AdminService.StreamEvents:output_type -> until.StreamEventsResponse + 35, // 468: until.AdminService.ListEvents:output_type -> until.ListEventsResponse + 37, // 469: until.AdminService.CancelRun:output_type -> until.CancelRunResponse + 43, // 470: until.AdminService.SendQuestion:output_type -> until.ExecuteLoopResponse + 56, // 471: until.AdminService.ListPlans:output_type -> until.AdminListPlansResponse + 59, // 472: until.AdminService.GetPlan:output_type -> until.AdminGetPlanResponse + 84, // 473: until.AdminService.ListReviews:output_type -> until.AdminListReviewsResponse + 87, // 474: until.AdminService.GetReview:output_type -> until.AdminGetReviewResponse + 90, // 475: until.AdminService.ListAccounts:output_type -> until.AdminListAccountsResponse + 93, // 476: until.AdminService.GetAccountSummary:output_type -> until.AdminGetAccountSummaryResponse + 96, // 477: until.AdminService.GetAccountHealthAnalysis:output_type -> until.AdminGetAccountHealthAnalysisResponse + 99, // 478: until.AdminService.ListAccountMetricRepos:output_type -> until.AdminListAccountMetricReposResponse + 101, // 479: until.AdminService.StartAccountMetricsComparison:output_type -> until.AdminStartAccountMetricsComparisonResponse + 105, // 480: until.AdminService.GetAccountMetricsComparisonRun:output_type -> until.AdminGetAccountMetricsComparisonRunResponse + 316, // 481: until.AdminService.GetAccountPlanCheckSettings:output_type -> until.GetPlanCheckSettingsResponse + 318, // 482: until.AdminService.UpdateAccountPlanCheckSettings:output_type -> until.UpdatePlanCheckSettingsResponse + 322, // 483: until.AdminService.GetAccountReviewPolicy:output_type -> until.AdminGetAccountReviewPolicyResponse + 324, // 484: until.AdminService.UpdateAccountReviewPolicy:output_type -> until.AdminUpdateAccountReviewPolicyResponse + 326, // 485: until.AdminService.GetAccountLLMCredentialStatus:output_type -> until.AdminGetAccountLLMCredentialStatusResponse + 329, // 486: until.AdminService.ListAccountIntegrations:output_type -> until.AdminListAccountIntegrationsResponse + 193, // 487: until.AdminService.ListLoops:output_type -> until.ListLoopsResponse + 196, // 488: until.AdminService.GetLoop:output_type -> until.GetLoopResponse + 199, // 489: until.AdminService.ListLoopRuns:output_type -> until.ListLoopRunsResponse + 205, // 490: until.AdminService.GetLoopRun:output_type -> until.GetLoopRunResponse + 204, // 491: until.AdminService.GetLoopRunThreadHistory:output_type -> until.GetLoopRunThreadHistoryResponse + 14, // 492: until.AdminService.ListPullRequests:output_type -> until.ListPullRequestsResponse + 16, // 493: until.AdminService.GetPullRequestByID:output_type -> until.GetPullRequestByIDResponse + 18, // 494: until.AdminService.ListPlanChecksForPR:output_type -> until.ListPlanChecksForPRResponse + 62, // 495: until.AdminService.ListPrincipals:output_type -> until.AdminListPrincipalsResponse + 64, // 496: until.AdminService.GetPrincipal:output_type -> until.AdminGetPrincipalResponse + 67, // 497: until.AdminService.UpsertPrincipalBinding:output_type -> until.AdminUpsertPrincipalBindingResponse + 69, // 498: until.AdminService.DeletePrincipalBinding:output_type -> until.AdminDeletePrincipalBindingResponse + 71, // 499: until.AdminService.UpdatePrincipal:output_type -> until.AdminUpdatePrincipalResponse + 73, // 500: until.AdminService.CreatePrincipalIdentity:output_type -> until.AdminCreatePrincipalIdentityResponse + 75, // 501: until.AdminService.DeletePrincipalIdentity:output_type -> until.AdminDeletePrincipalIdentityResponse + 77, // 502: until.AdminService.SetPrincipalCredential:output_type -> until.AdminSetPrincipalCredentialResponse + 79, // 503: until.AdminService.ListPrincipalCredentialConnections:output_type -> until.AdminListPrincipalCredentialConnectionsResponse + 82, // 504: until.AdminService.DeletePrincipalCredential:output_type -> until.AdminDeletePrincipalCredentialResponse + 22, // 505: until.AdminService.GetPullRequestTimeline:output_type -> until.GetPullRequestTimelineResponse 412, // [412:506] is the sub-list for method output_type 318, // [318:412] is the sub-list for method input_type 318, // [318:318] is the sub-list for extension type_name @@ -27791,16 +27780,16 @@ func file_brent_proto_init() { file_brent_proto_msgTypes[14].OneofWrappers = []any{} file_brent_proto_msgTypes[17].OneofWrappers = []any{} file_brent_proto_msgTypes[30].OneofWrappers = []any{ - (*ExecuteWorkflowResponse_Reasoning)(nil), - (*ExecuteWorkflowResponse_ToolCall)(nil), - (*ExecuteWorkflowResponse_ToolResult)(nil), - (*ExecuteWorkflowResponse_Completion)(nil), - (*ExecuteWorkflowResponse_Error)(nil), - (*ExecuteWorkflowResponse_Status)(nil), - (*ExecuteWorkflowResponse_RunStarted)(nil), - (*ExecuteWorkflowResponse_QaReady)(nil), - (*ExecuteWorkflowResponse_UserQuestion)(nil), - (*ExecuteWorkflowResponse_UserMessage)(nil), + (*ExecuteLoopResponse_Reasoning)(nil), + (*ExecuteLoopResponse_ToolCall)(nil), + (*ExecuteLoopResponse_ToolResult)(nil), + (*ExecuteLoopResponse_Completion)(nil), + (*ExecuteLoopResponse_Error)(nil), + (*ExecuteLoopResponse_Status)(nil), + (*ExecuteLoopResponse_RunStarted)(nil), + (*ExecuteLoopResponse_QaReady)(nil), + (*ExecuteLoopResponse_UserQuestion)(nil), + (*ExecuteLoopResponse_UserMessage)(nil), } file_brent_proto_msgTypes[57].OneofWrappers = []any{} file_brent_proto_msgTypes[72].OneofWrappers = []any{} @@ -27824,14 +27813,14 @@ func file_brent_proto_init() { (*Event_PullRequestUnlinkedFromPlan)(nil), (*Event_OrganisationAppInstallationUpserted)(nil), (*Event_OrganisationAppInstallationDeleted)(nil), - (*Event_DeviationAnalysisStarted)(nil), - (*Event_DeviationAnalysisCompleted)(nil), - (*Event_DeviationAnalysisFailed)(nil), - (*Event_WorkflowRunQueued)(nil), - (*Event_WorkflowRunStarted)(nil), - (*Event_WorkflowRunCompleted)(nil), - (*Event_WorkflowRunFailed)(nil), - (*Event_WorkflowRunCancelled)(nil), + (*Event_PlanCheckStarted)(nil), + (*Event_PlanCheckCompleted)(nil), + (*Event_PlanCheckFailed)(nil), + (*Event_LoopRunQueued)(nil), + (*Event_LoopRunStarted)(nil), + (*Event_LoopRunCompleted)(nil), + (*Event_LoopRunFailed)(nil), + (*Event_LoopRunCancelled)(nil), (*Event_ReviewNoEligibleReviewer)(nil), (*Event_PrincipalCreated)(nil), (*Event_PrincipalUpdated)(nil), @@ -27847,9 +27836,9 @@ func file_brent_proto_init() { (*Event_PlanRestored)(nil), (*Event_LinearWebhook)(nil), (*Event_PullRequestCommentCreated)(nil), - (*Event_DeviationFindingRecorded)(nil), - (*Event_DeviationFindingUpdated)(nil), - (*Event_DeviationFindingResolved)(nil), + (*Event_PlanDifferenceRecorded)(nil), + (*Event_PlanDifferenceUpdated)(nil), + (*Event_PlanDifferenceResolved)(nil), (*Event_AgentRunDispatched)(nil), (*Event_AgentRunStarted)(nil), (*Event_AgentRunPullRequestMatched)(nil), @@ -27859,7 +27848,7 @@ func file_brent_proto_init() { (*Event_AgentRunCancelled)(nil), (*Event_AgentRunGatePassed)(nil), (*Event_PullRequestLinkedToAgentRun)(nil), - (*Event_WorkflowIngested)(nil), + (*Event_LoopIngested)(nil), (*Event_PullRequestReviewRequested)(nil), (*Event_PullRequestApproved)(nil), (*Event_PullRequestChangesRequested)(nil), @@ -27882,8 +27871,8 @@ func file_brent_proto_init() { (*Event_WorkspaceMemberJoined)(nil), (*Event_WorkspaceMemberLeft)(nil), (*Event_ComposioTriggerMessage)(nil), - (*Event_DeviationFindingAcknowledged)(nil), - (*Event_DeviationFindingAcknowledgementCleared)(nil), + (*Event_PlanDifferenceAcknowledged)(nil), + (*Event_PlanDifferenceAcknowledgementCleared)(nil), (*Event_PlanReviewPolicyDecided)(nil), (*Event_ReviewRestored)(nil), (*Event_WorkspaceReviewPolicyUpdated)(nil), diff --git a/go/sdp-go/brent_descriptor_test.go b/go/sdp-go/brent_descriptor_test.go index f0f3352f..cae9e81e 100644 --- a/go/sdp-go/brent_descriptor_test.go +++ b/go/sdp-go/brent_descriptor_test.go @@ -3,15 +3,20 @@ package sdp import ( "testing" + "google.golang.org/protobuf/proto" "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/types/descriptorpb" ) func TestPreferredIDEContractIsRemovedAndReserved(t *testing.T) { t.Parallel() - service := File_brent_proto.Services().ByName("BrentService") + service := File_brent_proto.Services().ByName("WorkspaceService") + if service == nil { + t.Fatal("WorkspaceService descriptor missing") + } if service.Methods().ByName("SetPreferredIDE") != nil { - t.Fatal("BrentService must not expose SetPreferredIDE") + t.Fatal("WorkspaceService must not expose SetPreferredIDE") } messages := File_brent_proto.Messages() @@ -36,3 +41,84 @@ func TestPreferredIDEContractIsRemovedAndReserved(t *testing.T) { t.Fatal("GetPrincipalStatusResponse preferred_ide name must be reserved") } } + +// TestENG5923FieldNumbersUnchanged pins the representative field / oneof / +// option numbers the Until rename must preserve (ENG-5960 Part 2). +func TestENG5923FieldNumbersUnchanged(t *testing.T) { + t.Parallel() + + messages := File_brent_proto.Messages() + + t.Run("blocking_difference_tags_1_2_3", func(t *testing.T) { + t.Parallel() + var msg protoreflect.MessageDescriptor + for i := range messages.Len() { + m := messages.Get(i) + if m.Fields().ByName("blocking_difference_tags") != nil && + m.Fields().ByName("blocking_difference_tags_updated_by") != nil { + msg = m + break + } + } + if msg == nil { + t.Fatal("no message carries blocking_difference_tags fields 1-3") + } + assertFieldNumber(t, msg, "blocking_difference_tags", 1) + assertFieldNumber(t, msg, "blocking_difference_tags_updated_by", 2) + assertFieldNumber(t, msg, "blocking_difference_tags_updated_at", 3) + }) + + t.Run("event_oneof_plan_check_completed_28_loop_run_queued_30", func(t *testing.T) { + t.Parallel() + event := messages.ByName("Event") + if event == nil { + t.Fatal("Event message missing") + } + assertFieldNumber(t, event, "plan_check_completed", 28) + assertFieldNumber(t, event, "loop_run_queued", 30) + }) + + t.Run("applied_blocking_difference_tags_10", func(t *testing.T) { + t.Parallel() + msg := messages.ByName("PlanCheckCompleted") + if msg == nil { + t.Fatal("PlanCheckCompleted message missing") + } + assertFieldNumber(t, msg, "applied_blocking_difference_tags", 10) + }) + + t.Run("embedded_json_option_50001", func(t *testing.T) { + t.Parallel() + github := messages.ByName("GitHubWebhook") + if github == nil { + t.Fatal("GitHubWebhook message missing") + } + field := github.Fields().ByName("event_payload") + if field == nil { + t.Fatal("GitHubWebhook.event_payload missing") + } + optsMsg := field.Options().(*descriptorpb.FieldOptions) + if optsMsg == nil { + t.Fatal("event_payload has no field options") + } + if E_EmbeddedJson.TypeDescriptor().Number() != 50001 { + t.Fatalf("E_EmbeddedJson number=%d want 50001", E_EmbeddedJson.TypeDescriptor().Number()) + } + val := proto.GetExtension(optsMsg, E_EmbeddedJson) + got, ok := val.(bool) + if !ok || !got { + t.Fatalf("embedded_json extension: got %v (%T), want true", val, val) + } + }) +} + +func assertFieldNumber(t *testing.T, msg protoreflect.MessageDescriptor, name protoreflect.Name, number protoreflect.FieldNumber) { + t.Helper() + field := msg.Fields().ByName(name) + if field == nil { + t.Fatalf("%s.%s missing", msg.Name(), name) + } + if field.Number() != number { + t.Fatalf("%s.%s number=%d want %d", msg.Name(), name, field.Number(), number) + } +} diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go index 71c7572c..595df655 100644 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ b/go/sdp-go/sdpconnect/brent.connect.go @@ -22,12 +22,12 @@ import ( const _ = connect.IsAtLeastVersion1_13_0 const ( - // BrentServiceName is the fully-qualified name of the BrentService service. - BrentServiceName = "brent.BrentService" - // BrentPublicServiceName is the fully-qualified name of the BrentPublicService service. - BrentPublicServiceName = "brent.BrentPublicService" - // BrentAdminServiceName is the fully-qualified name of the BrentAdminService service. - BrentAdminServiceName = "brent.BrentAdminService" + // WorkspaceServiceName is the fully-qualified name of the WorkspaceService service. + WorkspaceServiceName = "until.WorkspaceService" + // PublicServiceName is the fully-qualified name of the PublicService service. + PublicServiceName = "until.PublicService" + // UntilAdminServiceName is the fully-qualified name of the UntilAdminService service. + UntilAdminServiceName = "until.AdminService" ) // These constants are the fully-qualified names of the RPCs defined in this package. They're @@ -38,292 +38,282 @@ const ( // reflection-formatted method names, remove the leading slash and convert the remaining slash to a // period. const ( - // BrentServiceListOpenPullRequestsProcedure is the fully-qualified name of the BrentService's - // ListOpenPullRequests RPC. - BrentServiceListOpenPullRequestsProcedure = "/brent.BrentService/ListOpenPullRequests" - // BrentServiceGetPullRequestProcedure is the fully-qualified name of the BrentService's + // WorkspaceServiceListOpenPullRequestsProcedure is the fully-qualified name of the + // WorkspaceService's ListOpenPullRequests RPC. + WorkspaceServiceListOpenPullRequestsProcedure = "/until.WorkspaceService/ListOpenPullRequests" + // WorkspaceServiceGetPullRequestProcedure is the fully-qualified name of the WorkspaceService's // GetPullRequest RPC. - BrentServiceGetPullRequestProcedure = "/brent.BrentService/GetPullRequest" - // BrentServiceGetPrincipalStatusProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceGetPullRequestProcedure = "/until.WorkspaceService/GetPullRequest" + // WorkspaceServiceGetPrincipalStatusProcedure is the fully-qualified name of the WorkspaceService's // GetPrincipalStatus RPC. - BrentServiceGetPrincipalStatusProcedure = "/brent.BrentService/GetPrincipalStatus" - // BrentServiceGetPlanPromptProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceGetPrincipalStatusProcedure = "/until.WorkspaceService/GetPrincipalStatus" + // WorkspaceServiceGetPlanPromptProcedure is the fully-qualified name of the WorkspaceService's // GetPlanPrompt RPC. - BrentServiceGetPlanPromptProcedure = "/brent.BrentService/GetPlanPrompt" - // BrentServiceGetIntegrationConnectURLProcedure is the fully-qualified name of the BrentService's - // GetIntegrationConnectURL RPC. - BrentServiceGetIntegrationConnectURLProcedure = "/brent.BrentService/GetIntegrationConnectURL" - // BrentServiceDisconnectIntegrationProcedure is the fully-qualified name of the BrentService's - // DisconnectIntegration RPC. - BrentServiceDisconnectIntegrationProcedure = "/brent.BrentService/DisconnectIntegration" - // BrentServiceConnectByoHttpMcpProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceGetPlanPromptProcedure = "/until.WorkspaceService/GetPlanPrompt" + // WorkspaceServiceGetIntegrationConnectURLProcedure is the fully-qualified name of the + // WorkspaceService's GetIntegrationConnectURL RPC. + WorkspaceServiceGetIntegrationConnectURLProcedure = "/until.WorkspaceService/GetIntegrationConnectURL" + // WorkspaceServiceDisconnectIntegrationProcedure is the fully-qualified name of the + // WorkspaceService's DisconnectIntegration RPC. + WorkspaceServiceDisconnectIntegrationProcedure = "/until.WorkspaceService/DisconnectIntegration" + // WorkspaceServiceConnectByoHttpMcpProcedure is the fully-qualified name of the WorkspaceService's // ConnectByoHttpMcp RPC. - BrentServiceConnectByoHttpMcpProcedure = "/brent.BrentService/ConnectByoHttpMcp" - // BrentServiceGetGitLabConnectionProcedure is the fully-qualified name of the BrentService's - // GetGitLabConnection RPC. - BrentServiceGetGitLabConnectionProcedure = "/brent.BrentService/GetGitLabConnection" - // BrentServiceConnectGitLabProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceConnectByoHttpMcpProcedure = "/until.WorkspaceService/ConnectByoHttpMcp" + // WorkspaceServiceGetGitLabConnectionProcedure is the fully-qualified name of the + // WorkspaceService's GetGitLabConnection RPC. + WorkspaceServiceGetGitLabConnectionProcedure = "/until.WorkspaceService/GetGitLabConnection" + // WorkspaceServiceConnectGitLabProcedure is the fully-qualified name of the WorkspaceService's // ConnectGitLab RPC. - BrentServiceConnectGitLabProcedure = "/brent.BrentService/ConnectGitLab" - // BrentServiceSaveGitLabSigningTokenProcedure is the fully-qualified name of the BrentService's - // SaveGitLabSigningToken RPC. - BrentServiceSaveGitLabSigningTokenProcedure = "/brent.BrentService/SaveGitLabSigningToken" - // BrentServiceUpsertMyVerifiedBindingProcedure is the fully-qualified name of the BrentService's - // UpsertMyVerifiedBinding RPC. - BrentServiceUpsertMyVerifiedBindingProcedure = "/brent.BrentService/UpsertMyVerifiedBinding" - // BrentServiceListMyBindingsProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceConnectGitLabProcedure = "/until.WorkspaceService/ConnectGitLab" + // WorkspaceServiceSaveGitLabSigningTokenProcedure is the fully-qualified name of the + // WorkspaceService's SaveGitLabSigningToken RPC. + WorkspaceServiceSaveGitLabSigningTokenProcedure = "/until.WorkspaceService/SaveGitLabSigningToken" + // WorkspaceServiceUpsertMyVerifiedBindingProcedure is the fully-qualified name of the + // WorkspaceService's UpsertMyVerifiedBinding RPC. + WorkspaceServiceUpsertMyVerifiedBindingProcedure = "/until.WorkspaceService/UpsertMyVerifiedBinding" + // WorkspaceServiceListMyBindingsProcedure is the fully-qualified name of the WorkspaceService's // ListMyBindings RPC. - BrentServiceListMyBindingsProcedure = "/brent.BrentService/ListMyBindings" - // BrentServiceGetMyNotificationPreferencesProcedure is the fully-qualified name of the - // BrentService's GetMyNotificationPreferences RPC. - BrentServiceGetMyNotificationPreferencesProcedure = "/brent.BrentService/GetMyNotificationPreferences" - // BrentServiceUpdateMyNotificationPreferencesProcedure is the fully-qualified name of the - // BrentService's UpdateMyNotificationPreferences RPC. - BrentServiceUpdateMyNotificationPreferencesProcedure = "/brent.BrentService/UpdateMyNotificationPreferences" - // BrentServiceRegisterMyPushSubscriptionProcedure is the fully-qualified name of the BrentService's - // RegisterMyPushSubscription RPC. - BrentServiceRegisterMyPushSubscriptionProcedure = "/brent.BrentService/RegisterMyPushSubscription" - // BrentServiceGetWebPushPublicKeyProcedure is the fully-qualified name of the BrentService's - // GetWebPushPublicKey RPC. - BrentServiceGetWebPushPublicKeyProcedure = "/brent.BrentService/GetWebPushPublicKey" - // BrentServiceUpdateMyDisplayNameProcedure is the fully-qualified name of the BrentService's - // UpdateMyDisplayName RPC. - BrentServiceUpdateMyDisplayNameProcedure = "/brent.BrentService/UpdateMyDisplayName" - // BrentServiceGetBrentSettingsProcedure is the fully-qualified name of the BrentService's - // GetBrentSettings RPC. - BrentServiceGetBrentSettingsProcedure = "/brent.BrentService/GetBrentSettings" - // BrentServiceUpdateBrentSettingsProcedure is the fully-qualified name of the BrentService's - // UpdateBrentSettings RPC. - BrentServiceUpdateBrentSettingsProcedure = "/brent.BrentService/UpdateBrentSettings" - // BrentServiceListIntegrationCatalogueProcedure is the fully-qualified name of the BrentService's - // ListIntegrationCatalogue RPC. - BrentServiceListIntegrationCatalogueProcedure = "/brent.BrentService/ListIntegrationCatalogue" - // BrentServiceCreateWorkspaceProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceListMyBindingsProcedure = "/until.WorkspaceService/ListMyBindings" + // WorkspaceServiceGetMyNotificationPreferencesProcedure is the fully-qualified name of the + // WorkspaceService's GetMyNotificationPreferences RPC. + WorkspaceServiceGetMyNotificationPreferencesProcedure = "/until.WorkspaceService/GetMyNotificationPreferences" + // WorkspaceServiceUpdateMyNotificationPreferencesProcedure is the fully-qualified name of the + // WorkspaceService's UpdateMyNotificationPreferences RPC. + WorkspaceServiceUpdateMyNotificationPreferencesProcedure = "/until.WorkspaceService/UpdateMyNotificationPreferences" + // WorkspaceServiceRegisterMyPushSubscriptionProcedure is the fully-qualified name of the + // WorkspaceService's RegisterMyPushSubscription RPC. + WorkspaceServiceRegisterMyPushSubscriptionProcedure = "/until.WorkspaceService/RegisterMyPushSubscription" + // WorkspaceServiceGetWebPushPublicKeyProcedure is the fully-qualified name of the + // WorkspaceService's GetWebPushPublicKey RPC. + WorkspaceServiceGetWebPushPublicKeyProcedure = "/until.WorkspaceService/GetWebPushPublicKey" + // WorkspaceServiceUpdateMyDisplayNameProcedure is the fully-qualified name of the + // WorkspaceService's UpdateMyDisplayName RPC. + WorkspaceServiceUpdateMyDisplayNameProcedure = "/until.WorkspaceService/UpdateMyDisplayName" + // WorkspaceServiceGetPlanCheckSettingsProcedure is the fully-qualified name of the + // WorkspaceService's GetPlanCheckSettings RPC. + WorkspaceServiceGetPlanCheckSettingsProcedure = "/until.WorkspaceService/GetPlanCheckSettings" + // WorkspaceServiceUpdatePlanCheckSettingsProcedure is the fully-qualified name of the + // WorkspaceService's UpdatePlanCheckSettings RPC. + WorkspaceServiceUpdatePlanCheckSettingsProcedure = "/until.WorkspaceService/UpdatePlanCheckSettings" + // WorkspaceServiceListIntegrationCatalogueProcedure is the fully-qualified name of the + // WorkspaceService's ListIntegrationCatalogue RPC. + WorkspaceServiceListIntegrationCatalogueProcedure = "/until.WorkspaceService/ListIntegrationCatalogue" + // WorkspaceServiceCreateWorkspaceProcedure is the fully-qualified name of the WorkspaceService's // CreateWorkspace RPC. - BrentServiceCreateWorkspaceProcedure = "/brent.BrentService/CreateWorkspace" - // BrentServiceListMyWorkspacesProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceCreateWorkspaceProcedure = "/until.WorkspaceService/CreateWorkspace" + // WorkspaceServiceListMyWorkspacesProcedure is the fully-qualified name of the WorkspaceService's // ListMyWorkspaces RPC. - BrentServiceListMyWorkspacesProcedure = "/brent.BrentService/ListMyWorkspaces" - // BrentServiceDiscoverLoginRecoveryCandidatesProcedure is the fully-qualified name of the - // BrentService's DiscoverLoginRecoveryCandidates RPC. - BrentServiceDiscoverLoginRecoveryCandidatesProcedure = "/brent.BrentService/DiscoverLoginRecoveryCandidates" - // BrentServiceRenameWorkspaceProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceListMyWorkspacesProcedure = "/until.WorkspaceService/ListMyWorkspaces" + // WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure is the fully-qualified name of the + // WorkspaceService's DiscoverLoginRecoveryCandidates RPC. + WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure = "/until.WorkspaceService/DiscoverLoginRecoveryCandidates" + // WorkspaceServiceRenameWorkspaceProcedure is the fully-qualified name of the WorkspaceService's // RenameWorkspace RPC. - BrentServiceRenameWorkspaceProcedure = "/brent.BrentService/RenameWorkspace" - // BrentServiceUpdateWorkspaceBrandingProcedure is the fully-qualified name of the BrentService's - // UpdateWorkspaceBranding RPC. - BrentServiceUpdateWorkspaceBrandingProcedure = "/brent.BrentService/UpdateWorkspaceBranding" - // BrentServiceCompleteWorkspaceOnboardingProcedure is the fully-qualified name of the - // BrentService's CompleteWorkspaceOnboarding RPC. - BrentServiceCompleteWorkspaceOnboardingProcedure = "/brent.BrentService/CompleteWorkspaceOnboarding" - // BrentServiceDeleteWorkspaceProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceRenameWorkspaceProcedure = "/until.WorkspaceService/RenameWorkspace" + // WorkspaceServiceUpdateWorkspaceBrandingProcedure is the fully-qualified name of the + // WorkspaceService's UpdateWorkspaceBranding RPC. + WorkspaceServiceUpdateWorkspaceBrandingProcedure = "/until.WorkspaceService/UpdateWorkspaceBranding" + // WorkspaceServiceCompleteWorkspaceOnboardingProcedure is the fully-qualified name of the + // WorkspaceService's CompleteWorkspaceOnboarding RPC. + WorkspaceServiceCompleteWorkspaceOnboardingProcedure = "/until.WorkspaceService/CompleteWorkspaceOnboarding" + // WorkspaceServiceDeleteWorkspaceProcedure is the fully-qualified name of the WorkspaceService's // DeleteWorkspace RPC. - BrentServiceDeleteWorkspaceProcedure = "/brent.BrentService/DeleteWorkspace" - // BrentServiceListJoinableWorkspacesProcedure is the fully-qualified name of the BrentService's - // ListJoinableWorkspaces RPC. - BrentServiceListJoinableWorkspacesProcedure = "/brent.BrentService/ListJoinableWorkspaces" - // BrentServiceJoinWorkspaceProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceDeleteWorkspaceProcedure = "/until.WorkspaceService/DeleteWorkspace" + // WorkspaceServiceListJoinableWorkspacesProcedure is the fully-qualified name of the + // WorkspaceService's ListJoinableWorkspaces RPC. + WorkspaceServiceListJoinableWorkspacesProcedure = "/until.WorkspaceService/ListJoinableWorkspaces" + // WorkspaceServiceJoinWorkspaceProcedure is the fully-qualified name of the WorkspaceService's // JoinWorkspace RPC. - BrentServiceJoinWorkspaceProcedure = "/brent.BrentService/JoinWorkspace" - // BrentServiceCreateInvitationProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceJoinWorkspaceProcedure = "/until.WorkspaceService/JoinWorkspace" + // WorkspaceServiceCreateInvitationProcedure is the fully-qualified name of the WorkspaceService's // CreateInvitation RPC. - BrentServiceCreateInvitationProcedure = "/brent.BrentService/CreateInvitation" - // BrentServiceCreateInvitationsProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceCreateInvitationProcedure = "/until.WorkspaceService/CreateInvitation" + // WorkspaceServiceCreateInvitationsProcedure is the fully-qualified name of the WorkspaceService's // CreateInvitations RPC. - BrentServiceCreateInvitationsProcedure = "/brent.BrentService/CreateInvitations" - // BrentServiceAcceptInvitationProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceCreateInvitationsProcedure = "/until.WorkspaceService/CreateInvitations" + // WorkspaceServiceAcceptInvitationProcedure is the fully-qualified name of the WorkspaceService's // AcceptInvitation RPC. - BrentServiceAcceptInvitationProcedure = "/brent.BrentService/AcceptInvitation" - // BrentServiceListWorkspaceMembersProcedure is the fully-qualified name of the BrentService's - // ListWorkspaceMembers RPC. - BrentServiceListWorkspaceMembersProcedure = "/brent.BrentService/ListWorkspaceMembers" - // BrentServiceResendInvitationProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceAcceptInvitationProcedure = "/until.WorkspaceService/AcceptInvitation" + // WorkspaceServiceListWorkspaceMembersProcedure is the fully-qualified name of the + // WorkspaceService's ListWorkspaceMembers RPC. + WorkspaceServiceListWorkspaceMembersProcedure = "/until.WorkspaceService/ListWorkspaceMembers" + // WorkspaceServiceResendInvitationProcedure is the fully-qualified name of the WorkspaceService's // ResendInvitation RPC. - BrentServiceResendInvitationProcedure = "/brent.BrentService/ResendInvitation" - // BrentServiceRevokeInvitationProcedure is the fully-qualified name of the BrentService's + WorkspaceServiceResendInvitationProcedure = "/until.WorkspaceService/ResendInvitation" + // WorkspaceServiceRevokeInvitationProcedure is the fully-qualified name of the WorkspaceService's // RevokeInvitation RPC. - BrentServiceRevokeInvitationProcedure = "/brent.BrentService/RevokeInvitation" - // BrentServiceRemoveWorkspaceMemberProcedure is the fully-qualified name of the BrentService's - // RemoveWorkspaceMember RPC. - BrentServiceRemoveWorkspaceMemberProcedure = "/brent.BrentService/RemoveWorkspaceMember" - // BrentServiceUpdateWorkspaceMemberRoleProcedure is the fully-qualified name of the BrentService's - // UpdateWorkspaceMemberRole RPC. - BrentServiceUpdateWorkspaceMemberRoleProcedure = "/brent.BrentService/UpdateWorkspaceMemberRole" - // BrentServiceListApprovedEmailDomainsProcedure is the fully-qualified name of the BrentService's - // ListApprovedEmailDomains RPC. - BrentServiceListApprovedEmailDomainsProcedure = "/brent.BrentService/ListApprovedEmailDomains" - // BrentServiceAddApprovedEmailDomainProcedure is the fully-qualified name of the BrentService's - // AddApprovedEmailDomain RPC. - BrentServiceAddApprovedEmailDomainProcedure = "/brent.BrentService/AddApprovedEmailDomain" - // BrentServiceVerifyApprovedEmailDomainProcedure is the fully-qualified name of the BrentService's - // VerifyApprovedEmailDomain RPC. - BrentServiceVerifyApprovedEmailDomainProcedure = "/brent.BrentService/VerifyApprovedEmailDomain" - // BrentServiceResendApprovedEmailDomainCodeProcedure is the fully-qualified name of the - // BrentService's ResendApprovedEmailDomainCode RPC. - BrentServiceResendApprovedEmailDomainCodeProcedure = "/brent.BrentService/ResendApprovedEmailDomainCode" - // BrentServiceDeleteApprovedEmailDomainProcedure is the fully-qualified name of the BrentService's - // DeleteApprovedEmailDomain RPC. - BrentServiceDeleteApprovedEmailDomainProcedure = "/brent.BrentService/DeleteApprovedEmailDomain" - // BrentServiceGetWorkspaceLLMCredentialStatusProcedure is the fully-qualified name of the - // BrentService's GetWorkspaceLLMCredentialStatus RPC. - BrentServiceGetWorkspaceLLMCredentialStatusProcedure = "/brent.BrentService/GetWorkspaceLLMCredentialStatus" - // BrentServiceSetWorkspaceLLMCredentialProcedure is the fully-qualified name of the BrentService's - // SetWorkspaceLLMCredential RPC. - BrentServiceSetWorkspaceLLMCredentialProcedure = "/brent.BrentService/SetWorkspaceLLMCredential" - // BrentServiceDeleteWorkspaceLLMCredentialProcedure is the fully-qualified name of the - // BrentService's DeleteWorkspaceLLMCredential RPC. - BrentServiceDeleteWorkspaceLLMCredentialProcedure = "/brent.BrentService/DeleteWorkspaceLLMCredential" - // BrentServiceGetMyCursorCredentialStatusProcedure is the fully-qualified name of the - // BrentService's GetMyCursorCredentialStatus RPC. - BrentServiceGetMyCursorCredentialStatusProcedure = "/brent.BrentService/GetMyCursorCredentialStatus" - // BrentServiceSetMyCursorCredentialProcedure is the fully-qualified name of the BrentService's - // SetMyCursorCredential RPC. - BrentServiceSetMyCursorCredentialProcedure = "/brent.BrentService/SetMyCursorCredential" - // BrentServiceDeleteMyCursorCredentialProcedure is the fully-qualified name of the BrentService's - // DeleteMyCursorCredential RPC. - BrentServiceDeleteMyCursorCredentialProcedure = "/brent.BrentService/DeleteMyCursorCredential" - // BrentServiceGetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the - // BrentService's GetWorkspaceIntegrationRoles RPC. - BrentServiceGetWorkspaceIntegrationRolesProcedure = "/brent.BrentService/GetWorkspaceIntegrationRoles" - // BrentServiceSetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the - // BrentService's SetWorkspaceIntegrationRoles RPC. - BrentServiceSetWorkspaceIntegrationRolesProcedure = "/brent.BrentService/SetWorkspaceIntegrationRoles" - // BrentServiceResendVerificationEmailProcedure is the fully-qualified name of the BrentService's - // ResendVerificationEmail RPC. - BrentServiceResendVerificationEmailProcedure = "/brent.BrentService/ResendVerificationEmail" - // BrentPublicServiceGetInvitationProcedure is the fully-qualified name of the BrentPublicService's + WorkspaceServiceRevokeInvitationProcedure = "/until.WorkspaceService/RevokeInvitation" + // WorkspaceServiceRemoveWorkspaceMemberProcedure is the fully-qualified name of the + // WorkspaceService's RemoveWorkspaceMember RPC. + WorkspaceServiceRemoveWorkspaceMemberProcedure = "/until.WorkspaceService/RemoveWorkspaceMember" + // WorkspaceServiceUpdateWorkspaceMemberRoleProcedure is the fully-qualified name of the + // WorkspaceService's UpdateWorkspaceMemberRole RPC. + WorkspaceServiceUpdateWorkspaceMemberRoleProcedure = "/until.WorkspaceService/UpdateWorkspaceMemberRole" + // WorkspaceServiceListApprovedEmailDomainsProcedure is the fully-qualified name of the + // WorkspaceService's ListApprovedEmailDomains RPC. + WorkspaceServiceListApprovedEmailDomainsProcedure = "/until.WorkspaceService/ListApprovedEmailDomains" + // WorkspaceServiceAddApprovedEmailDomainProcedure is the fully-qualified name of the + // WorkspaceService's AddApprovedEmailDomain RPC. + WorkspaceServiceAddApprovedEmailDomainProcedure = "/until.WorkspaceService/AddApprovedEmailDomain" + // WorkspaceServiceVerifyApprovedEmailDomainProcedure is the fully-qualified name of the + // WorkspaceService's VerifyApprovedEmailDomain RPC. + WorkspaceServiceVerifyApprovedEmailDomainProcedure = "/until.WorkspaceService/VerifyApprovedEmailDomain" + // WorkspaceServiceResendApprovedEmailDomainCodeProcedure is the fully-qualified name of the + // WorkspaceService's ResendApprovedEmailDomainCode RPC. + WorkspaceServiceResendApprovedEmailDomainCodeProcedure = "/until.WorkspaceService/ResendApprovedEmailDomainCode" + // WorkspaceServiceDeleteApprovedEmailDomainProcedure is the fully-qualified name of the + // WorkspaceService's DeleteApprovedEmailDomain RPC. + WorkspaceServiceDeleteApprovedEmailDomainProcedure = "/until.WorkspaceService/DeleteApprovedEmailDomain" + // WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure is the fully-qualified name of the + // WorkspaceService's GetWorkspaceLLMCredentialStatus RPC. + WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure = "/until.WorkspaceService/GetWorkspaceLLMCredentialStatus" + // WorkspaceServiceSetWorkspaceLLMCredentialProcedure is the fully-qualified name of the + // WorkspaceService's SetWorkspaceLLMCredential RPC. + WorkspaceServiceSetWorkspaceLLMCredentialProcedure = "/until.WorkspaceService/SetWorkspaceLLMCredential" + // WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure is the fully-qualified name of the + // WorkspaceService's DeleteWorkspaceLLMCredential RPC. + WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure = "/until.WorkspaceService/DeleteWorkspaceLLMCredential" + // WorkspaceServiceGetMyCursorCredentialStatusProcedure is the fully-qualified name of the + // WorkspaceService's GetMyCursorCredentialStatus RPC. + WorkspaceServiceGetMyCursorCredentialStatusProcedure = "/until.WorkspaceService/GetMyCursorCredentialStatus" + // WorkspaceServiceSetMyCursorCredentialProcedure is the fully-qualified name of the + // WorkspaceService's SetMyCursorCredential RPC. + WorkspaceServiceSetMyCursorCredentialProcedure = "/until.WorkspaceService/SetMyCursorCredential" + // WorkspaceServiceDeleteMyCursorCredentialProcedure is the fully-qualified name of the + // WorkspaceService's DeleteMyCursorCredential RPC. + WorkspaceServiceDeleteMyCursorCredentialProcedure = "/until.WorkspaceService/DeleteMyCursorCredential" + // WorkspaceServiceGetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the + // WorkspaceService's GetWorkspaceIntegrationRoles RPC. + WorkspaceServiceGetWorkspaceIntegrationRolesProcedure = "/until.WorkspaceService/GetWorkspaceIntegrationRoles" + // WorkspaceServiceSetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the + // WorkspaceService's SetWorkspaceIntegrationRoles RPC. + WorkspaceServiceSetWorkspaceIntegrationRolesProcedure = "/until.WorkspaceService/SetWorkspaceIntegrationRoles" + // WorkspaceServiceResendVerificationEmailProcedure is the fully-qualified name of the + // WorkspaceService's ResendVerificationEmail RPC. + WorkspaceServiceResendVerificationEmailProcedure = "/until.WorkspaceService/ResendVerificationEmail" + // PublicServiceGetInvitationProcedure is the fully-qualified name of the PublicService's // GetInvitation RPC. - BrentPublicServiceGetInvitationProcedure = "/brent.BrentPublicService/GetInvitation" - // BrentAdminServiceExecuteWorkflowProcedure is the fully-qualified name of the BrentAdminService's - // ExecuteWorkflow RPC. - BrentAdminServiceExecuteWorkflowProcedure = "/brent.BrentAdminService/ExecuteWorkflow" - // BrentAdminServiceListRunsProcedure is the fully-qualified name of the BrentAdminService's - // ListRuns RPC. - BrentAdminServiceListRunsProcedure = "/brent.BrentAdminService/ListRuns" - // BrentAdminServiceWatchRunProcedure is the fully-qualified name of the BrentAdminService's - // WatchRun RPC. - BrentAdminServiceWatchRunProcedure = "/brent.BrentAdminService/WatchRun" - // BrentAdminServiceStreamEventsProcedure is the fully-qualified name of the BrentAdminService's - // StreamEvents RPC. - BrentAdminServiceStreamEventsProcedure = "/brent.BrentAdminService/StreamEvents" - // BrentAdminServiceListEventsProcedure is the fully-qualified name of the BrentAdminService's - // ListEvents RPC. - BrentAdminServiceListEventsProcedure = "/brent.BrentAdminService/ListEvents" - // BrentAdminServiceCancelRunProcedure is the fully-qualified name of the BrentAdminService's - // CancelRun RPC. - BrentAdminServiceCancelRunProcedure = "/brent.BrentAdminService/CancelRun" - // BrentAdminServiceSendQuestionProcedure is the fully-qualified name of the BrentAdminService's - // SendQuestion RPC. - BrentAdminServiceSendQuestionProcedure = "/brent.BrentAdminService/SendQuestion" - // BrentAdminServiceListPlansProcedure is the fully-qualified name of the BrentAdminService's - // ListPlans RPC. - BrentAdminServiceListPlansProcedure = "/brent.BrentAdminService/ListPlans" - // BrentAdminServiceGetPlanProcedure is the fully-qualified name of the BrentAdminService's GetPlan + PublicServiceGetInvitationProcedure = "/until.PublicService/GetInvitation" + // UntilAdminServiceExecuteLoopProcedure is the fully-qualified name of the UntilAdminService's ExecuteLoop // RPC. - BrentAdminServiceGetPlanProcedure = "/brent.BrentAdminService/GetPlan" - // BrentAdminServiceListReviewsProcedure is the fully-qualified name of the BrentAdminService's - // ListReviews RPC. - BrentAdminServiceListReviewsProcedure = "/brent.BrentAdminService/ListReviews" - // BrentAdminServiceGetReviewProcedure is the fully-qualified name of the BrentAdminService's - // GetReview RPC. - BrentAdminServiceGetReviewProcedure = "/brent.BrentAdminService/GetReview" - // BrentAdminServiceListAccountsProcedure is the fully-qualified name of the BrentAdminService's - // ListAccounts RPC. - BrentAdminServiceListAccountsProcedure = "/brent.BrentAdminService/ListAccounts" - // BrentAdminServiceGetAccountSummaryProcedure is the fully-qualified name of the - // BrentAdminService's GetAccountSummary RPC. - BrentAdminServiceGetAccountSummaryProcedure = "/brent.BrentAdminService/GetAccountSummary" - // BrentAdminServiceGetAccountHealthAnalysisProcedure is the fully-qualified name of the - // BrentAdminService's GetAccountHealthAnalysis RPC. - BrentAdminServiceGetAccountHealthAnalysisProcedure = "/brent.BrentAdminService/GetAccountHealthAnalysis" - // BrentAdminServiceListAccountMetricReposProcedure is the fully-qualified name of the - // BrentAdminService's ListAccountMetricRepos RPC. - BrentAdminServiceListAccountMetricReposProcedure = "/brent.BrentAdminService/ListAccountMetricRepos" - // BrentAdminServiceStartAccountMetricsComparisonProcedure is the fully-qualified name of the - // BrentAdminService's StartAccountMetricsComparison RPC. - BrentAdminServiceStartAccountMetricsComparisonProcedure = "/brent.BrentAdminService/StartAccountMetricsComparison" - // BrentAdminServiceGetAccountMetricsComparisonRunProcedure is the fully-qualified name of the - // BrentAdminService's GetAccountMetricsComparisonRun RPC. - BrentAdminServiceGetAccountMetricsComparisonRunProcedure = "/brent.BrentAdminService/GetAccountMetricsComparisonRun" - // BrentAdminServiceGetAccountBrentSettingsProcedure is the fully-qualified name of the - // BrentAdminService's GetAccountBrentSettings RPC. - BrentAdminServiceGetAccountBrentSettingsProcedure = "/brent.BrentAdminService/GetAccountBrentSettings" - // BrentAdminServiceUpdateAccountBrentSettingsProcedure is the fully-qualified name of the - // BrentAdminService's UpdateAccountBrentSettings RPC. - BrentAdminServiceUpdateAccountBrentSettingsProcedure = "/brent.BrentAdminService/UpdateAccountBrentSettings" - // BrentAdminServiceGetAccountReviewPolicyProcedure is the fully-qualified name of the - // BrentAdminService's GetAccountReviewPolicy RPC. - BrentAdminServiceGetAccountReviewPolicyProcedure = "/brent.BrentAdminService/GetAccountReviewPolicy" - // BrentAdminServiceUpdateAccountReviewPolicyProcedure is the fully-qualified name of the - // BrentAdminService's UpdateAccountReviewPolicy RPC. - BrentAdminServiceUpdateAccountReviewPolicyProcedure = "/brent.BrentAdminService/UpdateAccountReviewPolicy" - // BrentAdminServiceGetAccountLLMCredentialStatusProcedure is the fully-qualified name of the - // BrentAdminService's GetAccountLLMCredentialStatus RPC. - BrentAdminServiceGetAccountLLMCredentialStatusProcedure = "/brent.BrentAdminService/GetAccountLLMCredentialStatus" - // BrentAdminServiceListAccountIntegrationsProcedure is the fully-qualified name of the - // BrentAdminService's ListAccountIntegrations RPC. - BrentAdminServiceListAccountIntegrationsProcedure = "/brent.BrentAdminService/ListAccountIntegrations" - // BrentAdminServiceListWorkflowsProcedure is the fully-qualified name of the BrentAdminService's - // ListWorkflows RPC. - BrentAdminServiceListWorkflowsProcedure = "/brent.BrentAdminService/ListWorkflows" - // BrentAdminServiceGetWorkflowProcedure is the fully-qualified name of the BrentAdminService's - // GetWorkflow RPC. - BrentAdminServiceGetWorkflowProcedure = "/brent.BrentAdminService/GetWorkflow" - // BrentAdminServiceListWorkflowRunsProcedure is the fully-qualified name of the BrentAdminService's - // ListWorkflowRuns RPC. - BrentAdminServiceListWorkflowRunsProcedure = "/brent.BrentAdminService/ListWorkflowRuns" - // BrentAdminServiceGetWorkflowRunProcedure is the fully-qualified name of the BrentAdminService's - // GetWorkflowRun RPC. - BrentAdminServiceGetWorkflowRunProcedure = "/brent.BrentAdminService/GetWorkflowRun" - // BrentAdminServiceGetWorkflowRunThreadHistoryProcedure is the fully-qualified name of the - // BrentAdminService's GetWorkflowRunThreadHistory RPC. - BrentAdminServiceGetWorkflowRunThreadHistoryProcedure = "/brent.BrentAdminService/GetWorkflowRunThreadHistory" - // BrentAdminServiceListPullRequestsProcedure is the fully-qualified name of the BrentAdminService's + UntilAdminServiceExecuteLoopProcedure = "/until.AdminService/ExecuteLoop" + // UntilAdminServiceListRunsProcedure is the fully-qualified name of the UntilAdminService's ListRuns RPC. + UntilAdminServiceListRunsProcedure = "/until.AdminService/ListRuns" + // UntilAdminServiceWatchRunProcedure is the fully-qualified name of the UntilAdminService's WatchRun RPC. + UntilAdminServiceWatchRunProcedure = "/until.AdminService/WatchRun" + // UntilAdminServiceStreamEventsProcedure is the fully-qualified name of the UntilAdminService's StreamEvents + // RPC. + UntilAdminServiceStreamEventsProcedure = "/until.AdminService/StreamEvents" + // UntilAdminServiceListEventsProcedure is the fully-qualified name of the UntilAdminService's ListEvents RPC. + UntilAdminServiceListEventsProcedure = "/until.AdminService/ListEvents" + // UntilAdminServiceCancelRunProcedure is the fully-qualified name of the UntilAdminService's CancelRun RPC. + UntilAdminServiceCancelRunProcedure = "/until.AdminService/CancelRun" + // UntilAdminServiceSendQuestionProcedure is the fully-qualified name of the UntilAdminService's SendQuestion + // RPC. + UntilAdminServiceSendQuestionProcedure = "/until.AdminService/SendQuestion" + // UntilAdminServiceListPlansProcedure is the fully-qualified name of the UntilAdminService's ListPlans RPC. + UntilAdminServiceListPlansProcedure = "/until.AdminService/ListPlans" + // UntilAdminServiceGetPlanProcedure is the fully-qualified name of the UntilAdminService's GetPlan RPC. + UntilAdminServiceGetPlanProcedure = "/until.AdminService/GetPlan" + // UntilAdminServiceListReviewsProcedure is the fully-qualified name of the UntilAdminService's ListReviews + // RPC. + UntilAdminServiceListReviewsProcedure = "/until.AdminService/ListReviews" + // UntilAdminServiceGetReviewProcedure is the fully-qualified name of the UntilAdminService's GetReview RPC. + UntilAdminServiceGetReviewProcedure = "/until.AdminService/GetReview" + // UntilAdminServiceListAccountsProcedure is the fully-qualified name of the UntilAdminService's ListAccounts + // RPC. + UntilAdminServiceListAccountsProcedure = "/until.AdminService/ListAccounts" + // UntilAdminServiceGetAccountSummaryProcedure is the fully-qualified name of the UntilAdminService's + // GetAccountSummary RPC. + UntilAdminServiceGetAccountSummaryProcedure = "/until.AdminService/GetAccountSummary" + // UntilAdminServiceGetAccountHealthAnalysisProcedure is the fully-qualified name of the UntilAdminService's + // GetAccountHealthAnalysis RPC. + UntilAdminServiceGetAccountHealthAnalysisProcedure = "/until.AdminService/GetAccountHealthAnalysis" + // UntilAdminServiceListAccountMetricReposProcedure is the fully-qualified name of the UntilAdminService's + // ListAccountMetricRepos RPC. + UntilAdminServiceListAccountMetricReposProcedure = "/until.AdminService/ListAccountMetricRepos" + // UntilAdminServiceStartAccountMetricsComparisonProcedure is the fully-qualified name of the + // UntilAdminService's StartAccountMetricsComparison RPC. + UntilAdminServiceStartAccountMetricsComparisonProcedure = "/until.AdminService/StartAccountMetricsComparison" + // UntilAdminServiceGetAccountMetricsComparisonRunProcedure is the fully-qualified name of the + // UntilAdminService's GetAccountMetricsComparisonRun RPC. + UntilAdminServiceGetAccountMetricsComparisonRunProcedure = "/until.AdminService/GetAccountMetricsComparisonRun" + // UntilAdminServiceGetAccountPlanCheckSettingsProcedure is the fully-qualified name of the + // UntilAdminService's GetAccountPlanCheckSettings RPC. + UntilAdminServiceGetAccountPlanCheckSettingsProcedure = "/until.AdminService/GetAccountPlanCheckSettings" + // UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure is the fully-qualified name of the + // UntilAdminService's UpdateAccountPlanCheckSettings RPC. + UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure = "/until.AdminService/UpdateAccountPlanCheckSettings" + // UntilAdminServiceGetAccountReviewPolicyProcedure is the fully-qualified name of the UntilAdminService's + // GetAccountReviewPolicy RPC. + UntilAdminServiceGetAccountReviewPolicyProcedure = "/until.AdminService/GetAccountReviewPolicy" + // UntilAdminServiceUpdateAccountReviewPolicyProcedure is the fully-qualified name of the UntilAdminService's + // UpdateAccountReviewPolicy RPC. + UntilAdminServiceUpdateAccountReviewPolicyProcedure = "/until.AdminService/UpdateAccountReviewPolicy" + // UntilAdminServiceGetAccountLLMCredentialStatusProcedure is the fully-qualified name of the + // UntilAdminService's GetAccountLLMCredentialStatus RPC. + UntilAdminServiceGetAccountLLMCredentialStatusProcedure = "/until.AdminService/GetAccountLLMCredentialStatus" + // UntilAdminServiceListAccountIntegrationsProcedure is the fully-qualified name of the UntilAdminService's + // ListAccountIntegrations RPC. + UntilAdminServiceListAccountIntegrationsProcedure = "/until.AdminService/ListAccountIntegrations" + // UntilAdminServiceListLoopsProcedure is the fully-qualified name of the UntilAdminService's ListLoops RPC. + UntilAdminServiceListLoopsProcedure = "/until.AdminService/ListLoops" + // UntilAdminServiceGetLoopProcedure is the fully-qualified name of the UntilAdminService's GetLoop RPC. + UntilAdminServiceGetLoopProcedure = "/until.AdminService/GetLoop" + // UntilAdminServiceListLoopRunsProcedure is the fully-qualified name of the UntilAdminService's ListLoopRuns + // RPC. + UntilAdminServiceListLoopRunsProcedure = "/until.AdminService/ListLoopRuns" + // UntilAdminServiceGetLoopRunProcedure is the fully-qualified name of the UntilAdminService's GetLoopRun RPC. + UntilAdminServiceGetLoopRunProcedure = "/until.AdminService/GetLoopRun" + // UntilAdminServiceGetLoopRunThreadHistoryProcedure is the fully-qualified name of the UntilAdminService's + // GetLoopRunThreadHistory RPC. + UntilAdminServiceGetLoopRunThreadHistoryProcedure = "/until.AdminService/GetLoopRunThreadHistory" + // UntilAdminServiceListPullRequestsProcedure is the fully-qualified name of the UntilAdminService's // ListPullRequests RPC. - BrentAdminServiceListPullRequestsProcedure = "/brent.BrentAdminService/ListPullRequests" - // BrentAdminServiceGetPullRequestByIDProcedure is the fully-qualified name of the - // BrentAdminService's GetPullRequestByID RPC. - BrentAdminServiceGetPullRequestByIDProcedure = "/brent.BrentAdminService/GetPullRequestByID" - // BrentAdminServiceListDeviationAnalysesForPRProcedure is the fully-qualified name of the - // BrentAdminService's ListDeviationAnalysesForPR RPC. - BrentAdminServiceListDeviationAnalysesForPRProcedure = "/brent.BrentAdminService/ListDeviationAnalysesForPR" - // BrentAdminServiceListPrincipalsProcedure is the fully-qualified name of the BrentAdminService's + UntilAdminServiceListPullRequestsProcedure = "/until.AdminService/ListPullRequests" + // UntilAdminServiceGetPullRequestByIDProcedure is the fully-qualified name of the UntilAdminService's + // GetPullRequestByID RPC. + UntilAdminServiceGetPullRequestByIDProcedure = "/until.AdminService/GetPullRequestByID" + // UntilAdminServiceListPlanChecksForPRProcedure is the fully-qualified name of the UntilAdminService's + // ListPlanChecksForPR RPC. + UntilAdminServiceListPlanChecksForPRProcedure = "/until.AdminService/ListPlanChecksForPR" + // UntilAdminServiceListPrincipalsProcedure is the fully-qualified name of the UntilAdminService's // ListPrincipals RPC. - BrentAdminServiceListPrincipalsProcedure = "/brent.BrentAdminService/ListPrincipals" - // BrentAdminServiceGetPrincipalProcedure is the fully-qualified name of the BrentAdminService's - // GetPrincipal RPC. - BrentAdminServiceGetPrincipalProcedure = "/brent.BrentAdminService/GetPrincipal" - // BrentAdminServiceUpsertPrincipalBindingProcedure is the fully-qualified name of the - // BrentAdminService's UpsertPrincipalBinding RPC. - BrentAdminServiceUpsertPrincipalBindingProcedure = "/brent.BrentAdminService/UpsertPrincipalBinding" - // BrentAdminServiceDeletePrincipalBindingProcedure is the fully-qualified name of the - // BrentAdminService's DeletePrincipalBinding RPC. - BrentAdminServiceDeletePrincipalBindingProcedure = "/brent.BrentAdminService/DeletePrincipalBinding" - // BrentAdminServiceUpdatePrincipalProcedure is the fully-qualified name of the BrentAdminService's + UntilAdminServiceListPrincipalsProcedure = "/until.AdminService/ListPrincipals" + // UntilAdminServiceGetPrincipalProcedure is the fully-qualified name of the UntilAdminService's GetPrincipal + // RPC. + UntilAdminServiceGetPrincipalProcedure = "/until.AdminService/GetPrincipal" + // UntilAdminServiceUpsertPrincipalBindingProcedure is the fully-qualified name of the UntilAdminService's + // UpsertPrincipalBinding RPC. + UntilAdminServiceUpsertPrincipalBindingProcedure = "/until.AdminService/UpsertPrincipalBinding" + // UntilAdminServiceDeletePrincipalBindingProcedure is the fully-qualified name of the UntilAdminService's + // DeletePrincipalBinding RPC. + UntilAdminServiceDeletePrincipalBindingProcedure = "/until.AdminService/DeletePrincipalBinding" + // UntilAdminServiceUpdatePrincipalProcedure is the fully-qualified name of the UntilAdminService's // UpdatePrincipal RPC. - BrentAdminServiceUpdatePrincipalProcedure = "/brent.BrentAdminService/UpdatePrincipal" - // BrentAdminServiceCreatePrincipalIdentityProcedure is the fully-qualified name of the - // BrentAdminService's CreatePrincipalIdentity RPC. - BrentAdminServiceCreatePrincipalIdentityProcedure = "/brent.BrentAdminService/CreatePrincipalIdentity" - // BrentAdminServiceDeletePrincipalIdentityProcedure is the fully-qualified name of the - // BrentAdminService's DeletePrincipalIdentity RPC. - BrentAdminServiceDeletePrincipalIdentityProcedure = "/brent.BrentAdminService/DeletePrincipalIdentity" - // BrentAdminServiceSetPrincipalCredentialProcedure is the fully-qualified name of the - // BrentAdminService's SetPrincipalCredential RPC. - BrentAdminServiceSetPrincipalCredentialProcedure = "/brent.BrentAdminService/SetPrincipalCredential" - // BrentAdminServiceListPrincipalCredentialConnectionsProcedure is the fully-qualified name of the - // BrentAdminService's ListPrincipalCredentialConnections RPC. - BrentAdminServiceListPrincipalCredentialConnectionsProcedure = "/brent.BrentAdminService/ListPrincipalCredentialConnections" - // BrentAdminServiceDeletePrincipalCredentialProcedure is the fully-qualified name of the - // BrentAdminService's DeletePrincipalCredential RPC. - BrentAdminServiceDeletePrincipalCredentialProcedure = "/brent.BrentAdminService/DeletePrincipalCredential" - // BrentAdminServiceGetPullRequestTimelineProcedure is the fully-qualified name of the - // BrentAdminService's GetPullRequestTimeline RPC. - BrentAdminServiceGetPullRequestTimelineProcedure = "/brent.BrentAdminService/GetPullRequestTimeline" + UntilAdminServiceUpdatePrincipalProcedure = "/until.AdminService/UpdatePrincipal" + // UntilAdminServiceCreatePrincipalIdentityProcedure is the fully-qualified name of the UntilAdminService's + // CreatePrincipalIdentity RPC. + UntilAdminServiceCreatePrincipalIdentityProcedure = "/until.AdminService/CreatePrincipalIdentity" + // UntilAdminServiceDeletePrincipalIdentityProcedure is the fully-qualified name of the UntilAdminService's + // DeletePrincipalIdentity RPC. + UntilAdminServiceDeletePrincipalIdentityProcedure = "/until.AdminService/DeletePrincipalIdentity" + // UntilAdminServiceSetPrincipalCredentialProcedure is the fully-qualified name of the UntilAdminService's + // SetPrincipalCredential RPC. + UntilAdminServiceSetPrincipalCredentialProcedure = "/until.AdminService/SetPrincipalCredential" + // UntilAdminServiceListPrincipalCredentialConnectionsProcedure is the fully-qualified name of the + // UntilAdminService's ListPrincipalCredentialConnections RPC. + UntilAdminServiceListPrincipalCredentialConnectionsProcedure = "/until.AdminService/ListPrincipalCredentialConnections" + // UntilAdminServiceDeletePrincipalCredentialProcedure is the fully-qualified name of the UntilAdminService's + // DeletePrincipalCredential RPC. + UntilAdminServiceDeletePrincipalCredentialProcedure = "/until.AdminService/DeletePrincipalCredential" + // UntilAdminServiceGetPullRequestTimelineProcedure is the fully-qualified name of the UntilAdminService's + // GetPullRequestTimeline RPC. + UntilAdminServiceGetPullRequestTimelineProcedure = "/until.AdminService/GetPullRequestTimeline" ) -// BrentServiceClient is a client for the brent.BrentService service. -type BrentServiceClient interface { +// WorkspaceServiceClient is a client for the until.WorkspaceService service. +type WorkspaceServiceClient interface { // Lists open pull requests for the caller's account from the pull_requests // table (every repo Brent has webhooks for), sorted by updated_at DESC. // Gated on brent:read. @@ -409,10 +399,10 @@ type BrentServiceClient interface { // Returns Brent tenant settings for the given account. Customer callers // use their JWT account; brent-area51 operators may pass any account_name // when holding admin:write. - GetBrentSettings(context.Context, *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) + GetPlanCheckSettings(context.Context, *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) // PATCH semantics for Brent tenant settings. Only set fields are written; // audit columns are server-stamped. - UpdateBrentSettings(context.Context, *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + UpdatePlanCheckSettings(context.Context, *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) // Returns the account-scoped integration marketplace catalogue: Composio cache // rows plus synthesised first-party and BYO entries with per-account connection // state. Gated on brent:read. @@ -581,328 +571,328 @@ type BrentServiceClient interface { ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) } -// NewBrentServiceClient constructs a client for the brent.BrentService service. By default, it uses -// the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends -// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or -// connect.WithGRPCWeb() options. +// NewWorkspaceServiceClient constructs a client for the until.WorkspaceService service. By default, +// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and +// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() +// or connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, // http://api.acme.com or https://acme.com/grpc). -func NewBrentServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BrentServiceClient { +func NewWorkspaceServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) WorkspaceServiceClient { baseURL = strings.TrimRight(baseURL, "/") - brentServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentService").Methods() - return &brentServiceClient{ + workspaceServiceMethods := sdp_go.File_brent_proto.Services().ByName("WorkspaceService").Methods() + return &workspaceServiceClient{ listOpenPullRequests: connect.NewClient[sdp_go.ListOpenPullRequestsRequest, sdp_go.ListOpenPullRequestsResponse]( httpClient, - baseURL+BrentServiceListOpenPullRequestsProcedure, - connect.WithSchema(brentServiceMethods.ByName("ListOpenPullRequests")), + baseURL+WorkspaceServiceListOpenPullRequestsProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ListOpenPullRequests")), connect.WithClientOptions(opts...), ), getPullRequest: connect.NewClient[sdp_go.GetPullRequestRequest, sdp_go.GetPullRequestResponse]( httpClient, - baseURL+BrentServiceGetPullRequestProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetPullRequest")), + baseURL+WorkspaceServiceGetPullRequestProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetPullRequest")), connect.WithClientOptions(opts...), ), getPrincipalStatus: connect.NewClient[sdp_go.GetPrincipalStatusRequest, sdp_go.GetPrincipalStatusResponse]( httpClient, - baseURL+BrentServiceGetPrincipalStatusProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetPrincipalStatus")), + baseURL+WorkspaceServiceGetPrincipalStatusProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetPrincipalStatus")), connect.WithClientOptions(opts...), ), getPlanPrompt: connect.NewClient[sdp_go.GetPlanPromptRequest, sdp_go.GetPlanPromptResponse]( httpClient, - baseURL+BrentServiceGetPlanPromptProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetPlanPrompt")), + baseURL+WorkspaceServiceGetPlanPromptProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetPlanPrompt")), connect.WithClientOptions(opts...), ), getIntegrationConnectURL: connect.NewClient[sdp_go.GetIntegrationConnectURLRequest, sdp_go.GetIntegrationConnectURLResponse]( httpClient, - baseURL+BrentServiceGetIntegrationConnectURLProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetIntegrationConnectURL")), + baseURL+WorkspaceServiceGetIntegrationConnectURLProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetIntegrationConnectURL")), connect.WithClientOptions(opts...), ), disconnectIntegration: connect.NewClient[sdp_go.DisconnectIntegrationRequest, sdp_go.DisconnectIntegrationResponse]( httpClient, - baseURL+BrentServiceDisconnectIntegrationProcedure, - connect.WithSchema(brentServiceMethods.ByName("DisconnectIntegration")), + baseURL+WorkspaceServiceDisconnectIntegrationProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("DisconnectIntegration")), connect.WithClientOptions(opts...), ), connectByoHttpMcp: connect.NewClient[sdp_go.ConnectByoHttpMcpRequest, sdp_go.ConnectByoHttpMcpResponse]( httpClient, - baseURL+BrentServiceConnectByoHttpMcpProcedure, - connect.WithSchema(brentServiceMethods.ByName("ConnectByoHttpMcp")), + baseURL+WorkspaceServiceConnectByoHttpMcpProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ConnectByoHttpMcp")), connect.WithClientOptions(opts...), ), getGitLabConnection: connect.NewClient[sdp_go.GetGitLabConnectionRequest, sdp_go.GetGitLabConnectionResponse]( httpClient, - baseURL+BrentServiceGetGitLabConnectionProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetGitLabConnection")), + baseURL+WorkspaceServiceGetGitLabConnectionProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetGitLabConnection")), connect.WithClientOptions(opts...), ), connectGitLab: connect.NewClient[sdp_go.ConnectGitLabRequest, sdp_go.ConnectGitLabResponse]( httpClient, - baseURL+BrentServiceConnectGitLabProcedure, - connect.WithSchema(brentServiceMethods.ByName("ConnectGitLab")), + baseURL+WorkspaceServiceConnectGitLabProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ConnectGitLab")), connect.WithClientOptions(opts...), ), saveGitLabSigningToken: connect.NewClient[sdp_go.SaveGitLabSigningTokenRequest, sdp_go.SaveGitLabSigningTokenResponse]( httpClient, - baseURL+BrentServiceSaveGitLabSigningTokenProcedure, - connect.WithSchema(brentServiceMethods.ByName("SaveGitLabSigningToken")), + baseURL+WorkspaceServiceSaveGitLabSigningTokenProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("SaveGitLabSigningToken")), connect.WithClientOptions(opts...), ), upsertMyVerifiedBinding: connect.NewClient[sdp_go.UpsertMyVerifiedBindingRequest, sdp_go.UpsertMyVerifiedBindingResponse]( httpClient, - baseURL+BrentServiceUpsertMyVerifiedBindingProcedure, - connect.WithSchema(brentServiceMethods.ByName("UpsertMyVerifiedBinding")), + baseURL+WorkspaceServiceUpsertMyVerifiedBindingProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("UpsertMyVerifiedBinding")), connect.WithClientOptions(opts...), ), listMyBindings: connect.NewClient[sdp_go.ListMyBindingsRequest, sdp_go.ListMyBindingsResponse]( httpClient, - baseURL+BrentServiceListMyBindingsProcedure, - connect.WithSchema(brentServiceMethods.ByName("ListMyBindings")), + baseURL+WorkspaceServiceListMyBindingsProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ListMyBindings")), connect.WithClientOptions(opts...), ), getMyNotificationPreferences: connect.NewClient[sdp_go.GetMyNotificationPreferencesRequest, sdp_go.GetMyNotificationPreferencesResponse]( httpClient, - baseURL+BrentServiceGetMyNotificationPreferencesProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetMyNotificationPreferences")), + baseURL+WorkspaceServiceGetMyNotificationPreferencesProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetMyNotificationPreferences")), connect.WithClientOptions(opts...), ), updateMyNotificationPreferences: connect.NewClient[sdp_go.UpdateMyNotificationPreferencesRequest, sdp_go.UpdateMyNotificationPreferencesResponse]( httpClient, - baseURL+BrentServiceUpdateMyNotificationPreferencesProcedure, - connect.WithSchema(brentServiceMethods.ByName("UpdateMyNotificationPreferences")), + baseURL+WorkspaceServiceUpdateMyNotificationPreferencesProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyNotificationPreferences")), connect.WithClientOptions(opts...), ), registerMyPushSubscription: connect.NewClient[sdp_go.RegisterMyPushSubscriptionRequest, sdp_go.RegisterMyPushSubscriptionResponse]( httpClient, - baseURL+BrentServiceRegisterMyPushSubscriptionProcedure, - connect.WithSchema(brentServiceMethods.ByName("RegisterMyPushSubscription")), + baseURL+WorkspaceServiceRegisterMyPushSubscriptionProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("RegisterMyPushSubscription")), connect.WithClientOptions(opts...), ), getWebPushPublicKey: connect.NewClient[sdp_go.GetWebPushPublicKeyRequest, sdp_go.GetWebPushPublicKeyResponse]( httpClient, - baseURL+BrentServiceGetWebPushPublicKeyProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetWebPushPublicKey")), + baseURL+WorkspaceServiceGetWebPushPublicKeyProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetWebPushPublicKey")), connect.WithClientOptions(opts...), ), updateMyDisplayName: connect.NewClient[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse]( httpClient, - baseURL+BrentServiceUpdateMyDisplayNameProcedure, - connect.WithSchema(brentServiceMethods.ByName("UpdateMyDisplayName")), + baseURL+WorkspaceServiceUpdateMyDisplayNameProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyDisplayName")), connect.WithClientOptions(opts...), ), - getBrentSettings: connect.NewClient[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse]( + getPlanCheckSettings: connect.NewClient[sdp_go.GetPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse]( httpClient, - baseURL+BrentServiceGetBrentSettingsProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetBrentSettings")), + baseURL+WorkspaceServiceGetPlanCheckSettingsProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetPlanCheckSettings")), connect.WithClientOptions(opts...), ), - updateBrentSettings: connect.NewClient[sdp_go.UpdateBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse]( + updatePlanCheckSettings: connect.NewClient[sdp_go.UpdatePlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse]( httpClient, - baseURL+BrentServiceUpdateBrentSettingsProcedure, - connect.WithSchema(brentServiceMethods.ByName("UpdateBrentSettings")), + baseURL+WorkspaceServiceUpdatePlanCheckSettingsProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("UpdatePlanCheckSettings")), connect.WithClientOptions(opts...), ), listIntegrationCatalogue: connect.NewClient[sdp_go.ListIntegrationCatalogueRequest, sdp_go.ListIntegrationCatalogueResponse]( httpClient, - baseURL+BrentServiceListIntegrationCatalogueProcedure, - connect.WithSchema(brentServiceMethods.ByName("ListIntegrationCatalogue")), + baseURL+WorkspaceServiceListIntegrationCatalogueProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ListIntegrationCatalogue")), connect.WithClientOptions(opts...), ), createWorkspace: connect.NewClient[sdp_go.CreateWorkspaceRequest, sdp_go.CreateWorkspaceResponse]( httpClient, - baseURL+BrentServiceCreateWorkspaceProcedure, - connect.WithSchema(brentServiceMethods.ByName("CreateWorkspace")), + baseURL+WorkspaceServiceCreateWorkspaceProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("CreateWorkspace")), connect.WithClientOptions(opts...), ), listMyWorkspaces: connect.NewClient[sdp_go.ListMyWorkspacesRequest, sdp_go.ListMyWorkspacesResponse]( httpClient, - baseURL+BrentServiceListMyWorkspacesProcedure, - connect.WithSchema(brentServiceMethods.ByName("ListMyWorkspaces")), + baseURL+WorkspaceServiceListMyWorkspacesProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ListMyWorkspaces")), connect.WithClientOptions(opts...), ), discoverLoginRecoveryCandidates: connect.NewClient[sdp_go.DiscoverLoginRecoveryCandidatesRequest, sdp_go.DiscoverLoginRecoveryCandidatesResponse]( httpClient, - baseURL+BrentServiceDiscoverLoginRecoveryCandidatesProcedure, - connect.WithSchema(brentServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), + baseURL+WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), connect.WithClientOptions(opts...), ), renameWorkspace: connect.NewClient[sdp_go.RenameWorkspaceRequest, sdp_go.RenameWorkspaceResponse]( httpClient, - baseURL+BrentServiceRenameWorkspaceProcedure, - connect.WithSchema(brentServiceMethods.ByName("RenameWorkspace")), + baseURL+WorkspaceServiceRenameWorkspaceProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("RenameWorkspace")), connect.WithClientOptions(opts...), ), updateWorkspaceBranding: connect.NewClient[sdp_go.UpdateWorkspaceBrandingRequest, sdp_go.UpdateWorkspaceBrandingResponse]( httpClient, - baseURL+BrentServiceUpdateWorkspaceBrandingProcedure, - connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceBranding")), + baseURL+WorkspaceServiceUpdateWorkspaceBrandingProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceBranding")), connect.WithClientOptions(opts...), ), completeWorkspaceOnboarding: connect.NewClient[sdp_go.CompleteWorkspaceOnboardingRequest, sdp_go.CompleteWorkspaceOnboardingResponse]( httpClient, - baseURL+BrentServiceCompleteWorkspaceOnboardingProcedure, - connect.WithSchema(brentServiceMethods.ByName("CompleteWorkspaceOnboarding")), + baseURL+WorkspaceServiceCompleteWorkspaceOnboardingProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("CompleteWorkspaceOnboarding")), connect.WithClientOptions(opts...), ), deleteWorkspace: connect.NewClient[sdp_go.DeleteWorkspaceRequest, sdp_go.DeleteWorkspaceResponse]( httpClient, - baseURL+BrentServiceDeleteWorkspaceProcedure, - connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspace")), + baseURL+WorkspaceServiceDeleteWorkspaceProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspace")), connect.WithClientOptions(opts...), ), listJoinableWorkspaces: connect.NewClient[sdp_go.ListJoinableWorkspacesRequest, sdp_go.ListJoinableWorkspacesResponse]( httpClient, - baseURL+BrentServiceListJoinableWorkspacesProcedure, - connect.WithSchema(brentServiceMethods.ByName("ListJoinableWorkspaces")), + baseURL+WorkspaceServiceListJoinableWorkspacesProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ListJoinableWorkspaces")), connect.WithClientOptions(opts...), ), joinWorkspace: connect.NewClient[sdp_go.JoinWorkspaceRequest, sdp_go.JoinWorkspaceResponse]( httpClient, - baseURL+BrentServiceJoinWorkspaceProcedure, - connect.WithSchema(brentServiceMethods.ByName("JoinWorkspace")), + baseURL+WorkspaceServiceJoinWorkspaceProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("JoinWorkspace")), connect.WithClientOptions(opts...), ), createInvitation: connect.NewClient[sdp_go.CreateInvitationRequest, sdp_go.CreateInvitationResponse]( httpClient, - baseURL+BrentServiceCreateInvitationProcedure, - connect.WithSchema(brentServiceMethods.ByName("CreateInvitation")), + baseURL+WorkspaceServiceCreateInvitationProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitation")), connect.WithClientOptions(opts...), ), createInvitations: connect.NewClient[sdp_go.CreateInvitationsRequest, sdp_go.CreateInvitationsResponse]( httpClient, - baseURL+BrentServiceCreateInvitationsProcedure, - connect.WithSchema(brentServiceMethods.ByName("CreateInvitations")), + baseURL+WorkspaceServiceCreateInvitationsProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitations")), connect.WithClientOptions(opts...), ), acceptInvitation: connect.NewClient[sdp_go.AcceptInvitationRequest, sdp_go.AcceptInvitationResponse]( httpClient, - baseURL+BrentServiceAcceptInvitationProcedure, - connect.WithSchema(brentServiceMethods.ByName("AcceptInvitation")), + baseURL+WorkspaceServiceAcceptInvitationProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("AcceptInvitation")), connect.WithClientOptions(opts...), ), listWorkspaceMembers: connect.NewClient[sdp_go.ListWorkspaceMembersRequest, sdp_go.ListWorkspaceMembersResponse]( httpClient, - baseURL+BrentServiceListWorkspaceMembersProcedure, - connect.WithSchema(brentServiceMethods.ByName("ListWorkspaceMembers")), + baseURL+WorkspaceServiceListWorkspaceMembersProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ListWorkspaceMembers")), connect.WithClientOptions(opts...), ), resendInvitation: connect.NewClient[sdp_go.ResendInvitationRequest, sdp_go.ResendInvitationResponse]( httpClient, - baseURL+BrentServiceResendInvitationProcedure, - connect.WithSchema(brentServiceMethods.ByName("ResendInvitation")), + baseURL+WorkspaceServiceResendInvitationProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ResendInvitation")), connect.WithClientOptions(opts...), ), revokeInvitation: connect.NewClient[sdp_go.RevokeInvitationRequest, sdp_go.RevokeInvitationResponse]( httpClient, - baseURL+BrentServiceRevokeInvitationProcedure, - connect.WithSchema(brentServiceMethods.ByName("RevokeInvitation")), + baseURL+WorkspaceServiceRevokeInvitationProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("RevokeInvitation")), connect.WithClientOptions(opts...), ), removeWorkspaceMember: connect.NewClient[sdp_go.RemoveWorkspaceMemberRequest, sdp_go.RemoveWorkspaceMemberResponse]( httpClient, - baseURL+BrentServiceRemoveWorkspaceMemberProcedure, - connect.WithSchema(brentServiceMethods.ByName("RemoveWorkspaceMember")), + baseURL+WorkspaceServiceRemoveWorkspaceMemberProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("RemoveWorkspaceMember")), connect.WithClientOptions(opts...), ), updateWorkspaceMemberRole: connect.NewClient[sdp_go.UpdateWorkspaceMemberRoleRequest, sdp_go.UpdateWorkspaceMemberRoleResponse]( httpClient, - baseURL+BrentServiceUpdateWorkspaceMemberRoleProcedure, - connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceMemberRole")), + baseURL+WorkspaceServiceUpdateWorkspaceMemberRoleProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceMemberRole")), connect.WithClientOptions(opts...), ), listApprovedEmailDomains: connect.NewClient[sdp_go.ListApprovedEmailDomainsRequest, sdp_go.ListApprovedEmailDomainsResponse]( httpClient, - baseURL+BrentServiceListApprovedEmailDomainsProcedure, - connect.WithSchema(brentServiceMethods.ByName("ListApprovedEmailDomains")), + baseURL+WorkspaceServiceListApprovedEmailDomainsProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ListApprovedEmailDomains")), connect.WithClientOptions(opts...), ), addApprovedEmailDomain: connect.NewClient[sdp_go.AddApprovedEmailDomainRequest, sdp_go.AddApprovedEmailDomainResponse]( httpClient, - baseURL+BrentServiceAddApprovedEmailDomainProcedure, - connect.WithSchema(brentServiceMethods.ByName("AddApprovedEmailDomain")), + baseURL+WorkspaceServiceAddApprovedEmailDomainProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("AddApprovedEmailDomain")), connect.WithClientOptions(opts...), ), verifyApprovedEmailDomain: connect.NewClient[sdp_go.VerifyApprovedEmailDomainRequest, sdp_go.VerifyApprovedEmailDomainResponse]( httpClient, - baseURL+BrentServiceVerifyApprovedEmailDomainProcedure, - connect.WithSchema(brentServiceMethods.ByName("VerifyApprovedEmailDomain")), + baseURL+WorkspaceServiceVerifyApprovedEmailDomainProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("VerifyApprovedEmailDomain")), connect.WithClientOptions(opts...), ), resendApprovedEmailDomainCode: connect.NewClient[sdp_go.ResendApprovedEmailDomainCodeRequest, sdp_go.ResendApprovedEmailDomainCodeResponse]( httpClient, - baseURL+BrentServiceResendApprovedEmailDomainCodeProcedure, - connect.WithSchema(brentServiceMethods.ByName("ResendApprovedEmailDomainCode")), + baseURL+WorkspaceServiceResendApprovedEmailDomainCodeProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ResendApprovedEmailDomainCode")), connect.WithClientOptions(opts...), ), deleteApprovedEmailDomain: connect.NewClient[sdp_go.DeleteApprovedEmailDomainRequest, sdp_go.DeleteApprovedEmailDomainResponse]( httpClient, - baseURL+BrentServiceDeleteApprovedEmailDomainProcedure, - connect.WithSchema(brentServiceMethods.ByName("DeleteApprovedEmailDomain")), + baseURL+WorkspaceServiceDeleteApprovedEmailDomainProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("DeleteApprovedEmailDomain")), connect.WithClientOptions(opts...), ), getWorkspaceLLMCredentialStatus: connect.NewClient[sdp_go.GetWorkspaceLLMCredentialStatusRequest, sdp_go.GetWorkspaceLLMCredentialStatusResponse]( httpClient, - baseURL+BrentServiceGetWorkspaceLLMCredentialStatusProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), + baseURL+WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), connect.WithClientOptions(opts...), ), setWorkspaceLLMCredential: connect.NewClient[sdp_go.SetWorkspaceLLMCredentialRequest, sdp_go.SetWorkspaceLLMCredentialResponse]( httpClient, - baseURL+BrentServiceSetWorkspaceLLMCredentialProcedure, - connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceLLMCredential")), + baseURL+WorkspaceServiceSetWorkspaceLLMCredentialProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceLLMCredential")), connect.WithClientOptions(opts...), ), deleteWorkspaceLLMCredential: connect.NewClient[sdp_go.DeleteWorkspaceLLMCredentialRequest, sdp_go.DeleteWorkspaceLLMCredentialResponse]( httpClient, - baseURL+BrentServiceDeleteWorkspaceLLMCredentialProcedure, - connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspaceLLMCredential")), + baseURL+WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspaceLLMCredential")), connect.WithClientOptions(opts...), ), getMyCursorCredentialStatus: connect.NewClient[sdp_go.GetMyCursorCredentialStatusRequest, sdp_go.GetMyCursorCredentialStatusResponse]( httpClient, - baseURL+BrentServiceGetMyCursorCredentialStatusProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetMyCursorCredentialStatus")), + baseURL+WorkspaceServiceGetMyCursorCredentialStatusProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetMyCursorCredentialStatus")), connect.WithClientOptions(opts...), ), setMyCursorCredential: connect.NewClient[sdp_go.SetMyCursorCredentialRequest, sdp_go.SetMyCursorCredentialResponse]( httpClient, - baseURL+BrentServiceSetMyCursorCredentialProcedure, - connect.WithSchema(brentServiceMethods.ByName("SetMyCursorCredential")), + baseURL+WorkspaceServiceSetMyCursorCredentialProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("SetMyCursorCredential")), connect.WithClientOptions(opts...), ), deleteMyCursorCredential: connect.NewClient[sdp_go.DeleteMyCursorCredentialRequest, sdp_go.DeleteMyCursorCredentialResponse]( httpClient, - baseURL+BrentServiceDeleteMyCursorCredentialProcedure, - connect.WithSchema(brentServiceMethods.ByName("DeleteMyCursorCredential")), + baseURL+WorkspaceServiceDeleteMyCursorCredentialProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("DeleteMyCursorCredential")), connect.WithClientOptions(opts...), ), getWorkspaceIntegrationRoles: connect.NewClient[sdp_go.GetWorkspaceIntegrationRolesRequest, sdp_go.GetWorkspaceIntegrationRolesResponse]( httpClient, - baseURL+BrentServiceGetWorkspaceIntegrationRolesProcedure, - connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceIntegrationRoles")), + baseURL+WorkspaceServiceGetWorkspaceIntegrationRolesProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceIntegrationRoles")), connect.WithClientOptions(opts...), ), setWorkspaceIntegrationRoles: connect.NewClient[sdp_go.SetWorkspaceIntegrationRolesRequest, sdp_go.SetWorkspaceIntegrationRolesResponse]( httpClient, - baseURL+BrentServiceSetWorkspaceIntegrationRolesProcedure, - connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceIntegrationRoles")), + baseURL+WorkspaceServiceSetWorkspaceIntegrationRolesProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceIntegrationRoles")), connect.WithClientOptions(opts...), ), resendVerificationEmail: connect.NewClient[sdp_go.ResendVerificationEmailRequest, sdp_go.ResendVerificationEmailResponse]( httpClient, - baseURL+BrentServiceResendVerificationEmailProcedure, - connect.WithSchema(brentServiceMethods.ByName("ResendVerificationEmail")), + baseURL+WorkspaceServiceResendVerificationEmailProcedure, + connect.WithSchema(workspaceServiceMethods.ByName("ResendVerificationEmail")), connect.WithClientOptions(opts...), ), } } -// brentServiceClient implements BrentServiceClient. -type brentServiceClient struct { +// workspaceServiceClient implements WorkspaceServiceClient. +type workspaceServiceClient struct { listOpenPullRequests *connect.Client[sdp_go.ListOpenPullRequestsRequest, sdp_go.ListOpenPullRequestsResponse] getPullRequest *connect.Client[sdp_go.GetPullRequestRequest, sdp_go.GetPullRequestResponse] getPrincipalStatus *connect.Client[sdp_go.GetPrincipalStatusRequest, sdp_go.GetPrincipalStatusResponse] @@ -920,8 +910,8 @@ type brentServiceClient struct { registerMyPushSubscription *connect.Client[sdp_go.RegisterMyPushSubscriptionRequest, sdp_go.RegisterMyPushSubscriptionResponse] getWebPushPublicKey *connect.Client[sdp_go.GetWebPushPublicKeyRequest, sdp_go.GetWebPushPublicKeyResponse] updateMyDisplayName *connect.Client[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse] - getBrentSettings *connect.Client[sdp_go.GetBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] - updateBrentSettings *connect.Client[sdp_go.UpdateBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] + getPlanCheckSettings *connect.Client[sdp_go.GetPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse] + updatePlanCheckSettings *connect.Client[sdp_go.UpdatePlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse] listIntegrationCatalogue *connect.Client[sdp_go.ListIntegrationCatalogueRequest, sdp_go.ListIntegrationCatalogueResponse] createWorkspace *connect.Client[sdp_go.CreateWorkspaceRequest, sdp_go.CreateWorkspaceResponse] listMyWorkspaces *connect.Client[sdp_go.ListMyWorkspacesRequest, sdp_go.ListMyWorkspacesResponse] @@ -956,263 +946,263 @@ type brentServiceClient struct { resendVerificationEmail *connect.Client[sdp_go.ResendVerificationEmailRequest, sdp_go.ResendVerificationEmailResponse] } -// ListOpenPullRequests calls brent.BrentService.ListOpenPullRequests. -func (c *brentServiceClient) ListOpenPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { +// ListOpenPullRequests calls until.WorkspaceService.ListOpenPullRequests. +func (c *workspaceServiceClient) ListOpenPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { return c.listOpenPullRequests.CallUnary(ctx, req) } -// GetPullRequest calls brent.BrentService.GetPullRequest. -func (c *brentServiceClient) GetPullRequest(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { +// GetPullRequest calls until.WorkspaceService.GetPullRequest. +func (c *workspaceServiceClient) GetPullRequest(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { return c.getPullRequest.CallUnary(ctx, req) } -// GetPrincipalStatus calls brent.BrentService.GetPrincipalStatus. -func (c *brentServiceClient) GetPrincipalStatus(ctx context.Context, req *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { +// GetPrincipalStatus calls until.WorkspaceService.GetPrincipalStatus. +func (c *workspaceServiceClient) GetPrincipalStatus(ctx context.Context, req *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { return c.getPrincipalStatus.CallUnary(ctx, req) } -// GetPlanPrompt calls brent.BrentService.GetPlanPrompt. -func (c *brentServiceClient) GetPlanPrompt(ctx context.Context, req *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { +// GetPlanPrompt calls until.WorkspaceService.GetPlanPrompt. +func (c *workspaceServiceClient) GetPlanPrompt(ctx context.Context, req *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { return c.getPlanPrompt.CallUnary(ctx, req) } -// GetIntegrationConnectURL calls brent.BrentService.GetIntegrationConnectURL. -func (c *brentServiceClient) GetIntegrationConnectURL(ctx context.Context, req *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { +// GetIntegrationConnectURL calls until.WorkspaceService.GetIntegrationConnectURL. +func (c *workspaceServiceClient) GetIntegrationConnectURL(ctx context.Context, req *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { return c.getIntegrationConnectURL.CallUnary(ctx, req) } -// DisconnectIntegration calls brent.BrentService.DisconnectIntegration. -func (c *brentServiceClient) DisconnectIntegration(ctx context.Context, req *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { +// DisconnectIntegration calls until.WorkspaceService.DisconnectIntegration. +func (c *workspaceServiceClient) DisconnectIntegration(ctx context.Context, req *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { return c.disconnectIntegration.CallUnary(ctx, req) } -// ConnectByoHttpMcp calls brent.BrentService.ConnectByoHttpMcp. -func (c *brentServiceClient) ConnectByoHttpMcp(ctx context.Context, req *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { +// ConnectByoHttpMcp calls until.WorkspaceService.ConnectByoHttpMcp. +func (c *workspaceServiceClient) ConnectByoHttpMcp(ctx context.Context, req *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { return c.connectByoHttpMcp.CallUnary(ctx, req) } -// GetGitLabConnection calls brent.BrentService.GetGitLabConnection. -func (c *brentServiceClient) GetGitLabConnection(ctx context.Context, req *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { +// GetGitLabConnection calls until.WorkspaceService.GetGitLabConnection. +func (c *workspaceServiceClient) GetGitLabConnection(ctx context.Context, req *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { return c.getGitLabConnection.CallUnary(ctx, req) } -// ConnectGitLab calls brent.BrentService.ConnectGitLab. -func (c *brentServiceClient) ConnectGitLab(ctx context.Context, req *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { +// ConnectGitLab calls until.WorkspaceService.ConnectGitLab. +func (c *workspaceServiceClient) ConnectGitLab(ctx context.Context, req *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { return c.connectGitLab.CallUnary(ctx, req) } -// SaveGitLabSigningToken calls brent.BrentService.SaveGitLabSigningToken. -func (c *brentServiceClient) SaveGitLabSigningToken(ctx context.Context, req *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { +// SaveGitLabSigningToken calls until.WorkspaceService.SaveGitLabSigningToken. +func (c *workspaceServiceClient) SaveGitLabSigningToken(ctx context.Context, req *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { return c.saveGitLabSigningToken.CallUnary(ctx, req) } -// UpsertMyVerifiedBinding calls brent.BrentService.UpsertMyVerifiedBinding. -func (c *brentServiceClient) UpsertMyVerifiedBinding(ctx context.Context, req *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { +// UpsertMyVerifiedBinding calls until.WorkspaceService.UpsertMyVerifiedBinding. +func (c *workspaceServiceClient) UpsertMyVerifiedBinding(ctx context.Context, req *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { return c.upsertMyVerifiedBinding.CallUnary(ctx, req) } -// ListMyBindings calls brent.BrentService.ListMyBindings. -func (c *brentServiceClient) ListMyBindings(ctx context.Context, req *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { +// ListMyBindings calls until.WorkspaceService.ListMyBindings. +func (c *workspaceServiceClient) ListMyBindings(ctx context.Context, req *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { return c.listMyBindings.CallUnary(ctx, req) } -// GetMyNotificationPreferences calls brent.BrentService.GetMyNotificationPreferences. -func (c *brentServiceClient) GetMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { +// GetMyNotificationPreferences calls until.WorkspaceService.GetMyNotificationPreferences. +func (c *workspaceServiceClient) GetMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { return c.getMyNotificationPreferences.CallUnary(ctx, req) } -// UpdateMyNotificationPreferences calls brent.BrentService.UpdateMyNotificationPreferences. -func (c *brentServiceClient) UpdateMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { +// UpdateMyNotificationPreferences calls until.WorkspaceService.UpdateMyNotificationPreferences. +func (c *workspaceServiceClient) UpdateMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { return c.updateMyNotificationPreferences.CallUnary(ctx, req) } -// RegisterMyPushSubscription calls brent.BrentService.RegisterMyPushSubscription. -func (c *brentServiceClient) RegisterMyPushSubscription(ctx context.Context, req *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { +// RegisterMyPushSubscription calls until.WorkspaceService.RegisterMyPushSubscription. +func (c *workspaceServiceClient) RegisterMyPushSubscription(ctx context.Context, req *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { return c.registerMyPushSubscription.CallUnary(ctx, req) } -// GetWebPushPublicKey calls brent.BrentService.GetWebPushPublicKey. -func (c *brentServiceClient) GetWebPushPublicKey(ctx context.Context, req *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { +// GetWebPushPublicKey calls until.WorkspaceService.GetWebPushPublicKey. +func (c *workspaceServiceClient) GetWebPushPublicKey(ctx context.Context, req *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { return c.getWebPushPublicKey.CallUnary(ctx, req) } -// UpdateMyDisplayName calls brent.BrentService.UpdateMyDisplayName. -func (c *brentServiceClient) UpdateMyDisplayName(ctx context.Context, req *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { +// UpdateMyDisplayName calls until.WorkspaceService.UpdateMyDisplayName. +func (c *workspaceServiceClient) UpdateMyDisplayName(ctx context.Context, req *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { return c.updateMyDisplayName.CallUnary(ctx, req) } -// GetBrentSettings calls brent.BrentService.GetBrentSettings. -func (c *brentServiceClient) GetBrentSettings(ctx context.Context, req *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { - return c.getBrentSettings.CallUnary(ctx, req) +// GetPlanCheckSettings calls until.WorkspaceService.GetPlanCheckSettings. +func (c *workspaceServiceClient) GetPlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { + return c.getPlanCheckSettings.CallUnary(ctx, req) } -// UpdateBrentSettings calls brent.BrentService.UpdateBrentSettings. -func (c *brentServiceClient) UpdateBrentSettings(ctx context.Context, req *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { - return c.updateBrentSettings.CallUnary(ctx, req) +// UpdatePlanCheckSettings calls until.WorkspaceService.UpdatePlanCheckSettings. +func (c *workspaceServiceClient) UpdatePlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { + return c.updatePlanCheckSettings.CallUnary(ctx, req) } -// ListIntegrationCatalogue calls brent.BrentService.ListIntegrationCatalogue. -func (c *brentServiceClient) ListIntegrationCatalogue(ctx context.Context, req *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { +// ListIntegrationCatalogue calls until.WorkspaceService.ListIntegrationCatalogue. +func (c *workspaceServiceClient) ListIntegrationCatalogue(ctx context.Context, req *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { return c.listIntegrationCatalogue.CallUnary(ctx, req) } -// CreateWorkspace calls brent.BrentService.CreateWorkspace. -func (c *brentServiceClient) CreateWorkspace(ctx context.Context, req *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { +// CreateWorkspace calls until.WorkspaceService.CreateWorkspace. +func (c *workspaceServiceClient) CreateWorkspace(ctx context.Context, req *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { return c.createWorkspace.CallUnary(ctx, req) } -// ListMyWorkspaces calls brent.BrentService.ListMyWorkspaces. -func (c *brentServiceClient) ListMyWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { +// ListMyWorkspaces calls until.WorkspaceService.ListMyWorkspaces. +func (c *workspaceServiceClient) ListMyWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { return c.listMyWorkspaces.CallUnary(ctx, req) } -// DiscoverLoginRecoveryCandidates calls brent.BrentService.DiscoverLoginRecoveryCandidates. -func (c *brentServiceClient) DiscoverLoginRecoveryCandidates(ctx context.Context, req *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { +// DiscoverLoginRecoveryCandidates calls until.WorkspaceService.DiscoverLoginRecoveryCandidates. +func (c *workspaceServiceClient) DiscoverLoginRecoveryCandidates(ctx context.Context, req *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { return c.discoverLoginRecoveryCandidates.CallUnary(ctx, req) } -// RenameWorkspace calls brent.BrentService.RenameWorkspace. -func (c *brentServiceClient) RenameWorkspace(ctx context.Context, req *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { +// RenameWorkspace calls until.WorkspaceService.RenameWorkspace. +func (c *workspaceServiceClient) RenameWorkspace(ctx context.Context, req *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { return c.renameWorkspace.CallUnary(ctx, req) } -// UpdateWorkspaceBranding calls brent.BrentService.UpdateWorkspaceBranding. -func (c *brentServiceClient) UpdateWorkspaceBranding(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { +// UpdateWorkspaceBranding calls until.WorkspaceService.UpdateWorkspaceBranding. +func (c *workspaceServiceClient) UpdateWorkspaceBranding(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { return c.updateWorkspaceBranding.CallUnary(ctx, req) } -// CompleteWorkspaceOnboarding calls brent.BrentService.CompleteWorkspaceOnboarding. -func (c *brentServiceClient) CompleteWorkspaceOnboarding(ctx context.Context, req *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { +// CompleteWorkspaceOnboarding calls until.WorkspaceService.CompleteWorkspaceOnboarding. +func (c *workspaceServiceClient) CompleteWorkspaceOnboarding(ctx context.Context, req *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { return c.completeWorkspaceOnboarding.CallUnary(ctx, req) } -// DeleteWorkspace calls brent.BrentService.DeleteWorkspace. -func (c *brentServiceClient) DeleteWorkspace(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { +// DeleteWorkspace calls until.WorkspaceService.DeleteWorkspace. +func (c *workspaceServiceClient) DeleteWorkspace(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { return c.deleteWorkspace.CallUnary(ctx, req) } -// ListJoinableWorkspaces calls brent.BrentService.ListJoinableWorkspaces. -func (c *brentServiceClient) ListJoinableWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { +// ListJoinableWorkspaces calls until.WorkspaceService.ListJoinableWorkspaces. +func (c *workspaceServiceClient) ListJoinableWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { return c.listJoinableWorkspaces.CallUnary(ctx, req) } -// JoinWorkspace calls brent.BrentService.JoinWorkspace. -func (c *brentServiceClient) JoinWorkspace(ctx context.Context, req *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { +// JoinWorkspace calls until.WorkspaceService.JoinWorkspace. +func (c *workspaceServiceClient) JoinWorkspace(ctx context.Context, req *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { return c.joinWorkspace.CallUnary(ctx, req) } -// CreateInvitation calls brent.BrentService.CreateInvitation. -func (c *brentServiceClient) CreateInvitation(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { +// CreateInvitation calls until.WorkspaceService.CreateInvitation. +func (c *workspaceServiceClient) CreateInvitation(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { return c.createInvitation.CallUnary(ctx, req) } -// CreateInvitations calls brent.BrentService.CreateInvitations. -func (c *brentServiceClient) CreateInvitations(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { +// CreateInvitations calls until.WorkspaceService.CreateInvitations. +func (c *workspaceServiceClient) CreateInvitations(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { return c.createInvitations.CallUnary(ctx, req) } -// AcceptInvitation calls brent.BrentService.AcceptInvitation. -func (c *brentServiceClient) AcceptInvitation(ctx context.Context, req *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { +// AcceptInvitation calls until.WorkspaceService.AcceptInvitation. +func (c *workspaceServiceClient) AcceptInvitation(ctx context.Context, req *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { return c.acceptInvitation.CallUnary(ctx, req) } -// ListWorkspaceMembers calls brent.BrentService.ListWorkspaceMembers. -func (c *brentServiceClient) ListWorkspaceMembers(ctx context.Context, req *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { +// ListWorkspaceMembers calls until.WorkspaceService.ListWorkspaceMembers. +func (c *workspaceServiceClient) ListWorkspaceMembers(ctx context.Context, req *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { return c.listWorkspaceMembers.CallUnary(ctx, req) } -// ResendInvitation calls brent.BrentService.ResendInvitation. -func (c *brentServiceClient) ResendInvitation(ctx context.Context, req *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { +// ResendInvitation calls until.WorkspaceService.ResendInvitation. +func (c *workspaceServiceClient) ResendInvitation(ctx context.Context, req *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { return c.resendInvitation.CallUnary(ctx, req) } -// RevokeInvitation calls brent.BrentService.RevokeInvitation. -func (c *brentServiceClient) RevokeInvitation(ctx context.Context, req *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { +// RevokeInvitation calls until.WorkspaceService.RevokeInvitation. +func (c *workspaceServiceClient) RevokeInvitation(ctx context.Context, req *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { return c.revokeInvitation.CallUnary(ctx, req) } -// RemoveWorkspaceMember calls brent.BrentService.RemoveWorkspaceMember. -func (c *brentServiceClient) RemoveWorkspaceMember(ctx context.Context, req *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { +// RemoveWorkspaceMember calls until.WorkspaceService.RemoveWorkspaceMember. +func (c *workspaceServiceClient) RemoveWorkspaceMember(ctx context.Context, req *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { return c.removeWorkspaceMember.CallUnary(ctx, req) } -// UpdateWorkspaceMemberRole calls brent.BrentService.UpdateWorkspaceMemberRole. -func (c *brentServiceClient) UpdateWorkspaceMemberRole(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { +// UpdateWorkspaceMemberRole calls until.WorkspaceService.UpdateWorkspaceMemberRole. +func (c *workspaceServiceClient) UpdateWorkspaceMemberRole(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { return c.updateWorkspaceMemberRole.CallUnary(ctx, req) } -// ListApprovedEmailDomains calls brent.BrentService.ListApprovedEmailDomains. -func (c *brentServiceClient) ListApprovedEmailDomains(ctx context.Context, req *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { +// ListApprovedEmailDomains calls until.WorkspaceService.ListApprovedEmailDomains. +func (c *workspaceServiceClient) ListApprovedEmailDomains(ctx context.Context, req *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { return c.listApprovedEmailDomains.CallUnary(ctx, req) } -// AddApprovedEmailDomain calls brent.BrentService.AddApprovedEmailDomain. -func (c *brentServiceClient) AddApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { +// AddApprovedEmailDomain calls until.WorkspaceService.AddApprovedEmailDomain. +func (c *workspaceServiceClient) AddApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { return c.addApprovedEmailDomain.CallUnary(ctx, req) } -// VerifyApprovedEmailDomain calls brent.BrentService.VerifyApprovedEmailDomain. -func (c *brentServiceClient) VerifyApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { +// VerifyApprovedEmailDomain calls until.WorkspaceService.VerifyApprovedEmailDomain. +func (c *workspaceServiceClient) VerifyApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { return c.verifyApprovedEmailDomain.CallUnary(ctx, req) } -// ResendApprovedEmailDomainCode calls brent.BrentService.ResendApprovedEmailDomainCode. -func (c *brentServiceClient) ResendApprovedEmailDomainCode(ctx context.Context, req *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { +// ResendApprovedEmailDomainCode calls until.WorkspaceService.ResendApprovedEmailDomainCode. +func (c *workspaceServiceClient) ResendApprovedEmailDomainCode(ctx context.Context, req *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { return c.resendApprovedEmailDomainCode.CallUnary(ctx, req) } -// DeleteApprovedEmailDomain calls brent.BrentService.DeleteApprovedEmailDomain. -func (c *brentServiceClient) DeleteApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { +// DeleteApprovedEmailDomain calls until.WorkspaceService.DeleteApprovedEmailDomain. +func (c *workspaceServiceClient) DeleteApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { return c.deleteApprovedEmailDomain.CallUnary(ctx, req) } -// GetWorkspaceLLMCredentialStatus calls brent.BrentService.GetWorkspaceLLMCredentialStatus. -func (c *brentServiceClient) GetWorkspaceLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { +// GetWorkspaceLLMCredentialStatus calls until.WorkspaceService.GetWorkspaceLLMCredentialStatus. +func (c *workspaceServiceClient) GetWorkspaceLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { return c.getWorkspaceLLMCredentialStatus.CallUnary(ctx, req) } -// SetWorkspaceLLMCredential calls brent.BrentService.SetWorkspaceLLMCredential. -func (c *brentServiceClient) SetWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { +// SetWorkspaceLLMCredential calls until.WorkspaceService.SetWorkspaceLLMCredential. +func (c *workspaceServiceClient) SetWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { return c.setWorkspaceLLMCredential.CallUnary(ctx, req) } -// DeleteWorkspaceLLMCredential calls brent.BrentService.DeleteWorkspaceLLMCredential. -func (c *brentServiceClient) DeleteWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { +// DeleteWorkspaceLLMCredential calls until.WorkspaceService.DeleteWorkspaceLLMCredential. +func (c *workspaceServiceClient) DeleteWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { return c.deleteWorkspaceLLMCredential.CallUnary(ctx, req) } -// GetMyCursorCredentialStatus calls brent.BrentService.GetMyCursorCredentialStatus. -func (c *brentServiceClient) GetMyCursorCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { +// GetMyCursorCredentialStatus calls until.WorkspaceService.GetMyCursorCredentialStatus. +func (c *workspaceServiceClient) GetMyCursorCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { return c.getMyCursorCredentialStatus.CallUnary(ctx, req) } -// SetMyCursorCredential calls brent.BrentService.SetMyCursorCredential. -func (c *brentServiceClient) SetMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { +// SetMyCursorCredential calls until.WorkspaceService.SetMyCursorCredential. +func (c *workspaceServiceClient) SetMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { return c.setMyCursorCredential.CallUnary(ctx, req) } -// DeleteMyCursorCredential calls brent.BrentService.DeleteMyCursorCredential. -func (c *brentServiceClient) DeleteMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { +// DeleteMyCursorCredential calls until.WorkspaceService.DeleteMyCursorCredential. +func (c *workspaceServiceClient) DeleteMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { return c.deleteMyCursorCredential.CallUnary(ctx, req) } -// GetWorkspaceIntegrationRoles calls brent.BrentService.GetWorkspaceIntegrationRoles. -func (c *brentServiceClient) GetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { +// GetWorkspaceIntegrationRoles calls until.WorkspaceService.GetWorkspaceIntegrationRoles. +func (c *workspaceServiceClient) GetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { return c.getWorkspaceIntegrationRoles.CallUnary(ctx, req) } -// SetWorkspaceIntegrationRoles calls brent.BrentService.SetWorkspaceIntegrationRoles. -func (c *brentServiceClient) SetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { +// SetWorkspaceIntegrationRoles calls until.WorkspaceService.SetWorkspaceIntegrationRoles. +func (c *workspaceServiceClient) SetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { return c.setWorkspaceIntegrationRoles.CallUnary(ctx, req) } -// ResendVerificationEmail calls brent.BrentService.ResendVerificationEmail. -func (c *brentServiceClient) ResendVerificationEmail(ctx context.Context, req *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { +// ResendVerificationEmail calls until.WorkspaceService.ResendVerificationEmail. +func (c *workspaceServiceClient) ResendVerificationEmail(ctx context.Context, req *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { return c.resendVerificationEmail.CallUnary(ctx, req) } -// BrentServiceHandler is an implementation of the brent.BrentService service. -type BrentServiceHandler interface { +// WorkspaceServiceHandler is an implementation of the until.WorkspaceService service. +type WorkspaceServiceHandler interface { // Lists open pull requests for the caller's account from the pull_requests // table (every repo Brent has webhooks for), sorted by updated_at DESC. // Gated on brent:read. @@ -1298,10 +1288,10 @@ type BrentServiceHandler interface { // Returns Brent tenant settings for the given account. Customer callers // use their JWT account; brent-area51 operators may pass any account_name // when holding admin:write. - GetBrentSettings(context.Context, *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) + GetPlanCheckSettings(context.Context, *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) // PATCH semantics for Brent tenant settings. Only set fields are written; // audit columns are server-stamped. - UpdateBrentSettings(context.Context, *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + UpdatePlanCheckSettings(context.Context, *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) // Returns the account-scoped integration marketplace catalogue: Composio cache // rows plus synthesised first-party and BYO entries with per-account connection // state. Gated on brent:read. @@ -1470,720 +1460,720 @@ type BrentServiceHandler interface { ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) } -// NewBrentServiceHandler builds an HTTP handler from the service implementation. It returns the +// NewWorkspaceServiceHandler builds an HTTP handler from the service implementation. It returns the // path on which to mount the handler and the handler itself. // // By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf // and JSON codecs. They also support gzip compression. -func NewBrentServiceHandler(svc BrentServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { - brentServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentService").Methods() - brentServiceListOpenPullRequestsHandler := connect.NewUnaryHandler( - BrentServiceListOpenPullRequestsProcedure, +func NewWorkspaceServiceHandler(svc WorkspaceServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + workspaceServiceMethods := sdp_go.File_brent_proto.Services().ByName("WorkspaceService").Methods() + workspaceServiceListOpenPullRequestsHandler := connect.NewUnaryHandler( + WorkspaceServiceListOpenPullRequestsProcedure, svc.ListOpenPullRequests, - connect.WithSchema(brentServiceMethods.ByName("ListOpenPullRequests")), + connect.WithSchema(workspaceServiceMethods.ByName("ListOpenPullRequests")), connect.WithHandlerOptions(opts...), ) - brentServiceGetPullRequestHandler := connect.NewUnaryHandler( - BrentServiceGetPullRequestProcedure, + workspaceServiceGetPullRequestHandler := connect.NewUnaryHandler( + WorkspaceServiceGetPullRequestProcedure, svc.GetPullRequest, - connect.WithSchema(brentServiceMethods.ByName("GetPullRequest")), + connect.WithSchema(workspaceServiceMethods.ByName("GetPullRequest")), connect.WithHandlerOptions(opts...), ) - brentServiceGetPrincipalStatusHandler := connect.NewUnaryHandler( - BrentServiceGetPrincipalStatusProcedure, + workspaceServiceGetPrincipalStatusHandler := connect.NewUnaryHandler( + WorkspaceServiceGetPrincipalStatusProcedure, svc.GetPrincipalStatus, - connect.WithSchema(brentServiceMethods.ByName("GetPrincipalStatus")), + connect.WithSchema(workspaceServiceMethods.ByName("GetPrincipalStatus")), connect.WithHandlerOptions(opts...), ) - brentServiceGetPlanPromptHandler := connect.NewUnaryHandler( - BrentServiceGetPlanPromptProcedure, + workspaceServiceGetPlanPromptHandler := connect.NewUnaryHandler( + WorkspaceServiceGetPlanPromptProcedure, svc.GetPlanPrompt, - connect.WithSchema(brentServiceMethods.ByName("GetPlanPrompt")), + connect.WithSchema(workspaceServiceMethods.ByName("GetPlanPrompt")), connect.WithHandlerOptions(opts...), ) - brentServiceGetIntegrationConnectURLHandler := connect.NewUnaryHandler( - BrentServiceGetIntegrationConnectURLProcedure, + workspaceServiceGetIntegrationConnectURLHandler := connect.NewUnaryHandler( + WorkspaceServiceGetIntegrationConnectURLProcedure, svc.GetIntegrationConnectURL, - connect.WithSchema(brentServiceMethods.ByName("GetIntegrationConnectURL")), + connect.WithSchema(workspaceServiceMethods.ByName("GetIntegrationConnectURL")), connect.WithHandlerOptions(opts...), ) - brentServiceDisconnectIntegrationHandler := connect.NewUnaryHandler( - BrentServiceDisconnectIntegrationProcedure, + workspaceServiceDisconnectIntegrationHandler := connect.NewUnaryHandler( + WorkspaceServiceDisconnectIntegrationProcedure, svc.DisconnectIntegration, - connect.WithSchema(brentServiceMethods.ByName("DisconnectIntegration")), + connect.WithSchema(workspaceServiceMethods.ByName("DisconnectIntegration")), connect.WithHandlerOptions(opts...), ) - brentServiceConnectByoHttpMcpHandler := connect.NewUnaryHandler( - BrentServiceConnectByoHttpMcpProcedure, + workspaceServiceConnectByoHttpMcpHandler := connect.NewUnaryHandler( + WorkspaceServiceConnectByoHttpMcpProcedure, svc.ConnectByoHttpMcp, - connect.WithSchema(brentServiceMethods.ByName("ConnectByoHttpMcp")), + connect.WithSchema(workspaceServiceMethods.ByName("ConnectByoHttpMcp")), connect.WithHandlerOptions(opts...), ) - brentServiceGetGitLabConnectionHandler := connect.NewUnaryHandler( - BrentServiceGetGitLabConnectionProcedure, + workspaceServiceGetGitLabConnectionHandler := connect.NewUnaryHandler( + WorkspaceServiceGetGitLabConnectionProcedure, svc.GetGitLabConnection, - connect.WithSchema(brentServiceMethods.ByName("GetGitLabConnection")), + connect.WithSchema(workspaceServiceMethods.ByName("GetGitLabConnection")), connect.WithHandlerOptions(opts...), ) - brentServiceConnectGitLabHandler := connect.NewUnaryHandler( - BrentServiceConnectGitLabProcedure, + workspaceServiceConnectGitLabHandler := connect.NewUnaryHandler( + WorkspaceServiceConnectGitLabProcedure, svc.ConnectGitLab, - connect.WithSchema(brentServiceMethods.ByName("ConnectGitLab")), + connect.WithSchema(workspaceServiceMethods.ByName("ConnectGitLab")), connect.WithHandlerOptions(opts...), ) - brentServiceSaveGitLabSigningTokenHandler := connect.NewUnaryHandler( - BrentServiceSaveGitLabSigningTokenProcedure, + workspaceServiceSaveGitLabSigningTokenHandler := connect.NewUnaryHandler( + WorkspaceServiceSaveGitLabSigningTokenProcedure, svc.SaveGitLabSigningToken, - connect.WithSchema(brentServiceMethods.ByName("SaveGitLabSigningToken")), + connect.WithSchema(workspaceServiceMethods.ByName("SaveGitLabSigningToken")), connect.WithHandlerOptions(opts...), ) - brentServiceUpsertMyVerifiedBindingHandler := connect.NewUnaryHandler( - BrentServiceUpsertMyVerifiedBindingProcedure, + workspaceServiceUpsertMyVerifiedBindingHandler := connect.NewUnaryHandler( + WorkspaceServiceUpsertMyVerifiedBindingProcedure, svc.UpsertMyVerifiedBinding, - connect.WithSchema(brentServiceMethods.ByName("UpsertMyVerifiedBinding")), + connect.WithSchema(workspaceServiceMethods.ByName("UpsertMyVerifiedBinding")), connect.WithHandlerOptions(opts...), ) - brentServiceListMyBindingsHandler := connect.NewUnaryHandler( - BrentServiceListMyBindingsProcedure, + workspaceServiceListMyBindingsHandler := connect.NewUnaryHandler( + WorkspaceServiceListMyBindingsProcedure, svc.ListMyBindings, - connect.WithSchema(brentServiceMethods.ByName("ListMyBindings")), + connect.WithSchema(workspaceServiceMethods.ByName("ListMyBindings")), connect.WithHandlerOptions(opts...), ) - brentServiceGetMyNotificationPreferencesHandler := connect.NewUnaryHandler( - BrentServiceGetMyNotificationPreferencesProcedure, + workspaceServiceGetMyNotificationPreferencesHandler := connect.NewUnaryHandler( + WorkspaceServiceGetMyNotificationPreferencesProcedure, svc.GetMyNotificationPreferences, - connect.WithSchema(brentServiceMethods.ByName("GetMyNotificationPreferences")), + connect.WithSchema(workspaceServiceMethods.ByName("GetMyNotificationPreferences")), connect.WithHandlerOptions(opts...), ) - brentServiceUpdateMyNotificationPreferencesHandler := connect.NewUnaryHandler( - BrentServiceUpdateMyNotificationPreferencesProcedure, + workspaceServiceUpdateMyNotificationPreferencesHandler := connect.NewUnaryHandler( + WorkspaceServiceUpdateMyNotificationPreferencesProcedure, svc.UpdateMyNotificationPreferences, - connect.WithSchema(brentServiceMethods.ByName("UpdateMyNotificationPreferences")), + connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyNotificationPreferences")), connect.WithHandlerOptions(opts...), ) - brentServiceRegisterMyPushSubscriptionHandler := connect.NewUnaryHandler( - BrentServiceRegisterMyPushSubscriptionProcedure, + workspaceServiceRegisterMyPushSubscriptionHandler := connect.NewUnaryHandler( + WorkspaceServiceRegisterMyPushSubscriptionProcedure, svc.RegisterMyPushSubscription, - connect.WithSchema(brentServiceMethods.ByName("RegisterMyPushSubscription")), + connect.WithSchema(workspaceServiceMethods.ByName("RegisterMyPushSubscription")), connect.WithHandlerOptions(opts...), ) - brentServiceGetWebPushPublicKeyHandler := connect.NewUnaryHandler( - BrentServiceGetWebPushPublicKeyProcedure, + workspaceServiceGetWebPushPublicKeyHandler := connect.NewUnaryHandler( + WorkspaceServiceGetWebPushPublicKeyProcedure, svc.GetWebPushPublicKey, - connect.WithSchema(brentServiceMethods.ByName("GetWebPushPublicKey")), + connect.WithSchema(workspaceServiceMethods.ByName("GetWebPushPublicKey")), connect.WithHandlerOptions(opts...), ) - brentServiceUpdateMyDisplayNameHandler := connect.NewUnaryHandler( - BrentServiceUpdateMyDisplayNameProcedure, + workspaceServiceUpdateMyDisplayNameHandler := connect.NewUnaryHandler( + WorkspaceServiceUpdateMyDisplayNameProcedure, svc.UpdateMyDisplayName, - connect.WithSchema(brentServiceMethods.ByName("UpdateMyDisplayName")), + connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyDisplayName")), connect.WithHandlerOptions(opts...), ) - brentServiceGetBrentSettingsHandler := connect.NewUnaryHandler( - BrentServiceGetBrentSettingsProcedure, - svc.GetBrentSettings, - connect.WithSchema(brentServiceMethods.ByName("GetBrentSettings")), + workspaceServiceGetPlanCheckSettingsHandler := connect.NewUnaryHandler( + WorkspaceServiceGetPlanCheckSettingsProcedure, + svc.GetPlanCheckSettings, + connect.WithSchema(workspaceServiceMethods.ByName("GetPlanCheckSettings")), connect.WithHandlerOptions(opts...), ) - brentServiceUpdateBrentSettingsHandler := connect.NewUnaryHandler( - BrentServiceUpdateBrentSettingsProcedure, - svc.UpdateBrentSettings, - connect.WithSchema(brentServiceMethods.ByName("UpdateBrentSettings")), + workspaceServiceUpdatePlanCheckSettingsHandler := connect.NewUnaryHandler( + WorkspaceServiceUpdatePlanCheckSettingsProcedure, + svc.UpdatePlanCheckSettings, + connect.WithSchema(workspaceServiceMethods.ByName("UpdatePlanCheckSettings")), connect.WithHandlerOptions(opts...), ) - brentServiceListIntegrationCatalogueHandler := connect.NewUnaryHandler( - BrentServiceListIntegrationCatalogueProcedure, + workspaceServiceListIntegrationCatalogueHandler := connect.NewUnaryHandler( + WorkspaceServiceListIntegrationCatalogueProcedure, svc.ListIntegrationCatalogue, - connect.WithSchema(brentServiceMethods.ByName("ListIntegrationCatalogue")), + connect.WithSchema(workspaceServiceMethods.ByName("ListIntegrationCatalogue")), connect.WithHandlerOptions(opts...), ) - brentServiceCreateWorkspaceHandler := connect.NewUnaryHandler( - BrentServiceCreateWorkspaceProcedure, + workspaceServiceCreateWorkspaceHandler := connect.NewUnaryHandler( + WorkspaceServiceCreateWorkspaceProcedure, svc.CreateWorkspace, - connect.WithSchema(brentServiceMethods.ByName("CreateWorkspace")), + connect.WithSchema(workspaceServiceMethods.ByName("CreateWorkspace")), connect.WithHandlerOptions(opts...), ) - brentServiceListMyWorkspacesHandler := connect.NewUnaryHandler( - BrentServiceListMyWorkspacesProcedure, + workspaceServiceListMyWorkspacesHandler := connect.NewUnaryHandler( + WorkspaceServiceListMyWorkspacesProcedure, svc.ListMyWorkspaces, - connect.WithSchema(brentServiceMethods.ByName("ListMyWorkspaces")), + connect.WithSchema(workspaceServiceMethods.ByName("ListMyWorkspaces")), connect.WithHandlerOptions(opts...), ) - brentServiceDiscoverLoginRecoveryCandidatesHandler := connect.NewUnaryHandler( - BrentServiceDiscoverLoginRecoveryCandidatesProcedure, + workspaceServiceDiscoverLoginRecoveryCandidatesHandler := connect.NewUnaryHandler( + WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure, svc.DiscoverLoginRecoveryCandidates, - connect.WithSchema(brentServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), + connect.WithSchema(workspaceServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), connect.WithHandlerOptions(opts...), ) - brentServiceRenameWorkspaceHandler := connect.NewUnaryHandler( - BrentServiceRenameWorkspaceProcedure, + workspaceServiceRenameWorkspaceHandler := connect.NewUnaryHandler( + WorkspaceServiceRenameWorkspaceProcedure, svc.RenameWorkspace, - connect.WithSchema(brentServiceMethods.ByName("RenameWorkspace")), + connect.WithSchema(workspaceServiceMethods.ByName("RenameWorkspace")), connect.WithHandlerOptions(opts...), ) - brentServiceUpdateWorkspaceBrandingHandler := connect.NewUnaryHandler( - BrentServiceUpdateWorkspaceBrandingProcedure, + workspaceServiceUpdateWorkspaceBrandingHandler := connect.NewUnaryHandler( + WorkspaceServiceUpdateWorkspaceBrandingProcedure, svc.UpdateWorkspaceBranding, - connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceBranding")), + connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceBranding")), connect.WithHandlerOptions(opts...), ) - brentServiceCompleteWorkspaceOnboardingHandler := connect.NewUnaryHandler( - BrentServiceCompleteWorkspaceOnboardingProcedure, + workspaceServiceCompleteWorkspaceOnboardingHandler := connect.NewUnaryHandler( + WorkspaceServiceCompleteWorkspaceOnboardingProcedure, svc.CompleteWorkspaceOnboarding, - connect.WithSchema(brentServiceMethods.ByName("CompleteWorkspaceOnboarding")), + connect.WithSchema(workspaceServiceMethods.ByName("CompleteWorkspaceOnboarding")), connect.WithHandlerOptions(opts...), ) - brentServiceDeleteWorkspaceHandler := connect.NewUnaryHandler( - BrentServiceDeleteWorkspaceProcedure, + workspaceServiceDeleteWorkspaceHandler := connect.NewUnaryHandler( + WorkspaceServiceDeleteWorkspaceProcedure, svc.DeleteWorkspace, - connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspace")), + connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspace")), connect.WithHandlerOptions(opts...), ) - brentServiceListJoinableWorkspacesHandler := connect.NewUnaryHandler( - BrentServiceListJoinableWorkspacesProcedure, + workspaceServiceListJoinableWorkspacesHandler := connect.NewUnaryHandler( + WorkspaceServiceListJoinableWorkspacesProcedure, svc.ListJoinableWorkspaces, - connect.WithSchema(brentServiceMethods.ByName("ListJoinableWorkspaces")), + connect.WithSchema(workspaceServiceMethods.ByName("ListJoinableWorkspaces")), connect.WithHandlerOptions(opts...), ) - brentServiceJoinWorkspaceHandler := connect.NewUnaryHandler( - BrentServiceJoinWorkspaceProcedure, + workspaceServiceJoinWorkspaceHandler := connect.NewUnaryHandler( + WorkspaceServiceJoinWorkspaceProcedure, svc.JoinWorkspace, - connect.WithSchema(brentServiceMethods.ByName("JoinWorkspace")), + connect.WithSchema(workspaceServiceMethods.ByName("JoinWorkspace")), connect.WithHandlerOptions(opts...), ) - brentServiceCreateInvitationHandler := connect.NewUnaryHandler( - BrentServiceCreateInvitationProcedure, + workspaceServiceCreateInvitationHandler := connect.NewUnaryHandler( + WorkspaceServiceCreateInvitationProcedure, svc.CreateInvitation, - connect.WithSchema(brentServiceMethods.ByName("CreateInvitation")), + connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitation")), connect.WithHandlerOptions(opts...), ) - brentServiceCreateInvitationsHandler := connect.NewUnaryHandler( - BrentServiceCreateInvitationsProcedure, + workspaceServiceCreateInvitationsHandler := connect.NewUnaryHandler( + WorkspaceServiceCreateInvitationsProcedure, svc.CreateInvitations, - connect.WithSchema(brentServiceMethods.ByName("CreateInvitations")), + connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitations")), connect.WithHandlerOptions(opts...), ) - brentServiceAcceptInvitationHandler := connect.NewUnaryHandler( - BrentServiceAcceptInvitationProcedure, + workspaceServiceAcceptInvitationHandler := connect.NewUnaryHandler( + WorkspaceServiceAcceptInvitationProcedure, svc.AcceptInvitation, - connect.WithSchema(brentServiceMethods.ByName("AcceptInvitation")), + connect.WithSchema(workspaceServiceMethods.ByName("AcceptInvitation")), connect.WithHandlerOptions(opts...), ) - brentServiceListWorkspaceMembersHandler := connect.NewUnaryHandler( - BrentServiceListWorkspaceMembersProcedure, + workspaceServiceListWorkspaceMembersHandler := connect.NewUnaryHandler( + WorkspaceServiceListWorkspaceMembersProcedure, svc.ListWorkspaceMembers, - connect.WithSchema(brentServiceMethods.ByName("ListWorkspaceMembers")), + connect.WithSchema(workspaceServiceMethods.ByName("ListWorkspaceMembers")), connect.WithHandlerOptions(opts...), ) - brentServiceResendInvitationHandler := connect.NewUnaryHandler( - BrentServiceResendInvitationProcedure, + workspaceServiceResendInvitationHandler := connect.NewUnaryHandler( + WorkspaceServiceResendInvitationProcedure, svc.ResendInvitation, - connect.WithSchema(brentServiceMethods.ByName("ResendInvitation")), + connect.WithSchema(workspaceServiceMethods.ByName("ResendInvitation")), connect.WithHandlerOptions(opts...), ) - brentServiceRevokeInvitationHandler := connect.NewUnaryHandler( - BrentServiceRevokeInvitationProcedure, + workspaceServiceRevokeInvitationHandler := connect.NewUnaryHandler( + WorkspaceServiceRevokeInvitationProcedure, svc.RevokeInvitation, - connect.WithSchema(brentServiceMethods.ByName("RevokeInvitation")), + connect.WithSchema(workspaceServiceMethods.ByName("RevokeInvitation")), connect.WithHandlerOptions(opts...), ) - brentServiceRemoveWorkspaceMemberHandler := connect.NewUnaryHandler( - BrentServiceRemoveWorkspaceMemberProcedure, + workspaceServiceRemoveWorkspaceMemberHandler := connect.NewUnaryHandler( + WorkspaceServiceRemoveWorkspaceMemberProcedure, svc.RemoveWorkspaceMember, - connect.WithSchema(brentServiceMethods.ByName("RemoveWorkspaceMember")), + connect.WithSchema(workspaceServiceMethods.ByName("RemoveWorkspaceMember")), connect.WithHandlerOptions(opts...), ) - brentServiceUpdateWorkspaceMemberRoleHandler := connect.NewUnaryHandler( - BrentServiceUpdateWorkspaceMemberRoleProcedure, + workspaceServiceUpdateWorkspaceMemberRoleHandler := connect.NewUnaryHandler( + WorkspaceServiceUpdateWorkspaceMemberRoleProcedure, svc.UpdateWorkspaceMemberRole, - connect.WithSchema(brentServiceMethods.ByName("UpdateWorkspaceMemberRole")), + connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceMemberRole")), connect.WithHandlerOptions(opts...), ) - brentServiceListApprovedEmailDomainsHandler := connect.NewUnaryHandler( - BrentServiceListApprovedEmailDomainsProcedure, + workspaceServiceListApprovedEmailDomainsHandler := connect.NewUnaryHandler( + WorkspaceServiceListApprovedEmailDomainsProcedure, svc.ListApprovedEmailDomains, - connect.WithSchema(brentServiceMethods.ByName("ListApprovedEmailDomains")), + connect.WithSchema(workspaceServiceMethods.ByName("ListApprovedEmailDomains")), connect.WithHandlerOptions(opts...), ) - brentServiceAddApprovedEmailDomainHandler := connect.NewUnaryHandler( - BrentServiceAddApprovedEmailDomainProcedure, + workspaceServiceAddApprovedEmailDomainHandler := connect.NewUnaryHandler( + WorkspaceServiceAddApprovedEmailDomainProcedure, svc.AddApprovedEmailDomain, - connect.WithSchema(brentServiceMethods.ByName("AddApprovedEmailDomain")), + connect.WithSchema(workspaceServiceMethods.ByName("AddApprovedEmailDomain")), connect.WithHandlerOptions(opts...), ) - brentServiceVerifyApprovedEmailDomainHandler := connect.NewUnaryHandler( - BrentServiceVerifyApprovedEmailDomainProcedure, + workspaceServiceVerifyApprovedEmailDomainHandler := connect.NewUnaryHandler( + WorkspaceServiceVerifyApprovedEmailDomainProcedure, svc.VerifyApprovedEmailDomain, - connect.WithSchema(brentServiceMethods.ByName("VerifyApprovedEmailDomain")), + connect.WithSchema(workspaceServiceMethods.ByName("VerifyApprovedEmailDomain")), connect.WithHandlerOptions(opts...), ) - brentServiceResendApprovedEmailDomainCodeHandler := connect.NewUnaryHandler( - BrentServiceResendApprovedEmailDomainCodeProcedure, + workspaceServiceResendApprovedEmailDomainCodeHandler := connect.NewUnaryHandler( + WorkspaceServiceResendApprovedEmailDomainCodeProcedure, svc.ResendApprovedEmailDomainCode, - connect.WithSchema(brentServiceMethods.ByName("ResendApprovedEmailDomainCode")), + connect.WithSchema(workspaceServiceMethods.ByName("ResendApprovedEmailDomainCode")), connect.WithHandlerOptions(opts...), ) - brentServiceDeleteApprovedEmailDomainHandler := connect.NewUnaryHandler( - BrentServiceDeleteApprovedEmailDomainProcedure, + workspaceServiceDeleteApprovedEmailDomainHandler := connect.NewUnaryHandler( + WorkspaceServiceDeleteApprovedEmailDomainProcedure, svc.DeleteApprovedEmailDomain, - connect.WithSchema(brentServiceMethods.ByName("DeleteApprovedEmailDomain")), + connect.WithSchema(workspaceServiceMethods.ByName("DeleteApprovedEmailDomain")), connect.WithHandlerOptions(opts...), ) - brentServiceGetWorkspaceLLMCredentialStatusHandler := connect.NewUnaryHandler( - BrentServiceGetWorkspaceLLMCredentialStatusProcedure, + workspaceServiceGetWorkspaceLLMCredentialStatusHandler := connect.NewUnaryHandler( + WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure, svc.GetWorkspaceLLMCredentialStatus, - connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), + connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), connect.WithHandlerOptions(opts...), ) - brentServiceSetWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( - BrentServiceSetWorkspaceLLMCredentialProcedure, + workspaceServiceSetWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( + WorkspaceServiceSetWorkspaceLLMCredentialProcedure, svc.SetWorkspaceLLMCredential, - connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceLLMCredential")), + connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceLLMCredential")), connect.WithHandlerOptions(opts...), ) - brentServiceDeleteWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( - BrentServiceDeleteWorkspaceLLMCredentialProcedure, + workspaceServiceDeleteWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( + WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure, svc.DeleteWorkspaceLLMCredential, - connect.WithSchema(brentServiceMethods.ByName("DeleteWorkspaceLLMCredential")), + connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspaceLLMCredential")), connect.WithHandlerOptions(opts...), ) - brentServiceGetMyCursorCredentialStatusHandler := connect.NewUnaryHandler( - BrentServiceGetMyCursorCredentialStatusProcedure, + workspaceServiceGetMyCursorCredentialStatusHandler := connect.NewUnaryHandler( + WorkspaceServiceGetMyCursorCredentialStatusProcedure, svc.GetMyCursorCredentialStatus, - connect.WithSchema(brentServiceMethods.ByName("GetMyCursorCredentialStatus")), + connect.WithSchema(workspaceServiceMethods.ByName("GetMyCursorCredentialStatus")), connect.WithHandlerOptions(opts...), ) - brentServiceSetMyCursorCredentialHandler := connect.NewUnaryHandler( - BrentServiceSetMyCursorCredentialProcedure, + workspaceServiceSetMyCursorCredentialHandler := connect.NewUnaryHandler( + WorkspaceServiceSetMyCursorCredentialProcedure, svc.SetMyCursorCredential, - connect.WithSchema(brentServiceMethods.ByName("SetMyCursorCredential")), + connect.WithSchema(workspaceServiceMethods.ByName("SetMyCursorCredential")), connect.WithHandlerOptions(opts...), ) - brentServiceDeleteMyCursorCredentialHandler := connect.NewUnaryHandler( - BrentServiceDeleteMyCursorCredentialProcedure, + workspaceServiceDeleteMyCursorCredentialHandler := connect.NewUnaryHandler( + WorkspaceServiceDeleteMyCursorCredentialProcedure, svc.DeleteMyCursorCredential, - connect.WithSchema(brentServiceMethods.ByName("DeleteMyCursorCredential")), + connect.WithSchema(workspaceServiceMethods.ByName("DeleteMyCursorCredential")), connect.WithHandlerOptions(opts...), ) - brentServiceGetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( - BrentServiceGetWorkspaceIntegrationRolesProcedure, + workspaceServiceGetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( + WorkspaceServiceGetWorkspaceIntegrationRolesProcedure, svc.GetWorkspaceIntegrationRoles, - connect.WithSchema(brentServiceMethods.ByName("GetWorkspaceIntegrationRoles")), + connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceIntegrationRoles")), connect.WithHandlerOptions(opts...), ) - brentServiceSetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( - BrentServiceSetWorkspaceIntegrationRolesProcedure, + workspaceServiceSetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( + WorkspaceServiceSetWorkspaceIntegrationRolesProcedure, svc.SetWorkspaceIntegrationRoles, - connect.WithSchema(brentServiceMethods.ByName("SetWorkspaceIntegrationRoles")), + connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceIntegrationRoles")), connect.WithHandlerOptions(opts...), ) - brentServiceResendVerificationEmailHandler := connect.NewUnaryHandler( - BrentServiceResendVerificationEmailProcedure, + workspaceServiceResendVerificationEmailHandler := connect.NewUnaryHandler( + WorkspaceServiceResendVerificationEmailProcedure, svc.ResendVerificationEmail, - connect.WithSchema(brentServiceMethods.ByName("ResendVerificationEmail")), + connect.WithSchema(workspaceServiceMethods.ByName("ResendVerificationEmail")), connect.WithHandlerOptions(opts...), ) - return "/brent.BrentService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + return "/until.WorkspaceService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { - case BrentServiceListOpenPullRequestsProcedure: - brentServiceListOpenPullRequestsHandler.ServeHTTP(w, r) - case BrentServiceGetPullRequestProcedure: - brentServiceGetPullRequestHandler.ServeHTTP(w, r) - case BrentServiceGetPrincipalStatusProcedure: - brentServiceGetPrincipalStatusHandler.ServeHTTP(w, r) - case BrentServiceGetPlanPromptProcedure: - brentServiceGetPlanPromptHandler.ServeHTTP(w, r) - case BrentServiceGetIntegrationConnectURLProcedure: - brentServiceGetIntegrationConnectURLHandler.ServeHTTP(w, r) - case BrentServiceDisconnectIntegrationProcedure: - brentServiceDisconnectIntegrationHandler.ServeHTTP(w, r) - case BrentServiceConnectByoHttpMcpProcedure: - brentServiceConnectByoHttpMcpHandler.ServeHTTP(w, r) - case BrentServiceGetGitLabConnectionProcedure: - brentServiceGetGitLabConnectionHandler.ServeHTTP(w, r) - case BrentServiceConnectGitLabProcedure: - brentServiceConnectGitLabHandler.ServeHTTP(w, r) - case BrentServiceSaveGitLabSigningTokenProcedure: - brentServiceSaveGitLabSigningTokenHandler.ServeHTTP(w, r) - case BrentServiceUpsertMyVerifiedBindingProcedure: - brentServiceUpsertMyVerifiedBindingHandler.ServeHTTP(w, r) - case BrentServiceListMyBindingsProcedure: - brentServiceListMyBindingsHandler.ServeHTTP(w, r) - case BrentServiceGetMyNotificationPreferencesProcedure: - brentServiceGetMyNotificationPreferencesHandler.ServeHTTP(w, r) - case BrentServiceUpdateMyNotificationPreferencesProcedure: - brentServiceUpdateMyNotificationPreferencesHandler.ServeHTTP(w, r) - case BrentServiceRegisterMyPushSubscriptionProcedure: - brentServiceRegisterMyPushSubscriptionHandler.ServeHTTP(w, r) - case BrentServiceGetWebPushPublicKeyProcedure: - brentServiceGetWebPushPublicKeyHandler.ServeHTTP(w, r) - case BrentServiceUpdateMyDisplayNameProcedure: - brentServiceUpdateMyDisplayNameHandler.ServeHTTP(w, r) - case BrentServiceGetBrentSettingsProcedure: - brentServiceGetBrentSettingsHandler.ServeHTTP(w, r) - case BrentServiceUpdateBrentSettingsProcedure: - brentServiceUpdateBrentSettingsHandler.ServeHTTP(w, r) - case BrentServiceListIntegrationCatalogueProcedure: - brentServiceListIntegrationCatalogueHandler.ServeHTTP(w, r) - case BrentServiceCreateWorkspaceProcedure: - brentServiceCreateWorkspaceHandler.ServeHTTP(w, r) - case BrentServiceListMyWorkspacesProcedure: - brentServiceListMyWorkspacesHandler.ServeHTTP(w, r) - case BrentServiceDiscoverLoginRecoveryCandidatesProcedure: - brentServiceDiscoverLoginRecoveryCandidatesHandler.ServeHTTP(w, r) - case BrentServiceRenameWorkspaceProcedure: - brentServiceRenameWorkspaceHandler.ServeHTTP(w, r) - case BrentServiceUpdateWorkspaceBrandingProcedure: - brentServiceUpdateWorkspaceBrandingHandler.ServeHTTP(w, r) - case BrentServiceCompleteWorkspaceOnboardingProcedure: - brentServiceCompleteWorkspaceOnboardingHandler.ServeHTTP(w, r) - case BrentServiceDeleteWorkspaceProcedure: - brentServiceDeleteWorkspaceHandler.ServeHTTP(w, r) - case BrentServiceListJoinableWorkspacesProcedure: - brentServiceListJoinableWorkspacesHandler.ServeHTTP(w, r) - case BrentServiceJoinWorkspaceProcedure: - brentServiceJoinWorkspaceHandler.ServeHTTP(w, r) - case BrentServiceCreateInvitationProcedure: - brentServiceCreateInvitationHandler.ServeHTTP(w, r) - case BrentServiceCreateInvitationsProcedure: - brentServiceCreateInvitationsHandler.ServeHTTP(w, r) - case BrentServiceAcceptInvitationProcedure: - brentServiceAcceptInvitationHandler.ServeHTTP(w, r) - case BrentServiceListWorkspaceMembersProcedure: - brentServiceListWorkspaceMembersHandler.ServeHTTP(w, r) - case BrentServiceResendInvitationProcedure: - brentServiceResendInvitationHandler.ServeHTTP(w, r) - case BrentServiceRevokeInvitationProcedure: - brentServiceRevokeInvitationHandler.ServeHTTP(w, r) - case BrentServiceRemoveWorkspaceMemberProcedure: - brentServiceRemoveWorkspaceMemberHandler.ServeHTTP(w, r) - case BrentServiceUpdateWorkspaceMemberRoleProcedure: - brentServiceUpdateWorkspaceMemberRoleHandler.ServeHTTP(w, r) - case BrentServiceListApprovedEmailDomainsProcedure: - brentServiceListApprovedEmailDomainsHandler.ServeHTTP(w, r) - case BrentServiceAddApprovedEmailDomainProcedure: - brentServiceAddApprovedEmailDomainHandler.ServeHTTP(w, r) - case BrentServiceVerifyApprovedEmailDomainProcedure: - brentServiceVerifyApprovedEmailDomainHandler.ServeHTTP(w, r) - case BrentServiceResendApprovedEmailDomainCodeProcedure: - brentServiceResendApprovedEmailDomainCodeHandler.ServeHTTP(w, r) - case BrentServiceDeleteApprovedEmailDomainProcedure: - brentServiceDeleteApprovedEmailDomainHandler.ServeHTTP(w, r) - case BrentServiceGetWorkspaceLLMCredentialStatusProcedure: - brentServiceGetWorkspaceLLMCredentialStatusHandler.ServeHTTP(w, r) - case BrentServiceSetWorkspaceLLMCredentialProcedure: - brentServiceSetWorkspaceLLMCredentialHandler.ServeHTTP(w, r) - case BrentServiceDeleteWorkspaceLLMCredentialProcedure: - brentServiceDeleteWorkspaceLLMCredentialHandler.ServeHTTP(w, r) - case BrentServiceGetMyCursorCredentialStatusProcedure: - brentServiceGetMyCursorCredentialStatusHandler.ServeHTTP(w, r) - case BrentServiceSetMyCursorCredentialProcedure: - brentServiceSetMyCursorCredentialHandler.ServeHTTP(w, r) - case BrentServiceDeleteMyCursorCredentialProcedure: - brentServiceDeleteMyCursorCredentialHandler.ServeHTTP(w, r) - case BrentServiceGetWorkspaceIntegrationRolesProcedure: - brentServiceGetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) - case BrentServiceSetWorkspaceIntegrationRolesProcedure: - brentServiceSetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) - case BrentServiceResendVerificationEmailProcedure: - brentServiceResendVerificationEmailHandler.ServeHTTP(w, r) + case WorkspaceServiceListOpenPullRequestsProcedure: + workspaceServiceListOpenPullRequestsHandler.ServeHTTP(w, r) + case WorkspaceServiceGetPullRequestProcedure: + workspaceServiceGetPullRequestHandler.ServeHTTP(w, r) + case WorkspaceServiceGetPrincipalStatusProcedure: + workspaceServiceGetPrincipalStatusHandler.ServeHTTP(w, r) + case WorkspaceServiceGetPlanPromptProcedure: + workspaceServiceGetPlanPromptHandler.ServeHTTP(w, r) + case WorkspaceServiceGetIntegrationConnectURLProcedure: + workspaceServiceGetIntegrationConnectURLHandler.ServeHTTP(w, r) + case WorkspaceServiceDisconnectIntegrationProcedure: + workspaceServiceDisconnectIntegrationHandler.ServeHTTP(w, r) + case WorkspaceServiceConnectByoHttpMcpProcedure: + workspaceServiceConnectByoHttpMcpHandler.ServeHTTP(w, r) + case WorkspaceServiceGetGitLabConnectionProcedure: + workspaceServiceGetGitLabConnectionHandler.ServeHTTP(w, r) + case WorkspaceServiceConnectGitLabProcedure: + workspaceServiceConnectGitLabHandler.ServeHTTP(w, r) + case WorkspaceServiceSaveGitLabSigningTokenProcedure: + workspaceServiceSaveGitLabSigningTokenHandler.ServeHTTP(w, r) + case WorkspaceServiceUpsertMyVerifiedBindingProcedure: + workspaceServiceUpsertMyVerifiedBindingHandler.ServeHTTP(w, r) + case WorkspaceServiceListMyBindingsProcedure: + workspaceServiceListMyBindingsHandler.ServeHTTP(w, r) + case WorkspaceServiceGetMyNotificationPreferencesProcedure: + workspaceServiceGetMyNotificationPreferencesHandler.ServeHTTP(w, r) + case WorkspaceServiceUpdateMyNotificationPreferencesProcedure: + workspaceServiceUpdateMyNotificationPreferencesHandler.ServeHTTP(w, r) + case WorkspaceServiceRegisterMyPushSubscriptionProcedure: + workspaceServiceRegisterMyPushSubscriptionHandler.ServeHTTP(w, r) + case WorkspaceServiceGetWebPushPublicKeyProcedure: + workspaceServiceGetWebPushPublicKeyHandler.ServeHTTP(w, r) + case WorkspaceServiceUpdateMyDisplayNameProcedure: + workspaceServiceUpdateMyDisplayNameHandler.ServeHTTP(w, r) + case WorkspaceServiceGetPlanCheckSettingsProcedure: + workspaceServiceGetPlanCheckSettingsHandler.ServeHTTP(w, r) + case WorkspaceServiceUpdatePlanCheckSettingsProcedure: + workspaceServiceUpdatePlanCheckSettingsHandler.ServeHTTP(w, r) + case WorkspaceServiceListIntegrationCatalogueProcedure: + workspaceServiceListIntegrationCatalogueHandler.ServeHTTP(w, r) + case WorkspaceServiceCreateWorkspaceProcedure: + workspaceServiceCreateWorkspaceHandler.ServeHTTP(w, r) + case WorkspaceServiceListMyWorkspacesProcedure: + workspaceServiceListMyWorkspacesHandler.ServeHTTP(w, r) + case WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure: + workspaceServiceDiscoverLoginRecoveryCandidatesHandler.ServeHTTP(w, r) + case WorkspaceServiceRenameWorkspaceProcedure: + workspaceServiceRenameWorkspaceHandler.ServeHTTP(w, r) + case WorkspaceServiceUpdateWorkspaceBrandingProcedure: + workspaceServiceUpdateWorkspaceBrandingHandler.ServeHTTP(w, r) + case WorkspaceServiceCompleteWorkspaceOnboardingProcedure: + workspaceServiceCompleteWorkspaceOnboardingHandler.ServeHTTP(w, r) + case WorkspaceServiceDeleteWorkspaceProcedure: + workspaceServiceDeleteWorkspaceHandler.ServeHTTP(w, r) + case WorkspaceServiceListJoinableWorkspacesProcedure: + workspaceServiceListJoinableWorkspacesHandler.ServeHTTP(w, r) + case WorkspaceServiceJoinWorkspaceProcedure: + workspaceServiceJoinWorkspaceHandler.ServeHTTP(w, r) + case WorkspaceServiceCreateInvitationProcedure: + workspaceServiceCreateInvitationHandler.ServeHTTP(w, r) + case WorkspaceServiceCreateInvitationsProcedure: + workspaceServiceCreateInvitationsHandler.ServeHTTP(w, r) + case WorkspaceServiceAcceptInvitationProcedure: + workspaceServiceAcceptInvitationHandler.ServeHTTP(w, r) + case WorkspaceServiceListWorkspaceMembersProcedure: + workspaceServiceListWorkspaceMembersHandler.ServeHTTP(w, r) + case WorkspaceServiceResendInvitationProcedure: + workspaceServiceResendInvitationHandler.ServeHTTP(w, r) + case WorkspaceServiceRevokeInvitationProcedure: + workspaceServiceRevokeInvitationHandler.ServeHTTP(w, r) + case WorkspaceServiceRemoveWorkspaceMemberProcedure: + workspaceServiceRemoveWorkspaceMemberHandler.ServeHTTP(w, r) + case WorkspaceServiceUpdateWorkspaceMemberRoleProcedure: + workspaceServiceUpdateWorkspaceMemberRoleHandler.ServeHTTP(w, r) + case WorkspaceServiceListApprovedEmailDomainsProcedure: + workspaceServiceListApprovedEmailDomainsHandler.ServeHTTP(w, r) + case WorkspaceServiceAddApprovedEmailDomainProcedure: + workspaceServiceAddApprovedEmailDomainHandler.ServeHTTP(w, r) + case WorkspaceServiceVerifyApprovedEmailDomainProcedure: + workspaceServiceVerifyApprovedEmailDomainHandler.ServeHTTP(w, r) + case WorkspaceServiceResendApprovedEmailDomainCodeProcedure: + workspaceServiceResendApprovedEmailDomainCodeHandler.ServeHTTP(w, r) + case WorkspaceServiceDeleteApprovedEmailDomainProcedure: + workspaceServiceDeleteApprovedEmailDomainHandler.ServeHTTP(w, r) + case WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure: + workspaceServiceGetWorkspaceLLMCredentialStatusHandler.ServeHTTP(w, r) + case WorkspaceServiceSetWorkspaceLLMCredentialProcedure: + workspaceServiceSetWorkspaceLLMCredentialHandler.ServeHTTP(w, r) + case WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure: + workspaceServiceDeleteWorkspaceLLMCredentialHandler.ServeHTTP(w, r) + case WorkspaceServiceGetMyCursorCredentialStatusProcedure: + workspaceServiceGetMyCursorCredentialStatusHandler.ServeHTTP(w, r) + case WorkspaceServiceSetMyCursorCredentialProcedure: + workspaceServiceSetMyCursorCredentialHandler.ServeHTTP(w, r) + case WorkspaceServiceDeleteMyCursorCredentialProcedure: + workspaceServiceDeleteMyCursorCredentialHandler.ServeHTTP(w, r) + case WorkspaceServiceGetWorkspaceIntegrationRolesProcedure: + workspaceServiceGetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) + case WorkspaceServiceSetWorkspaceIntegrationRolesProcedure: + workspaceServiceSetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) + case WorkspaceServiceResendVerificationEmailProcedure: + workspaceServiceResendVerificationEmailHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } }) } -// UnimplementedBrentServiceHandler returns CodeUnimplemented from all methods. -type UnimplementedBrentServiceHandler struct{} +// UnimplementedWorkspaceServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedWorkspaceServiceHandler struct{} -func (UnimplementedBrentServiceHandler) ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListOpenPullRequests is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListOpenPullRequests is not implemented")) } -func (UnimplementedBrentServiceHandler) GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetPullRequest is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPullRequest is not implemented")) } -func (UnimplementedBrentServiceHandler) GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetPrincipalStatus is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPrincipalStatus is not implemented")) } -func (UnimplementedBrentServiceHandler) GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetPlanPrompt is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPlanPrompt is not implemented")) } -func (UnimplementedBrentServiceHandler) GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetIntegrationConnectURL is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetIntegrationConnectURL is not implemented")) } -func (UnimplementedBrentServiceHandler) DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DisconnectIntegration is not implemented")) +func (UnimplementedWorkspaceServiceHandler) DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DisconnectIntegration is not implemented")) } -func (UnimplementedBrentServiceHandler) ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ConnectByoHttpMcp is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ConnectByoHttpMcp is not implemented")) } -func (UnimplementedBrentServiceHandler) GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetGitLabConnection is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetGitLabConnection is not implemented")) } -func (UnimplementedBrentServiceHandler) ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ConnectGitLab is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ConnectGitLab is not implemented")) } -func (UnimplementedBrentServiceHandler) SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SaveGitLabSigningToken is not implemented")) +func (UnimplementedWorkspaceServiceHandler) SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SaveGitLabSigningToken is not implemented")) } -func (UnimplementedBrentServiceHandler) UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpsertMyVerifiedBinding is not implemented")) +func (UnimplementedWorkspaceServiceHandler) UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpsertMyVerifiedBinding is not implemented")) } -func (UnimplementedBrentServiceHandler) ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListMyBindings is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListMyBindings is not implemented")) } -func (UnimplementedBrentServiceHandler) GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetMyNotificationPreferences is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetMyNotificationPreferences is not implemented")) } -func (UnimplementedBrentServiceHandler) UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyNotificationPreferences is not implemented")) +func (UnimplementedWorkspaceServiceHandler) UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateMyNotificationPreferences is not implemented")) } -func (UnimplementedBrentServiceHandler) RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RegisterMyPushSubscription is not implemented")) +func (UnimplementedWorkspaceServiceHandler) RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RegisterMyPushSubscription is not implemented")) } -func (UnimplementedBrentServiceHandler) GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetWebPushPublicKey is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetWebPushPublicKey is not implemented")) } -func (UnimplementedBrentServiceHandler) UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateMyDisplayName is not implemented")) +func (UnimplementedWorkspaceServiceHandler) UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateMyDisplayName is not implemented")) } -func (UnimplementedBrentServiceHandler) GetBrentSettings(context.Context, *connect.Request[sdp_go.GetBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetBrentSettings is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetPlanCheckSettings(context.Context, *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPlanCheckSettings is not implemented")) } -func (UnimplementedBrentServiceHandler) UpdateBrentSettings(context.Context, *connect.Request[sdp_go.UpdateBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateBrentSettings is not implemented")) +func (UnimplementedWorkspaceServiceHandler) UpdatePlanCheckSettings(context.Context, *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdatePlanCheckSettings is not implemented")) } -func (UnimplementedBrentServiceHandler) ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListIntegrationCatalogue is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListIntegrationCatalogue is not implemented")) } -func (UnimplementedBrentServiceHandler) CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CreateWorkspace is not implemented")) +func (UnimplementedWorkspaceServiceHandler) CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CreateWorkspace is not implemented")) } -func (UnimplementedBrentServiceHandler) ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListMyWorkspaces is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListMyWorkspaces is not implemented")) } -func (UnimplementedBrentServiceHandler) DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DiscoverLoginRecoveryCandidates is not implemented")) +func (UnimplementedWorkspaceServiceHandler) DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DiscoverLoginRecoveryCandidates is not implemented")) } -func (UnimplementedBrentServiceHandler) RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RenameWorkspace is not implemented")) +func (UnimplementedWorkspaceServiceHandler) RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RenameWorkspace is not implemented")) } -func (UnimplementedBrentServiceHandler) UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateWorkspaceBranding is not implemented")) +func (UnimplementedWorkspaceServiceHandler) UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateWorkspaceBranding is not implemented")) } -func (UnimplementedBrentServiceHandler) CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CompleteWorkspaceOnboarding is not implemented")) +func (UnimplementedWorkspaceServiceHandler) CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CompleteWorkspaceOnboarding is not implemented")) } -func (UnimplementedBrentServiceHandler) DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteWorkspace is not implemented")) +func (UnimplementedWorkspaceServiceHandler) DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteWorkspace is not implemented")) } -func (UnimplementedBrentServiceHandler) ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListJoinableWorkspaces is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListJoinableWorkspaces is not implemented")) } -func (UnimplementedBrentServiceHandler) JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.JoinWorkspace is not implemented")) +func (UnimplementedWorkspaceServiceHandler) JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.JoinWorkspace is not implemented")) } -func (UnimplementedBrentServiceHandler) CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CreateInvitation is not implemented")) +func (UnimplementedWorkspaceServiceHandler) CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CreateInvitation is not implemented")) } -func (UnimplementedBrentServiceHandler) CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.CreateInvitations is not implemented")) +func (UnimplementedWorkspaceServiceHandler) CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CreateInvitations is not implemented")) } -func (UnimplementedBrentServiceHandler) AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.AcceptInvitation is not implemented")) +func (UnimplementedWorkspaceServiceHandler) AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.AcceptInvitation is not implemented")) } -func (UnimplementedBrentServiceHandler) ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListWorkspaceMembers is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListWorkspaceMembers is not implemented")) } -func (UnimplementedBrentServiceHandler) ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ResendInvitation is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ResendInvitation is not implemented")) } -func (UnimplementedBrentServiceHandler) RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RevokeInvitation is not implemented")) +func (UnimplementedWorkspaceServiceHandler) RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RevokeInvitation is not implemented")) } -func (UnimplementedBrentServiceHandler) RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.RemoveWorkspaceMember is not implemented")) +func (UnimplementedWorkspaceServiceHandler) RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RemoveWorkspaceMember is not implemented")) } -func (UnimplementedBrentServiceHandler) UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.UpdateWorkspaceMemberRole is not implemented")) +func (UnimplementedWorkspaceServiceHandler) UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateWorkspaceMemberRole is not implemented")) } -func (UnimplementedBrentServiceHandler) ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ListApprovedEmailDomains is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListApprovedEmailDomains is not implemented")) } -func (UnimplementedBrentServiceHandler) AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.AddApprovedEmailDomain is not implemented")) +func (UnimplementedWorkspaceServiceHandler) AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.AddApprovedEmailDomain is not implemented")) } -func (UnimplementedBrentServiceHandler) VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.VerifyApprovedEmailDomain is not implemented")) +func (UnimplementedWorkspaceServiceHandler) VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.VerifyApprovedEmailDomain is not implemented")) } -func (UnimplementedBrentServiceHandler) ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ResendApprovedEmailDomainCode is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ResendApprovedEmailDomainCode is not implemented")) } -func (UnimplementedBrentServiceHandler) DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteApprovedEmailDomain is not implemented")) +func (UnimplementedWorkspaceServiceHandler) DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteApprovedEmailDomain is not implemented")) } -func (UnimplementedBrentServiceHandler) GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetWorkspaceLLMCredentialStatus is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetWorkspaceLLMCredentialStatus is not implemented")) } -func (UnimplementedBrentServiceHandler) SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetWorkspaceLLMCredential is not implemented")) +func (UnimplementedWorkspaceServiceHandler) SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SetWorkspaceLLMCredential is not implemented")) } -func (UnimplementedBrentServiceHandler) DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteWorkspaceLLMCredential is not implemented")) +func (UnimplementedWorkspaceServiceHandler) DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteWorkspaceLLMCredential is not implemented")) } -func (UnimplementedBrentServiceHandler) GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetMyCursorCredentialStatus is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetMyCursorCredentialStatus is not implemented")) } -func (UnimplementedBrentServiceHandler) SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetMyCursorCredential is not implemented")) +func (UnimplementedWorkspaceServiceHandler) SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SetMyCursorCredential is not implemented")) } -func (UnimplementedBrentServiceHandler) DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.DeleteMyCursorCredential is not implemented")) +func (UnimplementedWorkspaceServiceHandler) DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteMyCursorCredential is not implemented")) } -func (UnimplementedBrentServiceHandler) GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.GetWorkspaceIntegrationRoles is not implemented")) +func (UnimplementedWorkspaceServiceHandler) GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetWorkspaceIntegrationRoles is not implemented")) } -func (UnimplementedBrentServiceHandler) SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.SetWorkspaceIntegrationRoles is not implemented")) +func (UnimplementedWorkspaceServiceHandler) SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SetWorkspaceIntegrationRoles is not implemented")) } -func (UnimplementedBrentServiceHandler) ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentService.ResendVerificationEmail is not implemented")) +func (UnimplementedWorkspaceServiceHandler) ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ResendVerificationEmail is not implemented")) } -// BrentPublicServiceClient is a client for the brent.BrentPublicService service. -type BrentPublicServiceClient interface { +// PublicServiceClient is a client for the until.PublicService service. +type PublicServiceClient interface { GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) } -// NewBrentPublicServiceClient constructs a client for the brent.BrentPublicService service. By -// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, -// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the -// connect.WithGRPC() or connect.WithGRPCWeb() options. +// NewPublicServiceClient constructs a client for the until.PublicService service. By default, it +// uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends +// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or +// connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, // http://api.acme.com or https://acme.com/grpc). -func NewBrentPublicServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BrentPublicServiceClient { +func NewPublicServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PublicServiceClient { baseURL = strings.TrimRight(baseURL, "/") - brentPublicServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentPublicService").Methods() - return &brentPublicServiceClient{ + publicServiceMethods := sdp_go.File_brent_proto.Services().ByName("PublicService").Methods() + return &publicServiceClient{ getInvitation: connect.NewClient[sdp_go.GetInvitationRequest, sdp_go.GetInvitationResponse]( httpClient, - baseURL+BrentPublicServiceGetInvitationProcedure, - connect.WithSchema(brentPublicServiceMethods.ByName("GetInvitation")), + baseURL+PublicServiceGetInvitationProcedure, + connect.WithSchema(publicServiceMethods.ByName("GetInvitation")), connect.WithClientOptions(opts...), ), } } -// brentPublicServiceClient implements BrentPublicServiceClient. -type brentPublicServiceClient struct { +// publicServiceClient implements PublicServiceClient. +type publicServiceClient struct { getInvitation *connect.Client[sdp_go.GetInvitationRequest, sdp_go.GetInvitationResponse] } -// GetInvitation calls brent.BrentPublicService.GetInvitation. -func (c *brentPublicServiceClient) GetInvitation(ctx context.Context, req *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { +// GetInvitation calls until.PublicService.GetInvitation. +func (c *publicServiceClient) GetInvitation(ctx context.Context, req *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { return c.getInvitation.CallUnary(ctx, req) } -// BrentPublicServiceHandler is an implementation of the brent.BrentPublicService service. -type BrentPublicServiceHandler interface { +// PublicServiceHandler is an implementation of the until.PublicService service. +type PublicServiceHandler interface { GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) } -// NewBrentPublicServiceHandler builds an HTTP handler from the service implementation. It returns -// the path on which to mount the handler and the handler itself. +// NewPublicServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. // // By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf // and JSON codecs. They also support gzip compression. -func NewBrentPublicServiceHandler(svc BrentPublicServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { - brentPublicServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentPublicService").Methods() - brentPublicServiceGetInvitationHandler := connect.NewUnaryHandler( - BrentPublicServiceGetInvitationProcedure, +func NewPublicServiceHandler(svc PublicServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + publicServiceMethods := sdp_go.File_brent_proto.Services().ByName("PublicService").Methods() + publicServiceGetInvitationHandler := connect.NewUnaryHandler( + PublicServiceGetInvitationProcedure, svc.GetInvitation, - connect.WithSchema(brentPublicServiceMethods.ByName("GetInvitation")), + connect.WithSchema(publicServiceMethods.ByName("GetInvitation")), connect.WithHandlerOptions(opts...), ) - return "/brent.BrentPublicService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + return "/until.PublicService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { - case BrentPublicServiceGetInvitationProcedure: - brentPublicServiceGetInvitationHandler.ServeHTTP(w, r) + case PublicServiceGetInvitationProcedure: + publicServiceGetInvitationHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } }) } -// UnimplementedBrentPublicServiceHandler returns CodeUnimplemented from all methods. -type UnimplementedBrentPublicServiceHandler struct{} +// UnimplementedPublicServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPublicServiceHandler struct{} -func (UnimplementedBrentPublicServiceHandler) GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentPublicService.GetInvitation is not implemented")) +func (UnimplementedPublicServiceHandler) GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.PublicService.GetInvitation is not implemented")) } -// BrentAdminServiceClient is a client for the brent.BrentAdminService service. -type BrentAdminServiceClient interface { +// UntilAdminServiceClient is a client for the until.AdminService service. +type UntilAdminServiceClient interface { // Executes a workflow from a natural-language prompt. The server streams // steps as the agent reasons, calls MCP tools, and produces a final result. // The stream ends with either a CompletionStep or a terminal ErrorStep. // Operator-only; gated on admin:write. - ExecuteWorkflow(context.Context, *connect.Request[sdp_go.ExecuteWorkflowRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) + ExecuteLoop(context.Context, *connect.Request[sdp_go.ExecuteLoopRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) // Lists all tracked runs (both UI-initiated and webhook-triggered). // Operator-only; gated on admin:read. ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) // Streams steps for a specific run. Replays buffered steps first, then // streams live steps until the run completes or the client disconnects. // Operator-only; gated on admin:read. - WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) + WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) // Streams live capital-E Events for the caller's account. No history or // replay: clients only receive events emitted after the stream starts. // Operator-only; gated on admin:read. @@ -2198,10 +2188,10 @@ type BrentAdminServiceClient interface { // Operator-only; gated on admin:write. CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) // Sends a follow-up question against a completed run's OpenAI context. - // The server streams the model's answer as ExecuteWorkflowResponse steps. + // The server streams the model's answer as ExecuteLoopResponse steps. // Returns NotFound when the run has no stored response ID. // Operator-only; gated on admin:write. - SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) + SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) // Lists every non-deleted plan across every tenant. Operator-only; gated // on admin:read (brent-area51 and staff Admin role). // @@ -2251,18 +2241,18 @@ type BrentAdminServiceClient interface { // Polls a temporary metrics comparison run. Cross-tenant operator endpoint // gated on admin:read. Completed runs include sandbox-renderable HTML. GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) - // Reads the Brent deviation settings (red_finding_kinds) for any account. - // This is the operator-facing twin of GetBrentSettings: it gates on + // Reads the Brent deviation settings (blocking_difference_tags) for any account. + // This is the operator-facing twin of GetPlanCheckSettings: it gates on // admin:read and requires an explicit account_name, so the brent-area51 // account detail page can show a customer's settings without holding that // customer's brent:read scope. account_name is required (no caller-account // fallback). - GetAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) - // Updates the Brent deviation settings (red_finding_kinds) for any account. - // Operator-facing twin of UpdateBrentSettings: gates on admin:write and - // requires an explicit account_name. PATCH semantics — omit red_finding_kinds + GetAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) + // Updates the Brent deviation settings (blocking_difference_tags) for any account. + // Operator-facing twin of UpdatePlanCheckSettings: gates on admin:write and + // requires an explicit account_name. PATCH semantics — omit blocking_difference_tags // to leave it unchanged; pass an empty array to disable red on all kinds. - UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + UpdateAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) // Reads a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). // Gates on admin:read and requires an explicit account_name (no // caller-account fallback). Returns the persisted policy, active-human @@ -2288,26 +2278,26 @@ type BrentAdminServiceClient interface { // Lists workflow definitions for the caller's account, ordered by name. // Account-scoped: callers see only their own tenant's rows. Operator-only; // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); - // use GetWorkflow for the full definition. - ListWorkflows(context.Context, *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) + // use GetLoop for the full definition. + ListLoops(context.Context, *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) // Fetches a single workflow definition by ID within the caller's account. // Returns NotFound when the workflow is missing, soft-deleted, or owned by - // a different account. Same admin:read gate as ListWorkflows. - GetWorkflow(context.Context, *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) + // a different account. Same admin:read gate as ListLoops. + GetLoop(context.Context, *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) // Lists workflow runs for the caller's account, newest first. Account- // scoped; gated on admin:read. Supports cursor pagination (limit + // after_cursor) and an optional workflow_name filter for the per-workflow // run-list view. - ListWorkflowRuns(context.Context, *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) + ListLoopRuns(context.Context, *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) // Fetches a single workflow run by ID within the caller's account. Returns - // the full WorkflowRun (including prompt and the typed Event payload that - // triggered it) plus an optional parent WorkflowSummary lookable up by + // the full LoopRun (including prompt and the typed Event payload that + // triggered it) plus an optional parent LoopSummary lookable up by // (account_name, name). Same admin:read gate. - GetWorkflowRun(context.Context, *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) + GetLoopRun(context.Context, *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) // Returns persisted steps for ancestor runs in the resumed_from_run_id chain // (oldest first). The current run's live tail stays on WatchRun. Same - // admin:read gate as GetWorkflowRun. - GetWorkflowRunThreadHistory(context.Context, *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) + // admin:read gate as GetLoopRun. + GetLoopRunThreadHistory(context.Context, *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) // Lists pull requests for the caller's tenant, sorted by updated_at DESC. // Account-scoped: callers see only their own rows. Operator-only; gated on admin:read. // The `state` filter accepts "" (default → open), "open", "closed" @@ -2322,7 +2312,7 @@ type BrentAdminServiceClient interface { // Lists deviation analyses for a pull request, newest-first by started_at. // Account-scoped: a pr_id from another tenant returns an empty list (not an // error). Gated on admin:read. - ListDeviationAnalysesForPR(context.Context, *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) + ListPlanChecksForPR(context.Context, *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) // Lists principals across every tenant for the Area51 debug UI. Operator-only; // gated on admin:read. Summary fields only; use GetPrincipal for // identities and bindings. @@ -2360,281 +2350,281 @@ type BrentAdminServiceClient interface { GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) } -// NewBrentAdminServiceClient constructs a client for the brent.BrentAdminService service. By -// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, -// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the -// connect.WithGRPC() or connect.WithGRPCWeb() options. +// NewUntilAdminServiceClient constructs a client for the until.AdminService service. By default, it uses +// the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends +// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or +// connect.WithGRPCWeb() options. // // The URL supplied here should be the base URL for the Connect or gRPC server (for example, // http://api.acme.com or https://acme.com/grpc). -func NewBrentAdminServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BrentAdminServiceClient { +func NewUntilAdminServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) UntilAdminServiceClient { baseURL = strings.TrimRight(baseURL, "/") - brentAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentAdminService").Methods() - return &brentAdminServiceClient{ - executeWorkflow: connect.NewClient[sdp_go.ExecuteWorkflowRequest, sdp_go.ExecuteWorkflowResponse]( + untilAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("AdminService").Methods() + return &untilAdminServiceClient{ + executeLoop: connect.NewClient[sdp_go.ExecuteLoopRequest, sdp_go.ExecuteLoopResponse]( httpClient, - baseURL+BrentAdminServiceExecuteWorkflowProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ExecuteWorkflow")), + baseURL+UntilAdminServiceExecuteLoopProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ExecuteLoop")), connect.WithClientOptions(opts...), ), listRuns: connect.NewClient[sdp_go.ListRunsRequest, sdp_go.ListRunsResponse]( httpClient, - baseURL+BrentAdminServiceListRunsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListRuns")), + baseURL+UntilAdminServiceListRunsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListRuns")), connect.WithClientOptions(opts...), ), - watchRun: connect.NewClient[sdp_go.WatchRunRequest, sdp_go.ExecuteWorkflowResponse]( + watchRun: connect.NewClient[sdp_go.WatchRunRequest, sdp_go.ExecuteLoopResponse]( httpClient, - baseURL+BrentAdminServiceWatchRunProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("WatchRun")), + baseURL+UntilAdminServiceWatchRunProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("WatchRun")), connect.WithClientOptions(opts...), ), streamEvents: connect.NewClient[sdp_go.StreamEventsRequest, sdp_go.StreamEventsResponse]( httpClient, - baseURL+BrentAdminServiceStreamEventsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("StreamEvents")), + baseURL+UntilAdminServiceStreamEventsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("StreamEvents")), connect.WithClientOptions(opts...), ), listEvents: connect.NewClient[sdp_go.ListEventsRequest, sdp_go.ListEventsResponse]( httpClient, - baseURL+BrentAdminServiceListEventsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListEvents")), + baseURL+UntilAdminServiceListEventsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListEvents")), connect.WithClientOptions(opts...), ), cancelRun: connect.NewClient[sdp_go.CancelRunRequest, sdp_go.CancelRunResponse]( httpClient, - baseURL+BrentAdminServiceCancelRunProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("CancelRun")), + baseURL+UntilAdminServiceCancelRunProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("CancelRun")), connect.WithClientOptions(opts...), ), - sendQuestion: connect.NewClient[sdp_go.SendQuestionRequest, sdp_go.ExecuteWorkflowResponse]( + sendQuestion: connect.NewClient[sdp_go.SendQuestionRequest, sdp_go.ExecuteLoopResponse]( httpClient, - baseURL+BrentAdminServiceSendQuestionProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("SendQuestion")), + baseURL+UntilAdminServiceSendQuestionProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("SendQuestion")), connect.WithClientOptions(opts...), ), listPlans: connect.NewClient[sdp_go.AdminListPlansRequest, sdp_go.AdminListPlansResponse]( httpClient, - baseURL+BrentAdminServiceListPlansProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPlans")), + baseURL+UntilAdminServiceListPlansProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListPlans")), connect.WithClientOptions(opts...), ), getPlan: connect.NewClient[sdp_go.AdminGetPlanRequest, sdp_go.AdminGetPlanResponse]( httpClient, - baseURL+BrentAdminServiceGetPlanProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPlan")), + baseURL+UntilAdminServiceGetPlanProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetPlan")), connect.WithClientOptions(opts...), ), listReviews: connect.NewClient[sdp_go.AdminListReviewsRequest, sdp_go.AdminListReviewsResponse]( httpClient, - baseURL+BrentAdminServiceListReviewsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListReviews")), + baseURL+UntilAdminServiceListReviewsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListReviews")), connect.WithClientOptions(opts...), ), getReview: connect.NewClient[sdp_go.AdminGetReviewRequest, sdp_go.AdminGetReviewResponse]( httpClient, - baseURL+BrentAdminServiceGetReviewProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetReview")), + baseURL+UntilAdminServiceGetReviewProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetReview")), connect.WithClientOptions(opts...), ), listAccounts: connect.NewClient[emptypb.Empty, sdp_go.AdminListAccountsResponse]( httpClient, - baseURL+BrentAdminServiceListAccountsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListAccounts")), + baseURL+UntilAdminServiceListAccountsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListAccounts")), connect.WithClientOptions(opts...), ), getAccountSummary: connect.NewClient[sdp_go.AdminGetAccountSummaryRequest, sdp_go.AdminGetAccountSummaryResponse]( httpClient, - baseURL+BrentAdminServiceGetAccountSummaryProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountSummary")), + baseURL+UntilAdminServiceGetAccountSummaryProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountSummary")), connect.WithClientOptions(opts...), ), getAccountHealthAnalysis: connect.NewClient[sdp_go.AdminGetAccountHealthAnalysisRequest, sdp_go.AdminGetAccountHealthAnalysisResponse]( httpClient, - baseURL+BrentAdminServiceGetAccountHealthAnalysisProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountHealthAnalysis")), + baseURL+UntilAdminServiceGetAccountHealthAnalysisProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountHealthAnalysis")), connect.WithClientOptions(opts...), ), listAccountMetricRepos: connect.NewClient[sdp_go.AdminListAccountMetricReposRequest, sdp_go.AdminListAccountMetricReposResponse]( httpClient, - baseURL+BrentAdminServiceListAccountMetricReposProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountMetricRepos")), + baseURL+UntilAdminServiceListAccountMetricReposProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountMetricRepos")), connect.WithClientOptions(opts...), ), startAccountMetricsComparison: connect.NewClient[sdp_go.AdminStartAccountMetricsComparisonRequest, sdp_go.AdminStartAccountMetricsComparisonResponse]( httpClient, - baseURL+BrentAdminServiceStartAccountMetricsComparisonProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("StartAccountMetricsComparison")), + baseURL+UntilAdminServiceStartAccountMetricsComparisonProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("StartAccountMetricsComparison")), connect.WithClientOptions(opts...), ), getAccountMetricsComparisonRun: connect.NewClient[sdp_go.AdminGetAccountMetricsComparisonRunRequest, sdp_go.AdminGetAccountMetricsComparisonRunResponse]( httpClient, - baseURL+BrentAdminServiceGetAccountMetricsComparisonRunProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), + baseURL+UntilAdminServiceGetAccountMetricsComparisonRunProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), connect.WithClientOptions(opts...), ), - getAccountBrentSettings: connect.NewClient[sdp_go.AdminGetAccountBrentSettingsRequest, sdp_go.GetBrentSettingsResponse]( + getAccountPlanCheckSettings: connect.NewClient[sdp_go.AdminGetAccountPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse]( httpClient, - baseURL+BrentAdminServiceGetAccountBrentSettingsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountBrentSettings")), + baseURL+UntilAdminServiceGetAccountPlanCheckSettingsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountPlanCheckSettings")), connect.WithClientOptions(opts...), ), - updateAccountBrentSettings: connect.NewClient[sdp_go.AdminUpdateAccountBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse]( + updateAccountPlanCheckSettings: connect.NewClient[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse]( httpClient, - baseURL+BrentAdminServiceUpdateAccountBrentSettingsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountBrentSettings")), + baseURL+UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountPlanCheckSettings")), connect.WithClientOptions(opts...), ), getAccountReviewPolicy: connect.NewClient[sdp_go.AdminGetAccountReviewPolicyRequest, sdp_go.AdminGetAccountReviewPolicyResponse]( httpClient, - baseURL+BrentAdminServiceGetAccountReviewPolicyProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountReviewPolicy")), + baseURL+UntilAdminServiceGetAccountReviewPolicyProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountReviewPolicy")), connect.WithClientOptions(opts...), ), updateAccountReviewPolicy: connect.NewClient[sdp_go.AdminUpdateAccountReviewPolicyRequest, sdp_go.AdminUpdateAccountReviewPolicyResponse]( httpClient, - baseURL+BrentAdminServiceUpdateAccountReviewPolicyProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), + baseURL+UntilAdminServiceUpdateAccountReviewPolicyProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), connect.WithClientOptions(opts...), ), getAccountLLMCredentialStatus: connect.NewClient[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse]( httpClient, - baseURL+BrentAdminServiceGetAccountLLMCredentialStatusProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), + baseURL+UntilAdminServiceGetAccountLLMCredentialStatusProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), connect.WithClientOptions(opts...), ), listAccountIntegrations: connect.NewClient[sdp_go.AdminListAccountIntegrationsRequest, sdp_go.AdminListAccountIntegrationsResponse]( httpClient, - baseURL+BrentAdminServiceListAccountIntegrationsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountIntegrations")), + baseURL+UntilAdminServiceListAccountIntegrationsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountIntegrations")), connect.WithClientOptions(opts...), ), - listWorkflows: connect.NewClient[sdp_go.ListWorkflowsRequest, sdp_go.ListWorkflowsResponse]( + listLoops: connect.NewClient[sdp_go.ListLoopsRequest, sdp_go.ListLoopsResponse]( httpClient, - baseURL+BrentAdminServiceListWorkflowsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflows")), + baseURL+UntilAdminServiceListLoopsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListLoops")), connect.WithClientOptions(opts...), ), - getWorkflow: connect.NewClient[sdp_go.GetWorkflowRequest, sdp_go.GetWorkflowResponse]( + getLoop: connect.NewClient[sdp_go.GetLoopRequest, sdp_go.GetLoopResponse]( httpClient, - baseURL+BrentAdminServiceGetWorkflowProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflow")), + baseURL+UntilAdminServiceGetLoopProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetLoop")), connect.WithClientOptions(opts...), ), - listWorkflowRuns: connect.NewClient[sdp_go.ListWorkflowRunsRequest, sdp_go.ListWorkflowRunsResponse]( + listLoopRuns: connect.NewClient[sdp_go.ListLoopRunsRequest, sdp_go.ListLoopRunsResponse]( httpClient, - baseURL+BrentAdminServiceListWorkflowRunsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflowRuns")), + baseURL+UntilAdminServiceListLoopRunsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListLoopRuns")), connect.WithClientOptions(opts...), ), - getWorkflowRun: connect.NewClient[sdp_go.GetWorkflowRunRequest, sdp_go.GetWorkflowRunResponse]( + getLoopRun: connect.NewClient[sdp_go.GetLoopRunRequest, sdp_go.GetLoopRunResponse]( httpClient, - baseURL+BrentAdminServiceGetWorkflowRunProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRun")), + baseURL+UntilAdminServiceGetLoopRunProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRun")), connect.WithClientOptions(opts...), ), - getWorkflowRunThreadHistory: connect.NewClient[sdp_go.GetWorkflowRunThreadHistoryRequest, sdp_go.GetWorkflowRunThreadHistoryResponse]( + getLoopRunThreadHistory: connect.NewClient[sdp_go.GetLoopRunThreadHistoryRequest, sdp_go.GetLoopRunThreadHistoryResponse]( httpClient, - baseURL+BrentAdminServiceGetWorkflowRunThreadHistoryProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRunThreadHistory")), + baseURL+UntilAdminServiceGetLoopRunThreadHistoryProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRunThreadHistory")), connect.WithClientOptions(opts...), ), listPullRequests: connect.NewClient[sdp_go.ListPullRequestsRequest, sdp_go.ListPullRequestsResponse]( httpClient, - baseURL+BrentAdminServiceListPullRequestsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPullRequests")), + baseURL+UntilAdminServiceListPullRequestsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListPullRequests")), connect.WithClientOptions(opts...), ), getPullRequestByID: connect.NewClient[sdp_go.GetPullRequestByIDRequest, sdp_go.GetPullRequestByIDResponse]( httpClient, - baseURL+BrentAdminServiceGetPullRequestByIDProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestByID")), + baseURL+UntilAdminServiceGetPullRequestByIDProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestByID")), connect.WithClientOptions(opts...), ), - listDeviationAnalysesForPR: connect.NewClient[sdp_go.ListDeviationAnalysesForPRRequest, sdp_go.ListDeviationAnalysesForPRResponse]( + listPlanChecksForPR: connect.NewClient[sdp_go.ListPlanChecksForPRRequest, sdp_go.ListPlanChecksForPRResponse]( httpClient, - baseURL+BrentAdminServiceListDeviationAnalysesForPRProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListDeviationAnalysesForPR")), + baseURL+UntilAdminServiceListPlanChecksForPRProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListPlanChecksForPR")), connect.WithClientOptions(opts...), ), listPrincipals: connect.NewClient[sdp_go.AdminListPrincipalsRequest, sdp_go.AdminListPrincipalsResponse]( httpClient, - baseURL+BrentAdminServiceListPrincipalsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipals")), + baseURL+UntilAdminServiceListPrincipalsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipals")), connect.WithClientOptions(opts...), ), getPrincipal: connect.NewClient[sdp_go.AdminGetPrincipalRequest, sdp_go.AdminGetPrincipalResponse]( httpClient, - baseURL+BrentAdminServiceGetPrincipalProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPrincipal")), + baseURL+UntilAdminServiceGetPrincipalProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetPrincipal")), connect.WithClientOptions(opts...), ), upsertPrincipalBinding: connect.NewClient[sdp_go.AdminUpsertPrincipalBindingRequest, sdp_go.AdminUpsertPrincipalBindingResponse]( httpClient, - baseURL+BrentAdminServiceUpsertPrincipalBindingProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("UpsertPrincipalBinding")), + baseURL+UntilAdminServiceUpsertPrincipalBindingProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("UpsertPrincipalBinding")), connect.WithClientOptions(opts...), ), deletePrincipalBinding: connect.NewClient[sdp_go.AdminDeletePrincipalBindingRequest, sdp_go.AdminDeletePrincipalBindingResponse]( httpClient, - baseURL+BrentAdminServiceDeletePrincipalBindingProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalBinding")), + baseURL+UntilAdminServiceDeletePrincipalBindingProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalBinding")), connect.WithClientOptions(opts...), ), updatePrincipal: connect.NewClient[sdp_go.AdminUpdatePrincipalRequest, sdp_go.AdminUpdatePrincipalResponse]( httpClient, - baseURL+BrentAdminServiceUpdatePrincipalProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("UpdatePrincipal")), + baseURL+UntilAdminServiceUpdatePrincipalProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("UpdatePrincipal")), connect.WithClientOptions(opts...), ), createPrincipalIdentity: connect.NewClient[sdp_go.AdminCreatePrincipalIdentityRequest, sdp_go.AdminCreatePrincipalIdentityResponse]( httpClient, - baseURL+BrentAdminServiceCreatePrincipalIdentityProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("CreatePrincipalIdentity")), + baseURL+UntilAdminServiceCreatePrincipalIdentityProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("CreatePrincipalIdentity")), connect.WithClientOptions(opts...), ), deletePrincipalIdentity: connect.NewClient[sdp_go.AdminDeletePrincipalIdentityRequest, sdp_go.AdminDeletePrincipalIdentityResponse]( httpClient, - baseURL+BrentAdminServiceDeletePrincipalIdentityProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalIdentity")), + baseURL+UntilAdminServiceDeletePrincipalIdentityProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalIdentity")), connect.WithClientOptions(opts...), ), setPrincipalCredential: connect.NewClient[sdp_go.AdminSetPrincipalCredentialRequest, sdp_go.AdminSetPrincipalCredentialResponse]( httpClient, - baseURL+BrentAdminServiceSetPrincipalCredentialProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("SetPrincipalCredential")), + baseURL+UntilAdminServiceSetPrincipalCredentialProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("SetPrincipalCredential")), connect.WithClientOptions(opts...), ), listPrincipalCredentialConnections: connect.NewClient[sdp_go.AdminListPrincipalCredentialConnectionsRequest, sdp_go.AdminListPrincipalCredentialConnectionsResponse]( httpClient, - baseURL+BrentAdminServiceListPrincipalCredentialConnectionsProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), + baseURL+UntilAdminServiceListPrincipalCredentialConnectionsProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), connect.WithClientOptions(opts...), ), deletePrincipalCredential: connect.NewClient[sdp_go.AdminDeletePrincipalCredentialRequest, sdp_go.AdminDeletePrincipalCredentialResponse]( httpClient, - baseURL+BrentAdminServiceDeletePrincipalCredentialProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalCredential")), + baseURL+UntilAdminServiceDeletePrincipalCredentialProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalCredential")), connect.WithClientOptions(opts...), ), getPullRequestTimeline: connect.NewClient[sdp_go.GetPullRequestTimelineRequest, sdp_go.GetPullRequestTimelineResponse]( httpClient, - baseURL+BrentAdminServiceGetPullRequestTimelineProcedure, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestTimeline")), + baseURL+UntilAdminServiceGetPullRequestTimelineProcedure, + connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestTimeline")), connect.WithClientOptions(opts...), ), } } -// brentAdminServiceClient implements BrentAdminServiceClient. -type brentAdminServiceClient struct { - executeWorkflow *connect.Client[sdp_go.ExecuteWorkflowRequest, sdp_go.ExecuteWorkflowResponse] +// untilAdminServiceClient implements UntilAdminServiceClient. +type untilAdminServiceClient struct { + executeLoop *connect.Client[sdp_go.ExecuteLoopRequest, sdp_go.ExecuteLoopResponse] listRuns *connect.Client[sdp_go.ListRunsRequest, sdp_go.ListRunsResponse] - watchRun *connect.Client[sdp_go.WatchRunRequest, sdp_go.ExecuteWorkflowResponse] + watchRun *connect.Client[sdp_go.WatchRunRequest, sdp_go.ExecuteLoopResponse] streamEvents *connect.Client[sdp_go.StreamEventsRequest, sdp_go.StreamEventsResponse] listEvents *connect.Client[sdp_go.ListEventsRequest, sdp_go.ListEventsResponse] cancelRun *connect.Client[sdp_go.CancelRunRequest, sdp_go.CancelRunResponse] - sendQuestion *connect.Client[sdp_go.SendQuestionRequest, sdp_go.ExecuteWorkflowResponse] + sendQuestion *connect.Client[sdp_go.SendQuestionRequest, sdp_go.ExecuteLoopResponse] listPlans *connect.Client[sdp_go.AdminListPlansRequest, sdp_go.AdminListPlansResponse] getPlan *connect.Client[sdp_go.AdminGetPlanRequest, sdp_go.AdminGetPlanResponse] listReviews *connect.Client[sdp_go.AdminListReviewsRequest, sdp_go.AdminListReviewsResponse] @@ -2645,20 +2635,20 @@ type brentAdminServiceClient struct { listAccountMetricRepos *connect.Client[sdp_go.AdminListAccountMetricReposRequest, sdp_go.AdminListAccountMetricReposResponse] startAccountMetricsComparison *connect.Client[sdp_go.AdminStartAccountMetricsComparisonRequest, sdp_go.AdminStartAccountMetricsComparisonResponse] getAccountMetricsComparisonRun *connect.Client[sdp_go.AdminGetAccountMetricsComparisonRunRequest, sdp_go.AdminGetAccountMetricsComparisonRunResponse] - getAccountBrentSettings *connect.Client[sdp_go.AdminGetAccountBrentSettingsRequest, sdp_go.GetBrentSettingsResponse] - updateAccountBrentSettings *connect.Client[sdp_go.AdminUpdateAccountBrentSettingsRequest, sdp_go.UpdateBrentSettingsResponse] + getAccountPlanCheckSettings *connect.Client[sdp_go.AdminGetAccountPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse] + updateAccountPlanCheckSettings *connect.Client[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse] getAccountReviewPolicy *connect.Client[sdp_go.AdminGetAccountReviewPolicyRequest, sdp_go.AdminGetAccountReviewPolicyResponse] updateAccountReviewPolicy *connect.Client[sdp_go.AdminUpdateAccountReviewPolicyRequest, sdp_go.AdminUpdateAccountReviewPolicyResponse] getAccountLLMCredentialStatus *connect.Client[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse] listAccountIntegrations *connect.Client[sdp_go.AdminListAccountIntegrationsRequest, sdp_go.AdminListAccountIntegrationsResponse] - listWorkflows *connect.Client[sdp_go.ListWorkflowsRequest, sdp_go.ListWorkflowsResponse] - getWorkflow *connect.Client[sdp_go.GetWorkflowRequest, sdp_go.GetWorkflowResponse] - listWorkflowRuns *connect.Client[sdp_go.ListWorkflowRunsRequest, sdp_go.ListWorkflowRunsResponse] - getWorkflowRun *connect.Client[sdp_go.GetWorkflowRunRequest, sdp_go.GetWorkflowRunResponse] - getWorkflowRunThreadHistory *connect.Client[sdp_go.GetWorkflowRunThreadHistoryRequest, sdp_go.GetWorkflowRunThreadHistoryResponse] + listLoops *connect.Client[sdp_go.ListLoopsRequest, sdp_go.ListLoopsResponse] + getLoop *connect.Client[sdp_go.GetLoopRequest, sdp_go.GetLoopResponse] + listLoopRuns *connect.Client[sdp_go.ListLoopRunsRequest, sdp_go.ListLoopRunsResponse] + getLoopRun *connect.Client[sdp_go.GetLoopRunRequest, sdp_go.GetLoopRunResponse] + getLoopRunThreadHistory *connect.Client[sdp_go.GetLoopRunThreadHistoryRequest, sdp_go.GetLoopRunThreadHistoryResponse] listPullRequests *connect.Client[sdp_go.ListPullRequestsRequest, sdp_go.ListPullRequestsResponse] getPullRequestByID *connect.Client[sdp_go.GetPullRequestByIDRequest, sdp_go.GetPullRequestByIDResponse] - listDeviationAnalysesForPR *connect.Client[sdp_go.ListDeviationAnalysesForPRRequest, sdp_go.ListDeviationAnalysesForPRResponse] + listPlanChecksForPR *connect.Client[sdp_go.ListPlanChecksForPRRequest, sdp_go.ListPlanChecksForPRResponse] listPrincipals *connect.Client[sdp_go.AdminListPrincipalsRequest, sdp_go.AdminListPrincipalsResponse] getPrincipal *connect.Client[sdp_go.AdminGetPrincipalRequest, sdp_go.AdminGetPrincipalResponse] upsertPrincipalBinding *connect.Client[sdp_go.AdminUpsertPrincipalBindingRequest, sdp_go.AdminUpsertPrincipalBindingResponse] @@ -2672,231 +2662,230 @@ type brentAdminServiceClient struct { getPullRequestTimeline *connect.Client[sdp_go.GetPullRequestTimelineRequest, sdp_go.GetPullRequestTimelineResponse] } -// ExecuteWorkflow calls brent.BrentAdminService.ExecuteWorkflow. -func (c *brentAdminServiceClient) ExecuteWorkflow(ctx context.Context, req *connect.Request[sdp_go.ExecuteWorkflowRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) { - return c.executeWorkflow.CallServerStream(ctx, req) +// ExecuteLoop calls until.AdminService.ExecuteLoop. +func (c *untilAdminServiceClient) ExecuteLoop(ctx context.Context, req *connect.Request[sdp_go.ExecuteLoopRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) { + return c.executeLoop.CallServerStream(ctx, req) } -// ListRuns calls brent.BrentAdminService.ListRuns. -func (c *brentAdminServiceClient) ListRuns(ctx context.Context, req *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { +// ListRuns calls until.AdminService.ListRuns. +func (c *untilAdminServiceClient) ListRuns(ctx context.Context, req *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { return c.listRuns.CallUnary(ctx, req) } -// WatchRun calls brent.BrentAdminService.WatchRun. -func (c *brentAdminServiceClient) WatchRun(ctx context.Context, req *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) { +// WatchRun calls until.AdminService.WatchRun. +func (c *untilAdminServiceClient) WatchRun(ctx context.Context, req *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) { return c.watchRun.CallServerStream(ctx, req) } -// StreamEvents calls brent.BrentAdminService.StreamEvents. -func (c *brentAdminServiceClient) StreamEvents(ctx context.Context, req *connect.Request[sdp_go.StreamEventsRequest]) (*connect.ServerStreamForClient[sdp_go.StreamEventsResponse], error) { +// StreamEvents calls until.AdminService.StreamEvents. +func (c *untilAdminServiceClient) StreamEvents(ctx context.Context, req *connect.Request[sdp_go.StreamEventsRequest]) (*connect.ServerStreamForClient[sdp_go.StreamEventsResponse], error) { return c.streamEvents.CallServerStream(ctx, req) } -// ListEvents calls brent.BrentAdminService.ListEvents. -func (c *brentAdminServiceClient) ListEvents(ctx context.Context, req *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { +// ListEvents calls until.AdminService.ListEvents. +func (c *untilAdminServiceClient) ListEvents(ctx context.Context, req *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { return c.listEvents.CallUnary(ctx, req) } -// CancelRun calls brent.BrentAdminService.CancelRun. -func (c *brentAdminServiceClient) CancelRun(ctx context.Context, req *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { +// CancelRun calls until.AdminService.CancelRun. +func (c *untilAdminServiceClient) CancelRun(ctx context.Context, req *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { return c.cancelRun.CallUnary(ctx, req) } -// SendQuestion calls brent.BrentAdminService.SendQuestion. -func (c *brentAdminServiceClient) SendQuestion(ctx context.Context, req *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteWorkflowResponse], error) { +// SendQuestion calls until.AdminService.SendQuestion. +func (c *untilAdminServiceClient) SendQuestion(ctx context.Context, req *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) { return c.sendQuestion.CallServerStream(ctx, req) } -// ListPlans calls brent.BrentAdminService.ListPlans. -func (c *brentAdminServiceClient) ListPlans(ctx context.Context, req *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { +// ListPlans calls until.AdminService.ListPlans. +func (c *untilAdminServiceClient) ListPlans(ctx context.Context, req *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { return c.listPlans.CallUnary(ctx, req) } -// GetPlan calls brent.BrentAdminService.GetPlan. -func (c *brentAdminServiceClient) GetPlan(ctx context.Context, req *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { +// GetPlan calls until.AdminService.GetPlan. +func (c *untilAdminServiceClient) GetPlan(ctx context.Context, req *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { return c.getPlan.CallUnary(ctx, req) } -// ListReviews calls brent.BrentAdminService.ListReviews. -func (c *brentAdminServiceClient) ListReviews(ctx context.Context, req *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { +// ListReviews calls until.AdminService.ListReviews. +func (c *untilAdminServiceClient) ListReviews(ctx context.Context, req *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { return c.listReviews.CallUnary(ctx, req) } -// GetReview calls brent.BrentAdminService.GetReview. -func (c *brentAdminServiceClient) GetReview(ctx context.Context, req *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { +// GetReview calls until.AdminService.GetReview. +func (c *untilAdminServiceClient) GetReview(ctx context.Context, req *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { return c.getReview.CallUnary(ctx, req) } -// ListAccounts calls brent.BrentAdminService.ListAccounts. -func (c *brentAdminServiceClient) ListAccounts(ctx context.Context, req *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { +// ListAccounts calls until.AdminService.ListAccounts. +func (c *untilAdminServiceClient) ListAccounts(ctx context.Context, req *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { return c.listAccounts.CallUnary(ctx, req) } -// GetAccountSummary calls brent.BrentAdminService.GetAccountSummary. -func (c *brentAdminServiceClient) GetAccountSummary(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { +// GetAccountSummary calls until.AdminService.GetAccountSummary. +func (c *untilAdminServiceClient) GetAccountSummary(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { return c.getAccountSummary.CallUnary(ctx, req) } -// GetAccountHealthAnalysis calls brent.BrentAdminService.GetAccountHealthAnalysis. -func (c *brentAdminServiceClient) GetAccountHealthAnalysis(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { +// GetAccountHealthAnalysis calls until.AdminService.GetAccountHealthAnalysis. +func (c *untilAdminServiceClient) GetAccountHealthAnalysis(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { return c.getAccountHealthAnalysis.CallUnary(ctx, req) } -// ListAccountMetricRepos calls brent.BrentAdminService.ListAccountMetricRepos. -func (c *brentAdminServiceClient) ListAccountMetricRepos(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { +// ListAccountMetricRepos calls until.AdminService.ListAccountMetricRepos. +func (c *untilAdminServiceClient) ListAccountMetricRepos(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { return c.listAccountMetricRepos.CallUnary(ctx, req) } -// StartAccountMetricsComparison calls brent.BrentAdminService.StartAccountMetricsComparison. -func (c *brentAdminServiceClient) StartAccountMetricsComparison(ctx context.Context, req *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { +// StartAccountMetricsComparison calls until.AdminService.StartAccountMetricsComparison. +func (c *untilAdminServiceClient) StartAccountMetricsComparison(ctx context.Context, req *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { return c.startAccountMetricsComparison.CallUnary(ctx, req) } -// GetAccountMetricsComparisonRun calls brent.BrentAdminService.GetAccountMetricsComparisonRun. -func (c *brentAdminServiceClient) GetAccountMetricsComparisonRun(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { +// GetAccountMetricsComparisonRun calls until.AdminService.GetAccountMetricsComparisonRun. +func (c *untilAdminServiceClient) GetAccountMetricsComparisonRun(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { return c.getAccountMetricsComparisonRun.CallUnary(ctx, req) } -// GetAccountBrentSettings calls brent.BrentAdminService.GetAccountBrentSettings. -func (c *brentAdminServiceClient) GetAccountBrentSettings(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { - return c.getAccountBrentSettings.CallUnary(ctx, req) +// GetAccountPlanCheckSettings calls until.AdminService.GetAccountPlanCheckSettings. +func (c *untilAdminServiceClient) GetAccountPlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { + return c.getAccountPlanCheckSettings.CallUnary(ctx, req) } -// UpdateAccountBrentSettings calls brent.BrentAdminService.UpdateAccountBrentSettings. -func (c *brentAdminServiceClient) UpdateAccountBrentSettings(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { - return c.updateAccountBrentSettings.CallUnary(ctx, req) +// UpdateAccountPlanCheckSettings calls until.AdminService.UpdateAccountPlanCheckSettings. +func (c *untilAdminServiceClient) UpdateAccountPlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { + return c.updateAccountPlanCheckSettings.CallUnary(ctx, req) } -// GetAccountReviewPolicy calls brent.BrentAdminService.GetAccountReviewPolicy. -func (c *brentAdminServiceClient) GetAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { +// GetAccountReviewPolicy calls until.AdminService.GetAccountReviewPolicy. +func (c *untilAdminServiceClient) GetAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { return c.getAccountReviewPolicy.CallUnary(ctx, req) } -// UpdateAccountReviewPolicy calls brent.BrentAdminService.UpdateAccountReviewPolicy. -func (c *brentAdminServiceClient) UpdateAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { +// UpdateAccountReviewPolicy calls until.AdminService.UpdateAccountReviewPolicy. +func (c *untilAdminServiceClient) UpdateAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { return c.updateAccountReviewPolicy.CallUnary(ctx, req) } -// GetAccountLLMCredentialStatus calls brent.BrentAdminService.GetAccountLLMCredentialStatus. -func (c *brentAdminServiceClient) GetAccountLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { +// GetAccountLLMCredentialStatus calls until.AdminService.GetAccountLLMCredentialStatus. +func (c *untilAdminServiceClient) GetAccountLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { return c.getAccountLLMCredentialStatus.CallUnary(ctx, req) } -// ListAccountIntegrations calls brent.BrentAdminService.ListAccountIntegrations. -func (c *brentAdminServiceClient) ListAccountIntegrations(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { +// ListAccountIntegrations calls until.AdminService.ListAccountIntegrations. +func (c *untilAdminServiceClient) ListAccountIntegrations(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { return c.listAccountIntegrations.CallUnary(ctx, req) } -// ListWorkflows calls brent.BrentAdminService.ListWorkflows. -func (c *brentAdminServiceClient) ListWorkflows(ctx context.Context, req *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) { - return c.listWorkflows.CallUnary(ctx, req) +// ListLoops calls until.AdminService.ListLoops. +func (c *untilAdminServiceClient) ListLoops(ctx context.Context, req *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) { + return c.listLoops.CallUnary(ctx, req) } -// GetWorkflow calls brent.BrentAdminService.GetWorkflow. -func (c *brentAdminServiceClient) GetWorkflow(ctx context.Context, req *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) { - return c.getWorkflow.CallUnary(ctx, req) +// GetLoop calls until.AdminService.GetLoop. +func (c *untilAdminServiceClient) GetLoop(ctx context.Context, req *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) { + return c.getLoop.CallUnary(ctx, req) } -// ListWorkflowRuns calls brent.BrentAdminService.ListWorkflowRuns. -func (c *brentAdminServiceClient) ListWorkflowRuns(ctx context.Context, req *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) { - return c.listWorkflowRuns.CallUnary(ctx, req) +// ListLoopRuns calls until.AdminService.ListLoopRuns. +func (c *untilAdminServiceClient) ListLoopRuns(ctx context.Context, req *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) { + return c.listLoopRuns.CallUnary(ctx, req) } -// GetWorkflowRun calls brent.BrentAdminService.GetWorkflowRun. -func (c *brentAdminServiceClient) GetWorkflowRun(ctx context.Context, req *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) { - return c.getWorkflowRun.CallUnary(ctx, req) +// GetLoopRun calls until.AdminService.GetLoopRun. +func (c *untilAdminServiceClient) GetLoopRun(ctx context.Context, req *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) { + return c.getLoopRun.CallUnary(ctx, req) } -// GetWorkflowRunThreadHistory calls brent.BrentAdminService.GetWorkflowRunThreadHistory. -func (c *brentAdminServiceClient) GetWorkflowRunThreadHistory(ctx context.Context, req *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) { - return c.getWorkflowRunThreadHistory.CallUnary(ctx, req) +// GetLoopRunThreadHistory calls until.AdminService.GetLoopRunThreadHistory. +func (c *untilAdminServiceClient) GetLoopRunThreadHistory(ctx context.Context, req *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) { + return c.getLoopRunThreadHistory.CallUnary(ctx, req) } -// ListPullRequests calls brent.BrentAdminService.ListPullRequests. -func (c *brentAdminServiceClient) ListPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { +// ListPullRequests calls until.AdminService.ListPullRequests. +func (c *untilAdminServiceClient) ListPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { return c.listPullRequests.CallUnary(ctx, req) } -// GetPullRequestByID calls brent.BrentAdminService.GetPullRequestByID. -func (c *brentAdminServiceClient) GetPullRequestByID(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { +// GetPullRequestByID calls until.AdminService.GetPullRequestByID. +func (c *untilAdminServiceClient) GetPullRequestByID(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { return c.getPullRequestByID.CallUnary(ctx, req) } -// ListDeviationAnalysesForPR calls brent.BrentAdminService.ListDeviationAnalysesForPR. -func (c *brentAdminServiceClient) ListDeviationAnalysesForPR(ctx context.Context, req *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) { - return c.listDeviationAnalysesForPR.CallUnary(ctx, req) +// ListPlanChecksForPR calls until.AdminService.ListPlanChecksForPR. +func (c *untilAdminServiceClient) ListPlanChecksForPR(ctx context.Context, req *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) { + return c.listPlanChecksForPR.CallUnary(ctx, req) } -// ListPrincipals calls brent.BrentAdminService.ListPrincipals. -func (c *brentAdminServiceClient) ListPrincipals(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { +// ListPrincipals calls until.AdminService.ListPrincipals. +func (c *untilAdminServiceClient) ListPrincipals(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { return c.listPrincipals.CallUnary(ctx, req) } -// GetPrincipal calls brent.BrentAdminService.GetPrincipal. -func (c *brentAdminServiceClient) GetPrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { +// GetPrincipal calls until.AdminService.GetPrincipal. +func (c *untilAdminServiceClient) GetPrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { return c.getPrincipal.CallUnary(ctx, req) } -// UpsertPrincipalBinding calls brent.BrentAdminService.UpsertPrincipalBinding. -func (c *brentAdminServiceClient) UpsertPrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { +// UpsertPrincipalBinding calls until.AdminService.UpsertPrincipalBinding. +func (c *untilAdminServiceClient) UpsertPrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { return c.upsertPrincipalBinding.CallUnary(ctx, req) } -// DeletePrincipalBinding calls brent.BrentAdminService.DeletePrincipalBinding. -func (c *brentAdminServiceClient) DeletePrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { +// DeletePrincipalBinding calls until.AdminService.DeletePrincipalBinding. +func (c *untilAdminServiceClient) DeletePrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { return c.deletePrincipalBinding.CallUnary(ctx, req) } -// UpdatePrincipal calls brent.BrentAdminService.UpdatePrincipal. -func (c *brentAdminServiceClient) UpdatePrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { +// UpdatePrincipal calls until.AdminService.UpdatePrincipal. +func (c *untilAdminServiceClient) UpdatePrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { return c.updatePrincipal.CallUnary(ctx, req) } -// CreatePrincipalIdentity calls brent.BrentAdminService.CreatePrincipalIdentity. -func (c *brentAdminServiceClient) CreatePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { +// CreatePrincipalIdentity calls until.AdminService.CreatePrincipalIdentity. +func (c *untilAdminServiceClient) CreatePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { return c.createPrincipalIdentity.CallUnary(ctx, req) } -// DeletePrincipalIdentity calls brent.BrentAdminService.DeletePrincipalIdentity. -func (c *brentAdminServiceClient) DeletePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { +// DeletePrincipalIdentity calls until.AdminService.DeletePrincipalIdentity. +func (c *untilAdminServiceClient) DeletePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { return c.deletePrincipalIdentity.CallUnary(ctx, req) } -// SetPrincipalCredential calls brent.BrentAdminService.SetPrincipalCredential. -func (c *brentAdminServiceClient) SetPrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { +// SetPrincipalCredential calls until.AdminService.SetPrincipalCredential. +func (c *untilAdminServiceClient) SetPrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { return c.setPrincipalCredential.CallUnary(ctx, req) } -// ListPrincipalCredentialConnections calls -// brent.BrentAdminService.ListPrincipalCredentialConnections. -func (c *brentAdminServiceClient) ListPrincipalCredentialConnections(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { +// ListPrincipalCredentialConnections calls until.AdminService.ListPrincipalCredentialConnections. +func (c *untilAdminServiceClient) ListPrincipalCredentialConnections(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { return c.listPrincipalCredentialConnections.CallUnary(ctx, req) } -// DeletePrincipalCredential calls brent.BrentAdminService.DeletePrincipalCredential. -func (c *brentAdminServiceClient) DeletePrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { +// DeletePrincipalCredential calls until.AdminService.DeletePrincipalCredential. +func (c *untilAdminServiceClient) DeletePrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { return c.deletePrincipalCredential.CallUnary(ctx, req) } -// GetPullRequestTimeline calls brent.BrentAdminService.GetPullRequestTimeline. -func (c *brentAdminServiceClient) GetPullRequestTimeline(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { +// GetPullRequestTimeline calls until.AdminService.GetPullRequestTimeline. +func (c *untilAdminServiceClient) GetPullRequestTimeline(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { return c.getPullRequestTimeline.CallUnary(ctx, req) } -// BrentAdminServiceHandler is an implementation of the brent.BrentAdminService service. -type BrentAdminServiceHandler interface { +// UntilAdminServiceHandler is an implementation of the until.AdminService service. +type UntilAdminServiceHandler interface { // Executes a workflow from a natural-language prompt. The server streams // steps as the agent reasons, calls MCP tools, and produces a final result. // The stream ends with either a CompletionStep or a terminal ErrorStep. // Operator-only; gated on admin:write. - ExecuteWorkflow(context.Context, *connect.Request[sdp_go.ExecuteWorkflowRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error + ExecuteLoop(context.Context, *connect.Request[sdp_go.ExecuteLoopRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error // Lists all tracked runs (both UI-initiated and webhook-triggered). // Operator-only; gated on admin:read. ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) // Streams steps for a specific run. Replays buffered steps first, then // streams live steps until the run completes or the client disconnects. // Operator-only; gated on admin:read. - WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error + WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error // Streams live capital-E Events for the caller's account. No history or // replay: clients only receive events emitted after the stream starts. // Operator-only; gated on admin:read. @@ -2911,10 +2900,10 @@ type BrentAdminServiceHandler interface { // Operator-only; gated on admin:write. CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) // Sends a follow-up question against a completed run's OpenAI context. - // The server streams the model's answer as ExecuteWorkflowResponse steps. + // The server streams the model's answer as ExecuteLoopResponse steps. // Returns NotFound when the run has no stored response ID. // Operator-only; gated on admin:write. - SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error + SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error // Lists every non-deleted plan across every tenant. Operator-only; gated // on admin:read (brent-area51 and staff Admin role). // @@ -2964,18 +2953,18 @@ type BrentAdminServiceHandler interface { // Polls a temporary metrics comparison run. Cross-tenant operator endpoint // gated on admin:read. Completed runs include sandbox-renderable HTML. GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) - // Reads the Brent deviation settings (red_finding_kinds) for any account. - // This is the operator-facing twin of GetBrentSettings: it gates on + // Reads the Brent deviation settings (blocking_difference_tags) for any account. + // This is the operator-facing twin of GetPlanCheckSettings: it gates on // admin:read and requires an explicit account_name, so the brent-area51 // account detail page can show a customer's settings without holding that // customer's brent:read scope. account_name is required (no caller-account // fallback). - GetAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) - // Updates the Brent deviation settings (red_finding_kinds) for any account. - // Operator-facing twin of UpdateBrentSettings: gates on admin:write and - // requires an explicit account_name. PATCH semantics — omit red_finding_kinds + GetAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) + // Updates the Brent deviation settings (blocking_difference_tags) for any account. + // Operator-facing twin of UpdatePlanCheckSettings: gates on admin:write and + // requires an explicit account_name. PATCH semantics — omit blocking_difference_tags // to leave it unchanged; pass an empty array to disable red on all kinds. - UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) + UpdateAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) // Reads a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). // Gates on admin:read and requires an explicit account_name (no // caller-account fallback). Returns the persisted policy, active-human @@ -3001,26 +2990,26 @@ type BrentAdminServiceHandler interface { // Lists workflow definitions for the caller's account, ordered by name. // Account-scoped: callers see only their own tenant's rows. Operator-only; // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); - // use GetWorkflow for the full definition. - ListWorkflows(context.Context, *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) + // use GetLoop for the full definition. + ListLoops(context.Context, *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) // Fetches a single workflow definition by ID within the caller's account. // Returns NotFound when the workflow is missing, soft-deleted, or owned by - // a different account. Same admin:read gate as ListWorkflows. - GetWorkflow(context.Context, *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) + // a different account. Same admin:read gate as ListLoops. + GetLoop(context.Context, *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) // Lists workflow runs for the caller's account, newest first. Account- // scoped; gated on admin:read. Supports cursor pagination (limit + // after_cursor) and an optional workflow_name filter for the per-workflow // run-list view. - ListWorkflowRuns(context.Context, *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) + ListLoopRuns(context.Context, *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) // Fetches a single workflow run by ID within the caller's account. Returns - // the full WorkflowRun (including prompt and the typed Event payload that - // triggered it) plus an optional parent WorkflowSummary lookable up by + // the full LoopRun (including prompt and the typed Event payload that + // triggered it) plus an optional parent LoopSummary lookable up by // (account_name, name). Same admin:read gate. - GetWorkflowRun(context.Context, *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) + GetLoopRun(context.Context, *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) // Returns persisted steps for ancestor runs in the resumed_from_run_id chain // (oldest first). The current run's live tail stays on WatchRun. Same - // admin:read gate as GetWorkflowRun. - GetWorkflowRunThreadHistory(context.Context, *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) + // admin:read gate as GetLoopRun. + GetLoopRunThreadHistory(context.Context, *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) // Lists pull requests for the caller's tenant, sorted by updated_at DESC. // Account-scoped: callers see only their own rows. Operator-only; gated on admin:read. // The `state` filter accepts "" (default → open), "open", "closed" @@ -3035,7 +3024,7 @@ type BrentAdminServiceHandler interface { // Lists deviation analyses for a pull request, newest-first by started_at. // Account-scoped: a pr_id from another tenant returns an empty list (not an // error). Gated on admin:read. - ListDeviationAnalysesForPR(context.Context, *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) + ListPlanChecksForPR(context.Context, *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) // Lists principals across every tenant for the Area51 debug UI. Operator-only; // gated on admin:read. Summary fields only; use GetPrincipal for // identities and bindings. @@ -3073,524 +3062,524 @@ type BrentAdminServiceHandler interface { GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) } -// NewBrentAdminServiceHandler builds an HTTP handler from the service implementation. It returns -// the path on which to mount the handler and the handler itself. +// NewUntilAdminServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. // // By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf // and JSON codecs. They also support gzip compression. -func NewBrentAdminServiceHandler(svc BrentAdminServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { - brentAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("BrentAdminService").Methods() - brentAdminServiceExecuteWorkflowHandler := connect.NewServerStreamHandler( - BrentAdminServiceExecuteWorkflowProcedure, - svc.ExecuteWorkflow, - connect.WithSchema(brentAdminServiceMethods.ByName("ExecuteWorkflow")), +func NewUntilAdminServiceHandler(svc UntilAdminServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + untilAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("AdminService").Methods() + untilAdminServiceExecuteLoopHandler := connect.NewServerStreamHandler( + UntilAdminServiceExecuteLoopProcedure, + svc.ExecuteLoop, + connect.WithSchema(untilAdminServiceMethods.ByName("ExecuteLoop")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListRunsHandler := connect.NewUnaryHandler( - BrentAdminServiceListRunsProcedure, + untilAdminServiceListRunsHandler := connect.NewUnaryHandler( + UntilAdminServiceListRunsProcedure, svc.ListRuns, - connect.WithSchema(brentAdminServiceMethods.ByName("ListRuns")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListRuns")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceWatchRunHandler := connect.NewServerStreamHandler( - BrentAdminServiceWatchRunProcedure, + untilAdminServiceWatchRunHandler := connect.NewServerStreamHandler( + UntilAdminServiceWatchRunProcedure, svc.WatchRun, - connect.WithSchema(brentAdminServiceMethods.ByName("WatchRun")), + connect.WithSchema(untilAdminServiceMethods.ByName("WatchRun")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceStreamEventsHandler := connect.NewServerStreamHandler( - BrentAdminServiceStreamEventsProcedure, + untilAdminServiceStreamEventsHandler := connect.NewServerStreamHandler( + UntilAdminServiceStreamEventsProcedure, svc.StreamEvents, - connect.WithSchema(brentAdminServiceMethods.ByName("StreamEvents")), + connect.WithSchema(untilAdminServiceMethods.ByName("StreamEvents")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListEventsHandler := connect.NewUnaryHandler( - BrentAdminServiceListEventsProcedure, + untilAdminServiceListEventsHandler := connect.NewUnaryHandler( + UntilAdminServiceListEventsProcedure, svc.ListEvents, - connect.WithSchema(brentAdminServiceMethods.ByName("ListEvents")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListEvents")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceCancelRunHandler := connect.NewUnaryHandler( - BrentAdminServiceCancelRunProcedure, + untilAdminServiceCancelRunHandler := connect.NewUnaryHandler( + UntilAdminServiceCancelRunProcedure, svc.CancelRun, - connect.WithSchema(brentAdminServiceMethods.ByName("CancelRun")), + connect.WithSchema(untilAdminServiceMethods.ByName("CancelRun")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceSendQuestionHandler := connect.NewServerStreamHandler( - BrentAdminServiceSendQuestionProcedure, + untilAdminServiceSendQuestionHandler := connect.NewServerStreamHandler( + UntilAdminServiceSendQuestionProcedure, svc.SendQuestion, - connect.WithSchema(brentAdminServiceMethods.ByName("SendQuestion")), + connect.WithSchema(untilAdminServiceMethods.ByName("SendQuestion")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListPlansHandler := connect.NewUnaryHandler( - BrentAdminServiceListPlansProcedure, + untilAdminServiceListPlansHandler := connect.NewUnaryHandler( + UntilAdminServiceListPlansProcedure, svc.ListPlans, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPlans")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListPlans")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetPlanHandler := connect.NewUnaryHandler( - BrentAdminServiceGetPlanProcedure, + untilAdminServiceGetPlanHandler := connect.NewUnaryHandler( + UntilAdminServiceGetPlanProcedure, svc.GetPlan, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPlan")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetPlan")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListReviewsHandler := connect.NewUnaryHandler( - BrentAdminServiceListReviewsProcedure, + untilAdminServiceListReviewsHandler := connect.NewUnaryHandler( + UntilAdminServiceListReviewsProcedure, svc.ListReviews, - connect.WithSchema(brentAdminServiceMethods.ByName("ListReviews")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListReviews")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetReviewHandler := connect.NewUnaryHandler( - BrentAdminServiceGetReviewProcedure, + untilAdminServiceGetReviewHandler := connect.NewUnaryHandler( + UntilAdminServiceGetReviewProcedure, svc.GetReview, - connect.WithSchema(brentAdminServiceMethods.ByName("GetReview")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetReview")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListAccountsHandler := connect.NewUnaryHandler( - BrentAdminServiceListAccountsProcedure, + untilAdminServiceListAccountsHandler := connect.NewUnaryHandler( + UntilAdminServiceListAccountsProcedure, svc.ListAccounts, - connect.WithSchema(brentAdminServiceMethods.ByName("ListAccounts")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListAccounts")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetAccountSummaryHandler := connect.NewUnaryHandler( - BrentAdminServiceGetAccountSummaryProcedure, + untilAdminServiceGetAccountSummaryHandler := connect.NewUnaryHandler( + UntilAdminServiceGetAccountSummaryProcedure, svc.GetAccountSummary, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountSummary")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountSummary")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetAccountHealthAnalysisHandler := connect.NewUnaryHandler( - BrentAdminServiceGetAccountHealthAnalysisProcedure, + untilAdminServiceGetAccountHealthAnalysisHandler := connect.NewUnaryHandler( + UntilAdminServiceGetAccountHealthAnalysisProcedure, svc.GetAccountHealthAnalysis, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountHealthAnalysis")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountHealthAnalysis")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListAccountMetricReposHandler := connect.NewUnaryHandler( - BrentAdminServiceListAccountMetricReposProcedure, + untilAdminServiceListAccountMetricReposHandler := connect.NewUnaryHandler( + UntilAdminServiceListAccountMetricReposProcedure, svc.ListAccountMetricRepos, - connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountMetricRepos")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountMetricRepos")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceStartAccountMetricsComparisonHandler := connect.NewUnaryHandler( - BrentAdminServiceStartAccountMetricsComparisonProcedure, + untilAdminServiceStartAccountMetricsComparisonHandler := connect.NewUnaryHandler( + UntilAdminServiceStartAccountMetricsComparisonProcedure, svc.StartAccountMetricsComparison, - connect.WithSchema(brentAdminServiceMethods.ByName("StartAccountMetricsComparison")), + connect.WithSchema(untilAdminServiceMethods.ByName("StartAccountMetricsComparison")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetAccountMetricsComparisonRunHandler := connect.NewUnaryHandler( - BrentAdminServiceGetAccountMetricsComparisonRunProcedure, + untilAdminServiceGetAccountMetricsComparisonRunHandler := connect.NewUnaryHandler( + UntilAdminServiceGetAccountMetricsComparisonRunProcedure, svc.GetAccountMetricsComparisonRun, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetAccountBrentSettingsHandler := connect.NewUnaryHandler( - BrentAdminServiceGetAccountBrentSettingsProcedure, - svc.GetAccountBrentSettings, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountBrentSettings")), + untilAdminServiceGetAccountPlanCheckSettingsHandler := connect.NewUnaryHandler( + UntilAdminServiceGetAccountPlanCheckSettingsProcedure, + svc.GetAccountPlanCheckSettings, + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountPlanCheckSettings")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceUpdateAccountBrentSettingsHandler := connect.NewUnaryHandler( - BrentAdminServiceUpdateAccountBrentSettingsProcedure, - svc.UpdateAccountBrentSettings, - connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountBrentSettings")), + untilAdminServiceUpdateAccountPlanCheckSettingsHandler := connect.NewUnaryHandler( + UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure, + svc.UpdateAccountPlanCheckSettings, + connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountPlanCheckSettings")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetAccountReviewPolicyHandler := connect.NewUnaryHandler( - BrentAdminServiceGetAccountReviewPolicyProcedure, + untilAdminServiceGetAccountReviewPolicyHandler := connect.NewUnaryHandler( + UntilAdminServiceGetAccountReviewPolicyProcedure, svc.GetAccountReviewPolicy, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountReviewPolicy")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountReviewPolicy")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceUpdateAccountReviewPolicyHandler := connect.NewUnaryHandler( - BrentAdminServiceUpdateAccountReviewPolicyProcedure, + untilAdminServiceUpdateAccountReviewPolicyHandler := connect.NewUnaryHandler( + UntilAdminServiceUpdateAccountReviewPolicyProcedure, svc.UpdateAccountReviewPolicy, - connect.WithSchema(brentAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), + connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetAccountLLMCredentialStatusHandler := connect.NewUnaryHandler( - BrentAdminServiceGetAccountLLMCredentialStatusProcedure, + untilAdminServiceGetAccountLLMCredentialStatusHandler := connect.NewUnaryHandler( + UntilAdminServiceGetAccountLLMCredentialStatusProcedure, svc.GetAccountLLMCredentialStatus, - connect.WithSchema(brentAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListAccountIntegrationsHandler := connect.NewUnaryHandler( - BrentAdminServiceListAccountIntegrationsProcedure, + untilAdminServiceListAccountIntegrationsHandler := connect.NewUnaryHandler( + UntilAdminServiceListAccountIntegrationsProcedure, svc.ListAccountIntegrations, - connect.WithSchema(brentAdminServiceMethods.ByName("ListAccountIntegrations")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountIntegrations")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListWorkflowsHandler := connect.NewUnaryHandler( - BrentAdminServiceListWorkflowsProcedure, - svc.ListWorkflows, - connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflows")), + untilAdminServiceListLoopsHandler := connect.NewUnaryHandler( + UntilAdminServiceListLoopsProcedure, + svc.ListLoops, + connect.WithSchema(untilAdminServiceMethods.ByName("ListLoops")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetWorkflowHandler := connect.NewUnaryHandler( - BrentAdminServiceGetWorkflowProcedure, - svc.GetWorkflow, - connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflow")), + untilAdminServiceGetLoopHandler := connect.NewUnaryHandler( + UntilAdminServiceGetLoopProcedure, + svc.GetLoop, + connect.WithSchema(untilAdminServiceMethods.ByName("GetLoop")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListWorkflowRunsHandler := connect.NewUnaryHandler( - BrentAdminServiceListWorkflowRunsProcedure, - svc.ListWorkflowRuns, - connect.WithSchema(brentAdminServiceMethods.ByName("ListWorkflowRuns")), + untilAdminServiceListLoopRunsHandler := connect.NewUnaryHandler( + UntilAdminServiceListLoopRunsProcedure, + svc.ListLoopRuns, + connect.WithSchema(untilAdminServiceMethods.ByName("ListLoopRuns")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetWorkflowRunHandler := connect.NewUnaryHandler( - BrentAdminServiceGetWorkflowRunProcedure, - svc.GetWorkflowRun, - connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRun")), + untilAdminServiceGetLoopRunHandler := connect.NewUnaryHandler( + UntilAdminServiceGetLoopRunProcedure, + svc.GetLoopRun, + connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRun")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetWorkflowRunThreadHistoryHandler := connect.NewUnaryHandler( - BrentAdminServiceGetWorkflowRunThreadHistoryProcedure, - svc.GetWorkflowRunThreadHistory, - connect.WithSchema(brentAdminServiceMethods.ByName("GetWorkflowRunThreadHistory")), + untilAdminServiceGetLoopRunThreadHistoryHandler := connect.NewUnaryHandler( + UntilAdminServiceGetLoopRunThreadHistoryProcedure, + svc.GetLoopRunThreadHistory, + connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRunThreadHistory")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListPullRequestsHandler := connect.NewUnaryHandler( - BrentAdminServiceListPullRequestsProcedure, + untilAdminServiceListPullRequestsHandler := connect.NewUnaryHandler( + UntilAdminServiceListPullRequestsProcedure, svc.ListPullRequests, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPullRequests")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListPullRequests")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetPullRequestByIDHandler := connect.NewUnaryHandler( - BrentAdminServiceGetPullRequestByIDProcedure, + untilAdminServiceGetPullRequestByIDHandler := connect.NewUnaryHandler( + UntilAdminServiceGetPullRequestByIDProcedure, svc.GetPullRequestByID, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestByID")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestByID")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListDeviationAnalysesForPRHandler := connect.NewUnaryHandler( - BrentAdminServiceListDeviationAnalysesForPRProcedure, - svc.ListDeviationAnalysesForPR, - connect.WithSchema(brentAdminServiceMethods.ByName("ListDeviationAnalysesForPR")), + untilAdminServiceListPlanChecksForPRHandler := connect.NewUnaryHandler( + UntilAdminServiceListPlanChecksForPRProcedure, + svc.ListPlanChecksForPR, + connect.WithSchema(untilAdminServiceMethods.ByName("ListPlanChecksForPR")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListPrincipalsHandler := connect.NewUnaryHandler( - BrentAdminServiceListPrincipalsProcedure, + untilAdminServiceListPrincipalsHandler := connect.NewUnaryHandler( + UntilAdminServiceListPrincipalsProcedure, svc.ListPrincipals, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipals")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipals")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetPrincipalHandler := connect.NewUnaryHandler( - BrentAdminServiceGetPrincipalProcedure, + untilAdminServiceGetPrincipalHandler := connect.NewUnaryHandler( + UntilAdminServiceGetPrincipalProcedure, svc.GetPrincipal, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPrincipal")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetPrincipal")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceUpsertPrincipalBindingHandler := connect.NewUnaryHandler( - BrentAdminServiceUpsertPrincipalBindingProcedure, + untilAdminServiceUpsertPrincipalBindingHandler := connect.NewUnaryHandler( + UntilAdminServiceUpsertPrincipalBindingProcedure, svc.UpsertPrincipalBinding, - connect.WithSchema(brentAdminServiceMethods.ByName("UpsertPrincipalBinding")), + connect.WithSchema(untilAdminServiceMethods.ByName("UpsertPrincipalBinding")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceDeletePrincipalBindingHandler := connect.NewUnaryHandler( - BrentAdminServiceDeletePrincipalBindingProcedure, + untilAdminServiceDeletePrincipalBindingHandler := connect.NewUnaryHandler( + UntilAdminServiceDeletePrincipalBindingProcedure, svc.DeletePrincipalBinding, - connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalBinding")), + connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalBinding")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceUpdatePrincipalHandler := connect.NewUnaryHandler( - BrentAdminServiceUpdatePrincipalProcedure, + untilAdminServiceUpdatePrincipalHandler := connect.NewUnaryHandler( + UntilAdminServiceUpdatePrincipalProcedure, svc.UpdatePrincipal, - connect.WithSchema(brentAdminServiceMethods.ByName("UpdatePrincipal")), + connect.WithSchema(untilAdminServiceMethods.ByName("UpdatePrincipal")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceCreatePrincipalIdentityHandler := connect.NewUnaryHandler( - BrentAdminServiceCreatePrincipalIdentityProcedure, + untilAdminServiceCreatePrincipalIdentityHandler := connect.NewUnaryHandler( + UntilAdminServiceCreatePrincipalIdentityProcedure, svc.CreatePrincipalIdentity, - connect.WithSchema(brentAdminServiceMethods.ByName("CreatePrincipalIdentity")), + connect.WithSchema(untilAdminServiceMethods.ByName("CreatePrincipalIdentity")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceDeletePrincipalIdentityHandler := connect.NewUnaryHandler( - BrentAdminServiceDeletePrincipalIdentityProcedure, + untilAdminServiceDeletePrincipalIdentityHandler := connect.NewUnaryHandler( + UntilAdminServiceDeletePrincipalIdentityProcedure, svc.DeletePrincipalIdentity, - connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalIdentity")), + connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalIdentity")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceSetPrincipalCredentialHandler := connect.NewUnaryHandler( - BrentAdminServiceSetPrincipalCredentialProcedure, + untilAdminServiceSetPrincipalCredentialHandler := connect.NewUnaryHandler( + UntilAdminServiceSetPrincipalCredentialProcedure, svc.SetPrincipalCredential, - connect.WithSchema(brentAdminServiceMethods.ByName("SetPrincipalCredential")), + connect.WithSchema(untilAdminServiceMethods.ByName("SetPrincipalCredential")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceListPrincipalCredentialConnectionsHandler := connect.NewUnaryHandler( - BrentAdminServiceListPrincipalCredentialConnectionsProcedure, + untilAdminServiceListPrincipalCredentialConnectionsHandler := connect.NewUnaryHandler( + UntilAdminServiceListPrincipalCredentialConnectionsProcedure, svc.ListPrincipalCredentialConnections, - connect.WithSchema(brentAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), + connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceDeletePrincipalCredentialHandler := connect.NewUnaryHandler( - BrentAdminServiceDeletePrincipalCredentialProcedure, + untilAdminServiceDeletePrincipalCredentialHandler := connect.NewUnaryHandler( + UntilAdminServiceDeletePrincipalCredentialProcedure, svc.DeletePrincipalCredential, - connect.WithSchema(brentAdminServiceMethods.ByName("DeletePrincipalCredential")), + connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalCredential")), connect.WithHandlerOptions(opts...), ) - brentAdminServiceGetPullRequestTimelineHandler := connect.NewUnaryHandler( - BrentAdminServiceGetPullRequestTimelineProcedure, + untilAdminServiceGetPullRequestTimelineHandler := connect.NewUnaryHandler( + UntilAdminServiceGetPullRequestTimelineProcedure, svc.GetPullRequestTimeline, - connect.WithSchema(brentAdminServiceMethods.ByName("GetPullRequestTimeline")), + connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestTimeline")), connect.WithHandlerOptions(opts...), ) - return "/brent.BrentAdminService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + return "/until.AdminService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { - case BrentAdminServiceExecuteWorkflowProcedure: - brentAdminServiceExecuteWorkflowHandler.ServeHTTP(w, r) - case BrentAdminServiceListRunsProcedure: - brentAdminServiceListRunsHandler.ServeHTTP(w, r) - case BrentAdminServiceWatchRunProcedure: - brentAdminServiceWatchRunHandler.ServeHTTP(w, r) - case BrentAdminServiceStreamEventsProcedure: - brentAdminServiceStreamEventsHandler.ServeHTTP(w, r) - case BrentAdminServiceListEventsProcedure: - brentAdminServiceListEventsHandler.ServeHTTP(w, r) - case BrentAdminServiceCancelRunProcedure: - brentAdminServiceCancelRunHandler.ServeHTTP(w, r) - case BrentAdminServiceSendQuestionProcedure: - brentAdminServiceSendQuestionHandler.ServeHTTP(w, r) - case BrentAdminServiceListPlansProcedure: - brentAdminServiceListPlansHandler.ServeHTTP(w, r) - case BrentAdminServiceGetPlanProcedure: - brentAdminServiceGetPlanHandler.ServeHTTP(w, r) - case BrentAdminServiceListReviewsProcedure: - brentAdminServiceListReviewsHandler.ServeHTTP(w, r) - case BrentAdminServiceGetReviewProcedure: - brentAdminServiceGetReviewHandler.ServeHTTP(w, r) - case BrentAdminServiceListAccountsProcedure: - brentAdminServiceListAccountsHandler.ServeHTTP(w, r) - case BrentAdminServiceGetAccountSummaryProcedure: - brentAdminServiceGetAccountSummaryHandler.ServeHTTP(w, r) - case BrentAdminServiceGetAccountHealthAnalysisProcedure: - brentAdminServiceGetAccountHealthAnalysisHandler.ServeHTTP(w, r) - case BrentAdminServiceListAccountMetricReposProcedure: - brentAdminServiceListAccountMetricReposHandler.ServeHTTP(w, r) - case BrentAdminServiceStartAccountMetricsComparisonProcedure: - brentAdminServiceStartAccountMetricsComparisonHandler.ServeHTTP(w, r) - case BrentAdminServiceGetAccountMetricsComparisonRunProcedure: - brentAdminServiceGetAccountMetricsComparisonRunHandler.ServeHTTP(w, r) - case BrentAdminServiceGetAccountBrentSettingsProcedure: - brentAdminServiceGetAccountBrentSettingsHandler.ServeHTTP(w, r) - case BrentAdminServiceUpdateAccountBrentSettingsProcedure: - brentAdminServiceUpdateAccountBrentSettingsHandler.ServeHTTP(w, r) - case BrentAdminServiceGetAccountReviewPolicyProcedure: - brentAdminServiceGetAccountReviewPolicyHandler.ServeHTTP(w, r) - case BrentAdminServiceUpdateAccountReviewPolicyProcedure: - brentAdminServiceUpdateAccountReviewPolicyHandler.ServeHTTP(w, r) - case BrentAdminServiceGetAccountLLMCredentialStatusProcedure: - brentAdminServiceGetAccountLLMCredentialStatusHandler.ServeHTTP(w, r) - case BrentAdminServiceListAccountIntegrationsProcedure: - brentAdminServiceListAccountIntegrationsHandler.ServeHTTP(w, r) - case BrentAdminServiceListWorkflowsProcedure: - brentAdminServiceListWorkflowsHandler.ServeHTTP(w, r) - case BrentAdminServiceGetWorkflowProcedure: - brentAdminServiceGetWorkflowHandler.ServeHTTP(w, r) - case BrentAdminServiceListWorkflowRunsProcedure: - brentAdminServiceListWorkflowRunsHandler.ServeHTTP(w, r) - case BrentAdminServiceGetWorkflowRunProcedure: - brentAdminServiceGetWorkflowRunHandler.ServeHTTP(w, r) - case BrentAdminServiceGetWorkflowRunThreadHistoryProcedure: - brentAdminServiceGetWorkflowRunThreadHistoryHandler.ServeHTTP(w, r) - case BrentAdminServiceListPullRequestsProcedure: - brentAdminServiceListPullRequestsHandler.ServeHTTP(w, r) - case BrentAdminServiceGetPullRequestByIDProcedure: - brentAdminServiceGetPullRequestByIDHandler.ServeHTTP(w, r) - case BrentAdminServiceListDeviationAnalysesForPRProcedure: - brentAdminServiceListDeviationAnalysesForPRHandler.ServeHTTP(w, r) - case BrentAdminServiceListPrincipalsProcedure: - brentAdminServiceListPrincipalsHandler.ServeHTTP(w, r) - case BrentAdminServiceGetPrincipalProcedure: - brentAdminServiceGetPrincipalHandler.ServeHTTP(w, r) - case BrentAdminServiceUpsertPrincipalBindingProcedure: - brentAdminServiceUpsertPrincipalBindingHandler.ServeHTTP(w, r) - case BrentAdminServiceDeletePrincipalBindingProcedure: - brentAdminServiceDeletePrincipalBindingHandler.ServeHTTP(w, r) - case BrentAdminServiceUpdatePrincipalProcedure: - brentAdminServiceUpdatePrincipalHandler.ServeHTTP(w, r) - case BrentAdminServiceCreatePrincipalIdentityProcedure: - brentAdminServiceCreatePrincipalIdentityHandler.ServeHTTP(w, r) - case BrentAdminServiceDeletePrincipalIdentityProcedure: - brentAdminServiceDeletePrincipalIdentityHandler.ServeHTTP(w, r) - case BrentAdminServiceSetPrincipalCredentialProcedure: - brentAdminServiceSetPrincipalCredentialHandler.ServeHTTP(w, r) - case BrentAdminServiceListPrincipalCredentialConnectionsProcedure: - brentAdminServiceListPrincipalCredentialConnectionsHandler.ServeHTTP(w, r) - case BrentAdminServiceDeletePrincipalCredentialProcedure: - brentAdminServiceDeletePrincipalCredentialHandler.ServeHTTP(w, r) - case BrentAdminServiceGetPullRequestTimelineProcedure: - brentAdminServiceGetPullRequestTimelineHandler.ServeHTTP(w, r) + case UntilAdminServiceExecuteLoopProcedure: + untilAdminServiceExecuteLoopHandler.ServeHTTP(w, r) + case UntilAdminServiceListRunsProcedure: + untilAdminServiceListRunsHandler.ServeHTTP(w, r) + case UntilAdminServiceWatchRunProcedure: + untilAdminServiceWatchRunHandler.ServeHTTP(w, r) + case UntilAdminServiceStreamEventsProcedure: + untilAdminServiceStreamEventsHandler.ServeHTTP(w, r) + case UntilAdminServiceListEventsProcedure: + untilAdminServiceListEventsHandler.ServeHTTP(w, r) + case UntilAdminServiceCancelRunProcedure: + untilAdminServiceCancelRunHandler.ServeHTTP(w, r) + case UntilAdminServiceSendQuestionProcedure: + untilAdminServiceSendQuestionHandler.ServeHTTP(w, r) + case UntilAdminServiceListPlansProcedure: + untilAdminServiceListPlansHandler.ServeHTTP(w, r) + case UntilAdminServiceGetPlanProcedure: + untilAdminServiceGetPlanHandler.ServeHTTP(w, r) + case UntilAdminServiceListReviewsProcedure: + untilAdminServiceListReviewsHandler.ServeHTTP(w, r) + case UntilAdminServiceGetReviewProcedure: + untilAdminServiceGetReviewHandler.ServeHTTP(w, r) + case UntilAdminServiceListAccountsProcedure: + untilAdminServiceListAccountsHandler.ServeHTTP(w, r) + case UntilAdminServiceGetAccountSummaryProcedure: + untilAdminServiceGetAccountSummaryHandler.ServeHTTP(w, r) + case UntilAdminServiceGetAccountHealthAnalysisProcedure: + untilAdminServiceGetAccountHealthAnalysisHandler.ServeHTTP(w, r) + case UntilAdminServiceListAccountMetricReposProcedure: + untilAdminServiceListAccountMetricReposHandler.ServeHTTP(w, r) + case UntilAdminServiceStartAccountMetricsComparisonProcedure: + untilAdminServiceStartAccountMetricsComparisonHandler.ServeHTTP(w, r) + case UntilAdminServiceGetAccountMetricsComparisonRunProcedure: + untilAdminServiceGetAccountMetricsComparisonRunHandler.ServeHTTP(w, r) + case UntilAdminServiceGetAccountPlanCheckSettingsProcedure: + untilAdminServiceGetAccountPlanCheckSettingsHandler.ServeHTTP(w, r) + case UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure: + untilAdminServiceUpdateAccountPlanCheckSettingsHandler.ServeHTTP(w, r) + case UntilAdminServiceGetAccountReviewPolicyProcedure: + untilAdminServiceGetAccountReviewPolicyHandler.ServeHTTP(w, r) + case UntilAdminServiceUpdateAccountReviewPolicyProcedure: + untilAdminServiceUpdateAccountReviewPolicyHandler.ServeHTTP(w, r) + case UntilAdminServiceGetAccountLLMCredentialStatusProcedure: + untilAdminServiceGetAccountLLMCredentialStatusHandler.ServeHTTP(w, r) + case UntilAdminServiceListAccountIntegrationsProcedure: + untilAdminServiceListAccountIntegrationsHandler.ServeHTTP(w, r) + case UntilAdminServiceListLoopsProcedure: + untilAdminServiceListLoopsHandler.ServeHTTP(w, r) + case UntilAdminServiceGetLoopProcedure: + untilAdminServiceGetLoopHandler.ServeHTTP(w, r) + case UntilAdminServiceListLoopRunsProcedure: + untilAdminServiceListLoopRunsHandler.ServeHTTP(w, r) + case UntilAdminServiceGetLoopRunProcedure: + untilAdminServiceGetLoopRunHandler.ServeHTTP(w, r) + case UntilAdminServiceGetLoopRunThreadHistoryProcedure: + untilAdminServiceGetLoopRunThreadHistoryHandler.ServeHTTP(w, r) + case UntilAdminServiceListPullRequestsProcedure: + untilAdminServiceListPullRequestsHandler.ServeHTTP(w, r) + case UntilAdminServiceGetPullRequestByIDProcedure: + untilAdminServiceGetPullRequestByIDHandler.ServeHTTP(w, r) + case UntilAdminServiceListPlanChecksForPRProcedure: + untilAdminServiceListPlanChecksForPRHandler.ServeHTTP(w, r) + case UntilAdminServiceListPrincipalsProcedure: + untilAdminServiceListPrincipalsHandler.ServeHTTP(w, r) + case UntilAdminServiceGetPrincipalProcedure: + untilAdminServiceGetPrincipalHandler.ServeHTTP(w, r) + case UntilAdminServiceUpsertPrincipalBindingProcedure: + untilAdminServiceUpsertPrincipalBindingHandler.ServeHTTP(w, r) + case UntilAdminServiceDeletePrincipalBindingProcedure: + untilAdminServiceDeletePrincipalBindingHandler.ServeHTTP(w, r) + case UntilAdminServiceUpdatePrincipalProcedure: + untilAdminServiceUpdatePrincipalHandler.ServeHTTP(w, r) + case UntilAdminServiceCreatePrincipalIdentityProcedure: + untilAdminServiceCreatePrincipalIdentityHandler.ServeHTTP(w, r) + case UntilAdminServiceDeletePrincipalIdentityProcedure: + untilAdminServiceDeletePrincipalIdentityHandler.ServeHTTP(w, r) + case UntilAdminServiceSetPrincipalCredentialProcedure: + untilAdminServiceSetPrincipalCredentialHandler.ServeHTTP(w, r) + case UntilAdminServiceListPrincipalCredentialConnectionsProcedure: + untilAdminServiceListPrincipalCredentialConnectionsHandler.ServeHTTP(w, r) + case UntilAdminServiceDeletePrincipalCredentialProcedure: + untilAdminServiceDeletePrincipalCredentialHandler.ServeHTTP(w, r) + case UntilAdminServiceGetPullRequestTimelineProcedure: + untilAdminServiceGetPullRequestTimelineHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } }) } -// UnimplementedBrentAdminServiceHandler returns CodeUnimplemented from all methods. -type UnimplementedBrentAdminServiceHandler struct{} +// UnimplementedUntilAdminServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedUntilAdminServiceHandler struct{} -func (UnimplementedBrentAdminServiceHandler) ExecuteWorkflow(context.Context, *connect.Request[sdp_go.ExecuteWorkflowRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ExecuteWorkflow is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ExecuteLoop(context.Context, *connect.Request[sdp_go.ExecuteLoopRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ExecuteLoop is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListRuns is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListRuns is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.WatchRun is not implemented")) +func (UnimplementedUntilAdminServiceHandler) WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.WatchRun is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest], *connect.ServerStream[sdp_go.StreamEventsResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.StreamEvents is not implemented")) +func (UnimplementedUntilAdminServiceHandler) StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest], *connect.ServerStream[sdp_go.StreamEventsResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.StreamEvents is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListEvents is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListEvents is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.CancelRun is not implemented")) +func (UnimplementedUntilAdminServiceHandler) CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.CancelRun is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteWorkflowResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.SendQuestion is not implemented")) +func (UnimplementedUntilAdminServiceHandler) SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.SendQuestion is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPlans is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPlans is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPlan is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPlan is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListReviews is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListReviews is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetReview is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetReview is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListAccounts is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListAccounts is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountSummary is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountSummary is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountHealthAnalysis is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountHealthAnalysis is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListAccountMetricRepos is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListAccountMetricRepos is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.StartAccountMetricsComparison is not implemented")) +func (UnimplementedUntilAdminServiceHandler) StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.StartAccountMetricsComparison is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountMetricsComparisonRun is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountMetricsComparisonRun is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountBrentSettingsRequest]) (*connect.Response[sdp_go.GetBrentSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountBrentSettings is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountPlanCheckSettings is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) UpdateAccountBrentSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountBrentSettingsRequest]) (*connect.Response[sdp_go.UpdateBrentSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpdateAccountBrentSettings is not implemented")) +func (UnimplementedUntilAdminServiceHandler) UpdateAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpdateAccountPlanCheckSettings is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountReviewPolicy is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountReviewPolicy is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpdateAccountReviewPolicy is not implemented")) +func (UnimplementedUntilAdminServiceHandler) UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpdateAccountReviewPolicy is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetAccountLLMCredentialStatus is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountLLMCredentialStatus is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListAccountIntegrations is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListAccountIntegrations is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListWorkflows(context.Context, *connect.Request[sdp_go.ListWorkflowsRequest]) (*connect.Response[sdp_go.ListWorkflowsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListWorkflows is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListLoops(context.Context, *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListLoops is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetWorkflow(context.Context, *connect.Request[sdp_go.GetWorkflowRequest]) (*connect.Response[sdp_go.GetWorkflowResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetWorkflow is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetLoop(context.Context, *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetLoop is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListWorkflowRuns(context.Context, *connect.Request[sdp_go.ListWorkflowRunsRequest]) (*connect.Response[sdp_go.ListWorkflowRunsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListWorkflowRuns is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListLoopRuns(context.Context, *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListLoopRuns is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetWorkflowRun(context.Context, *connect.Request[sdp_go.GetWorkflowRunRequest]) (*connect.Response[sdp_go.GetWorkflowRunResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetWorkflowRun is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetLoopRun(context.Context, *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetLoopRun is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetWorkflowRunThreadHistory(context.Context, *connect.Request[sdp_go.GetWorkflowRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetWorkflowRunThreadHistoryResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetWorkflowRunThreadHistory is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetLoopRunThreadHistory(context.Context, *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetLoopRunThreadHistory is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPullRequests is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPullRequests is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPullRequestByID is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPullRequestByID is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListDeviationAnalysesForPR(context.Context, *connect.Request[sdp_go.ListDeviationAnalysesForPRRequest]) (*connect.Response[sdp_go.ListDeviationAnalysesForPRResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListDeviationAnalysesForPR is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListPlanChecksForPR(context.Context, *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPlanChecksForPR is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPrincipals is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPrincipals is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPrincipal is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPrincipal is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpsertPrincipalBinding is not implemented")) +func (UnimplementedUntilAdminServiceHandler) UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpsertPrincipalBinding is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.DeletePrincipalBinding is not implemented")) +func (UnimplementedUntilAdminServiceHandler) DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.DeletePrincipalBinding is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.UpdatePrincipal is not implemented")) +func (UnimplementedUntilAdminServiceHandler) UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpdatePrincipal is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.CreatePrincipalIdentity is not implemented")) +func (UnimplementedUntilAdminServiceHandler) CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.CreatePrincipalIdentity is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.DeletePrincipalIdentity is not implemented")) +func (UnimplementedUntilAdminServiceHandler) DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.DeletePrincipalIdentity is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.SetPrincipalCredential is not implemented")) +func (UnimplementedUntilAdminServiceHandler) SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.SetPrincipalCredential is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.ListPrincipalCredentialConnections is not implemented")) +func (UnimplementedUntilAdminServiceHandler) ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPrincipalCredentialConnections is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.DeletePrincipalCredential is not implemented")) +func (UnimplementedUntilAdminServiceHandler) DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.DeletePrincipalCredential is not implemented")) } -func (UnimplementedBrentAdminServiceHandler) GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("brent.BrentAdminService.GetPullRequestTimeline is not implemented")) +func (UnimplementedUntilAdminServiceHandler) GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPullRequestTimeline is not implemented")) } From 2eef873c4b18e918b77d342b7baf8cff7892655d Mon Sep 17 00:00:00 2001 From: Vasile Labici <69412076+Vlasin98@users.noreply.github.com> Date: Thu, 6 Aug 2026 16:03:50 +0300 Subject: [PATCH 24/36] [ENG-6104] Join member previews: real faces + totalCount (cap 4) (#6254) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Raise joinable-list member preview cap from 3→4 (SQL, handler, proto, stubs, tests). - Add `ProfileAvatarStack` `totalCount` so overflow uses membership total (`N = total − 3` for 5+) instead of padded avatar-array length. - Stop inventing empty placeholder faces in the join mapper; card passes `memberCount` through as `totalCount`. Follow-up to #6253. Plan ID: BRENT-845 Ticket: ENG-6104 ## Test plan - [x] Focused Go: `TestToProtoJoinableWorkspace*`, join preview integration tests - [x] Focused vitest: ProfileAvatarStack, to-joinable-workspace-row, JoinableWorkspaceCard - [x] `pnpm check:brent-app` - [ ] Dogfood Join with workspaces of 1–5+ members and confirm faces/remainder match the matrix Made with [Cursor](https://cursor.com) Co-authored-by: Cursor GitOrigin-RevId: bcdc34f426aff957682895e742d09970e2baa1e2 --- go/sdp-go/brent.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go index b2a19204..ef39f7dc 100644 --- a/go/sdp-go/brent.pb.go +++ b/go/sdp-go/brent.pb.go @@ -19826,7 +19826,7 @@ type JoinableWorkspace struct { PictureUrl *string `protobuf:"bytes,4,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` // derived branding URL; absent → fallback logo CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` CreatedByName string `protobuf:"bytes,6,opt,name=created_by_name,json=createdByName,proto3" json:"created_by_name,omitempty"` // creator's live display name; empty if the creator has left - MemberPreviews []*JoinableWorkspaceMember `protobuf:"bytes,7,rep,name=member_previews,json=memberPreviews,proto3" json:"member_previews,omitempty"` // up to 3 active human members + MemberPreviews []*JoinableWorkspaceMember `protobuf:"bytes,7,rep,name=member_previews,json=memberPreviews,proto3" json:"member_previews,omitempty"` // up to 4 active human members MemberCount uint32 `protobuf:"varint,8,opt,name=member_count,json=memberCount,proto3" json:"member_count,omitempty"` // total active human members (drives "+N") Source JoinSource `protobuf:"varint,9,opt,name=source,proto3,enum=until.JoinSource" json:"source,omitempty"` // why this workspace is joinable (DOMAIN or INVITE) unknownFields protoimpl.UnknownFields From 2f93a21b332e2aa728b9f3ed4c60403580aac76f Mon Sep 17 00:00:00 2001 From: Elliot Waddington Date: Thu, 6 Aug 2026 16:17:34 +0200 Subject: [PATCH 25/36] [ENG-5965] Add canonical Until MCP routes (#6255) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Add canonical Until MCP, OAuth, discovery, browser, asset, and capability routes while retaining every legacy Brent route. - Provision the canonical Until MCP Auth0 audience and scopes for Until tenants without changing the SPA/Connect authentication contract. - Keep both route families isolated across audiences, scopes, OAuth state, cookies, redirects, generated URLs, and frontend journeys. ## Linear Ticket Fixes: [ENG-5965](https://linear.app/overmind/issue/ENG-5965/prepare-until-mcp-oauth-discovery-and-asset-routes) — Prepare Until MCP, OAuth, discovery, and asset routes - **Purpose**: Make every approved Until MCP, OAuth, discovery, UI, asset, and capability path work alongside legacy Brent routes with the final audience and scopes. - **Blocks**: ENG-5979 final literal-zero checks; ENG-5974 dogfood cutover and soak; ENG-5966 Until MCP tool and resource names ## Changes The backend now mounts explicit Until and Brent route-family configurations over shared MCP and OAuth implementations. It maps logical MCP permissions to family-specific scopes, preserves downstream store authorization, advertises family-correct metadata and icons, emits low-cardinality route telemetry, and generates family-correct plan-transfer and PR-audit capability URLs. The shared Auth0 Terraform module can add the canonical `/mcp` resource server, `until:read`/`until:write` role grants, callbacks, and dual-audience Action behavior only for Until tenants. The frontend resolves `mcp` and `brent-mcp` through one shared route tree while keeping BYO MCP authenticated and unrelated providers excluded. Tests cover audience and scope isolation, real read/write handlers, OAuth cookies and state, metadata aliases, route middleware, capability-token security, frontend family selection, Terraform contracts, and legacy compatibility. The corresponding backend, frontend, audit-tool, and Auth0 runbook documentation is updated. ## Until Plan Plan ID: BRENT-842 - **Plan**: ENG-5965: Add Until MCP routes without breaking Brent clients - **Approved by**: Daniel Carabas > Deviation analysis and reviewer assignment are handled automatically by the > pre-approved PR review automation (see docs/PREAPPROVED_CHANGES.md). Made with [Cursor](https://cursor.com) --------- Co-authored-by: Cursor GitOrigin-RevId: 9b208f38053599d0f73eb636571b556bdf560e2d --- go/auth/mcpoauth_test.go | 278 ++++++++++++++++++++++++++++----------- 1 file changed, 202 insertions(+), 76 deletions(-) diff --git a/go/auth/mcpoauth_test.go b/go/auth/mcpoauth_test.go index 1c19bb0a..44f8bf89 100644 --- a/go/auth/mcpoauth_test.go +++ b/go/auth/mcpoauth_test.go @@ -1,59 +1,158 @@ package auth import ( + "bytes" "encoding/json" "net/http" "net/http/httptest" + "reflect" "strings" "testing" ) -func TestNewMCPOAuthMetadataHandler(t *testing.T) { - scopes := []string{"openid", "profile", "email", "offline_access", "admin:read"} +func TestNewMCPOAuthMetadataHandler_RouteFamilyAliasContracts(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + issuer string + registrationEndpoint string + authorizationEndpoint string + tokenEndpoint string + scopes []string + aliases []string + forbidden []string + }{ + { + name: "canonical Until", + issuer: "https://until.example.com/oauth", + registrationEndpoint: "https://until.example.com/oauth/register", + authorizationEndpoint: "https://until.example.com/oauth/authorize", + tokenEndpoint: "https://until.example.com/oauth/token", + scopes: []string{"account:read", "until:read", "until:write"}, + aliases: []string{ + "/.well-known/oauth-authorization-server/oauth", + "/oauth/.well-known/oauth-authorization-server", + "/.well-known/openid-configuration/oauth", + "/oauth/.well-known/openid-configuration", + }, + forbidden: []string{"/brent/", "brent:read", "brent:write"}, + }, + { + name: "legacy Brent", + issuer: "https://until.example.com/brent/oauth", + registrationEndpoint: "https://until.example.com/brent/oauth/register", + authorizationEndpoint: "https://until.example.com/brent/oauth/authorize", + tokenEndpoint: "https://until.example.com/brent/oauth/token", + scopes: []string{"account:read", "brent:read", "brent:write"}, + aliases: []string{ + "/.well-known/oauth-authorization-server/brent/oauth", + "/brent/oauth/.well-known/oauth-authorization-server", + "/.well-known/openid-configuration/brent/oauth", + "/brent/oauth/.well-known/openid-configuration", + }, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + t.Parallel() + + handler := NewMCPOAuthMetadataHandler( + "auth.example.com", + test.issuer, + test.registrationEndpoint, + test.scopes, + test.authorizationEndpoint, + test.tokenEndpoint, + ) + mux := http.NewServeMux() + for _, alias := range test.aliases { + mux.Handle(alias, handler) + } + + wantBody := map[string]any{ + "issuer": test.issuer, + "authorization_endpoint": test.authorizationEndpoint, + "token_endpoint": test.tokenEndpoint, + "registration_endpoint": test.registrationEndpoint, + "jwks_uri": "https://auth.example.com/.well-known/jwks.json", + "userinfo_endpoint": "https://auth.example.com/userinfo", + "revocation_endpoint": "https://auth.example.com/oauth/revoke", + "response_types_supported": []any{ + "code", + }, + "grant_types_supported": []any{ + "authorization_code", + "refresh_token", + }, + "code_challenge_methods_supported": []any{ + "S256", + }, + "token_endpoint_auth_methods_supported": []any{ + "none", + }, + "scopes_supported": stringsToAny(test.scopes), + } + + var firstAliasBody []byte + for _, alias := range test.aliases { + rec := httptest.NewRecorder() + mux.ServeHTTP(rec, httptest.NewRequestWithContext(t.Context(), http.MethodGet, alias, nil)) + if got, want := rec.Code, http.StatusOK; got != want { + t.Fatalf("%s status = %d, want %d", alias, got, want) + } + if got, want := rec.Header().Get("Content-Type"), "application/json"; got != want { + t.Errorf("%s Content-Type = %q, want %q", alias, got, want) + } + + bodyBytes := rec.Body.Bytes() + if firstAliasBody == nil { + firstAliasBody = bytes.Clone(bodyBytes) + } else if !bytes.Equal(bodyBytes, firstAliasBody) { + t.Errorf("%s body differs byte-for-byte from first alias: got %q, want %q", alias, bodyBytes, firstAliasBody) + } + + var body map[string]any + if err := json.Unmarshal(bodyBytes, &body); err != nil { + t.Fatalf("%s decode metadata: %v", alias, err) + } + if !reflect.DeepEqual(body, wantBody) { + t.Errorf("%s body = %#v, want %#v", alias, body, wantBody) + } + for _, forbidden := range test.forbidden { + if strings.Contains(string(bodyBytes), forbidden) { + t.Errorf("%s canonical body contains legacy value %q: %s", alias, forbidden, bodyBytes) + } + } + } + }) + } +} + +func TestNewMCPOAuthMetadataHandler_DefaultAuth0Endpoints(t *testing.T) { + t.Parallel() + handler := NewMCPOAuthMetadataHandler( "auth.example.com", "https://api.example.com/area51/oauth", "https://api.example.com/area51/oauth/register", - scopes, + []string{"openid"}, "", "", ) - - req := httptest.NewRequestWithContext(t.Context(), http.MethodGet, "/.well-known/oauth-authorization-server/area51/oauth", nil) rec := httptest.NewRecorder() - handler.ServeHTTP(rec, req) - - if rec.Code != http.StatusOK { - t.Fatalf("expected 200, got %d", rec.Code) - } + handler.ServeHTTP(rec, httptest.NewRequestWithContext(t.Context(), http.MethodGet, "/metadata", nil)) var body map[string]any if err := json.NewDecoder(rec.Body).Decode(&body); err != nil { - t.Fatalf("failed to decode metadata: %v", err) - } - - if body["issuer"] != "https://api.example.com/area51/oauth" { - t.Errorf("unexpected issuer: %v", body["issuer"]) - } - if body["authorization_endpoint"] != "https://auth.example.com/authorize" { - t.Errorf("unexpected authorization_endpoint: %v", body["authorization_endpoint"]) - } - if body["token_endpoint"] != "https://auth.example.com/oauth/token" { - t.Errorf("unexpected token_endpoint: %v", body["token_endpoint"]) + t.Fatalf("decode metadata: %v", err) } - if body["registration_endpoint"] != "https://api.example.com/area51/oauth/register" { - t.Errorf("unexpected registration_endpoint: %v", body["registration_endpoint"]) + if got, want := body["authorization_endpoint"], "https://auth.example.com/authorize"; got != want { + t.Errorf("authorization_endpoint = %v, want %q", got, want) } - if body["jwks_uri"] != "https://auth.example.com/.well-known/jwks.json" { - t.Errorf("unexpected jwks_uri: %v", body["jwks_uri"]) - } - - scopesAny, ok := body["scopes_supported"].([]any) - if !ok { - t.Fatalf("scopes_supported is not an array: %T", body["scopes_supported"]) - } - if len(scopesAny) != len(scopes) { - t.Errorf("expected %d scopes, got %d", len(scopes), len(scopesAny)) + if got, want := body["token_endpoint"], "https://auth.example.com/oauth/token"; got != want { + t.Errorf("token_endpoint = %v, want %q", got, want) } } @@ -131,50 +230,69 @@ func TestNewMCPDCRHandler_FiltersNonLocalhostRedirects(t *testing.T) { } } -func TestNewMCPPRMHandler(t *testing.T) { - handler := NewMCPPRMHandler( - "https://api.example.com/area51/oauth", - "https://api.example.com/area51/mcp", - []string{"admin:read"}, - ) - - req := httptest.NewRequestWithContext(t.Context(), http.MethodGet, "/.well-known/oauth-protected-resource/area51/mcp", nil) - rec := httptest.NewRecorder() - handler.ServeHTTP(rec, req) - - if rec.Code != http.StatusOK { - t.Fatalf("expected 200, got %d", rec.Code) - } +func TestNewMCPPRMHandler_RouteFamilyContracts(t *testing.T) { + t.Parallel() - if ct := rec.Header().Get("Content-Type"); ct != "application/json" { - t.Errorf("expected Content-Type application/json, got %q", ct) - } - - var body struct { - Resource string `json:"resource"` - AuthorizationServers []string `json:"authorization_servers"` - ScopesSupported []string `json:"scopes_supported"` - BearerMethodsSupported []string `json:"bearer_methods_supported"` - ClientID string `json:"client_id"` - } - if err := json.NewDecoder(rec.Body).Decode(&body); err != nil { - t.Fatalf("failed to decode PRM response: %v", err) - } - - if body.Resource != "https://api.example.com/area51/mcp" { - t.Errorf("unexpected resource: %q", body.Resource) - } - if len(body.AuthorizationServers) != 1 || body.AuthorizationServers[0] != "https://api.example.com/area51/oauth" { - t.Errorf("unexpected authorization_servers: %v", body.AuthorizationServers) - } - if len(body.ScopesSupported) != 1 || body.ScopesSupported[0] != "admin:read" { - t.Errorf("unexpected scopes_supported: %v", body.ScopesSupported) - } - if len(body.BearerMethodsSupported) != 1 || body.BearerMethodsSupported[0] != "header" { - t.Errorf("unexpected bearer_methods_supported: %v", body.BearerMethodsSupported) - } - if body.ClientID != "" { - t.Errorf("expected no client_id in PRM, got %q", body.ClientID) + tests := []struct { + name string + path string + authorizationServer string + resource string + scopes []string + forbidden []string + }{ + { + name: "canonical Until", + path: "/.well-known/oauth-protected-resource/mcp", + authorizationServer: "https://until.example.com/oauth", + resource: "https://until.example.com/mcp", + scopes: []string{"account:read", "until:read", "until:write"}, + forbidden: []string{"/brent/", "brent:read", "brent:write"}, + }, + { + name: "legacy Brent", + path: "/.well-known/oauth-protected-resource/brent/mcp", + authorizationServer: "https://until.example.com/brent/oauth", + resource: "https://until.example.com/brent/mcp", + scopes: []string{"account:read", "brent:read", "brent:write"}, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + t.Parallel() + + handler := NewMCPPRMHandler(test.authorizationServer, test.resource, test.scopes) + rec := httptest.NewRecorder() + handler.ServeHTTP(rec, httptest.NewRequestWithContext(t.Context(), http.MethodGet, test.path, nil)) + + if got, want := rec.Code, http.StatusOK; got != want { + t.Fatalf("status = %d, want %d", got, want) + } + if got, want := rec.Header().Get("Content-Type"), "application/json"; got != want { + t.Errorf("Content-Type = %q, want %q", got, want) + } + + bodyBytes := rec.Body.Bytes() + var body map[string]any + if err := json.Unmarshal(bodyBytes, &body); err != nil { + t.Fatalf("decode PRM response: %v", err) + } + wantBody := map[string]any{ + "resource": test.resource, + "authorization_servers": []any{test.authorizationServer}, + "scopes_supported": stringsToAny(test.scopes), + "bearer_methods_supported": []any{"header"}, + } + if !reflect.DeepEqual(body, wantBody) { + t.Errorf("body = %#v, want %#v", body, wantBody) + } + for _, forbidden := range test.forbidden { + if strings.Contains(string(bodyBytes), forbidden) { + t.Errorf("canonical body contains legacy value %q: %s", forbidden, bodyBytes) + } + } + }) } } @@ -242,3 +360,11 @@ func TestIsLocalhostRedirect(t *testing.T) { } } } + +func stringsToAny(values []string) []any { + result := make([]any, 0, len(values)) + for _, value := range values { + result = append(result, value) + } + return result +} From a4ee779133b896be018232c1b25bdf55b8182bd3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 05:53:29 +0000 Subject: [PATCH 26/36] Update AWS SDK (#6261) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.43.3` → `v1.43.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2/v1.43.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2/v1.43.3/v1.43.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/config](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.32.34` → `v1.32.35` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.32.35?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.32.34/v1.32.35?slim=true) | | [github.com/aws/aws-sdk-go-v2/credentials](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.19.33` → `v1.19.34` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.19.34?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.19.33/v1.19.34?slim=true) | | [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.18.34` → `v1.18.35` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2ffeature%2fec2%2fimds/v1.18.35?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2ffeature%2fec2%2fimds/v1.18.34/v1.18.35?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/apigateway](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.42.3` → `v1.42.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fapigateway/v1.42.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fapigateway/v1.42.3/v1.42.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.70.3` → `v1.71.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fautoscaling/v1.71.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fautoscaling/v1.70.3/v1.71.0?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/cloudfront](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.67.3` → `v1.67.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudfront/v1.67.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudfront/v1.67.3/v1.67.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/cloudwatch](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.66.2` → `v1.66.3` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudwatch/v1.66.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fcloudwatch/v1.66.2/v1.66.3?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/directconnect](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.43.3` → `v1.44.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdirectconnect/v1.44.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdirectconnect/v1.43.3/v1.44.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.62.3` → `v1.63.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdynamodb/v1.63.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fdynamodb/v1.62.3/v1.63.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.318.1` → `v1.320.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.320.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.318.1/v1.320.0?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/ecs](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.89.3` → `v1.90.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fecs/v1.90.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fecs/v1.89.3/v1.90.0?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/efs](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.44.3` → `v1.44.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fefs/v1.44.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fefs/v1.44.3/v1.44.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/eks](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.90.3` → `v1.90.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2feks/v1.90.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2feks/v1.90.3/v1.90.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.36.3` → `v1.36.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancing/v1.36.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancing/v1.36.3/v1.36.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.58.4` → `v1.58.5` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancingv2/v1.58.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2felasticloadbalancingv2/v1.58.4/v1.58.5?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/iam](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.57.1` → `v1.58.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fiam/v1.58.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fiam/v1.57.1/v1.58.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/kms](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.55.3` → `v1.55.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fkms/v1.55.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fkms/v1.55.3/v1.55.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/lambda](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.101.1` → `v1.101.2` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2flambda/v1.101.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2flambda/v1.101.1/v1.101.2?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/networkfirewall](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.66.0` → `v1.67.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkfirewall/v1.67.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkfirewall/v1.66.0/v1.67.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/networkmanager](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.44.3` → `v1.44.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkmanager/v1.44.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fnetworkmanager/v1.44.3/v1.44.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/rds](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.124.0` → `v1.124.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2frds/v1.124.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2frds/v1.124.0/v1.124.1?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/route53](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.65.5` → `v1.65.6` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2froute53/v1.65.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2froute53/v1.65.5/v1.65.6?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/s3](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.106.3` → `v1.107.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fs3/v1.107.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fs3/v1.106.3/v1.107.0?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sesv2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.66.3` → `v1.66.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsesv2/v1.66.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsesv2/v1.66.3/v1.66.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sns](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.42.3` → `v1.42.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsns/v1.42.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsns/v1.42.3/v1.42.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sqs](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.46.3` → `v1.46.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsqs/v1.46.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsqs/v1.46.3/v1.46.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/ssm](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.73.3` → `v1.73.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fssm/v1.73.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fssm/v1.73.3/v1.73.4?slim=true) | | [github.com/aws/aws-sdk-go-v2/service/sts](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.45.3` → `v1.45.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsts/v1.45.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsts/v1.45.3/v1.45.4?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2) ### [`v1.43.4`](https://redirect.github.com/aws/aws-sdk-go-v2/blob/HEAD/CHANGELOG.md#Release-2026-03-26) [Compare Source](https://redirect.github.com/aws/aws-sdk-go-v2/compare/v1.43.3...v1.43.4) #### General Highlights - **Dependency Update**: Updated to the latest SDK module versions #### Module Highlights - `github.com/aws/aws-sdk-go-v2`: v1.41.5 - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.45.12](service/accessanalyzer/CHANGELOG.md#v14512-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/account`: [v1.30.5](service/account/CHANGELOG.md#v1305-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.37.23](service/acm/CHANGELOG.md#v13723-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.46.12](service/acmpca/CHANGELOG.md#v14612-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/aiops`: [v1.6.21](service/aiops/CHANGELOG.md#v1621-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.42.9](service/amp/CHANGELOG.md#v1429-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.38.14](service/amplify/CHANGELOG.md#v13814-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.32.20](service/amplifybackend/CHANGELOG.md#v13220-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.28.20](service/amplifyuibuilder/CHANGELOG.md#v12820-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.39.1](service/apigateway/CHANGELOG.md#v1391-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.29.14](service/apigatewaymanagementapi/CHANGELOG.md#v12914-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.34.1](service/apigatewayv2/CHANGELOG.md#v1341-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.43.13](service/appconfig/CHANGELOG.md#v14313-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.23.22](service/appconfigdata/CHANGELOG.md#v12322-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appfabric`: [v1.16.21](service/appfabric/CHANGELOG.md#v11621-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.51.12](service/appflow/CHANGELOG.md#v15112-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.37.7](service/appintegrations/CHANGELOG.md#v1377-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.41.14](service/applicationautoscaling/CHANGELOG.md#v14114-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.27.12](service/applicationcostprofiler/CHANGELOG.md#v12712-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.35.13](service/applicationdiscoveryservice/CHANGELOG.md#v13513-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.34.20](service/applicationinsights/CHANGELOG.md#v13420-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/applicationsignals`: [v1.19.1](service/applicationsignals/CHANGELOG.md#v1191-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.35.12](service/appmesh/CHANGELOG.md#v13512-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.39.14](service/apprunner/CHANGELOG.md#v13914-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.54.4](service/appstream/CHANGELOG.md#v1544-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.53.5](service/appsync/CHANGELOG.md#v1535-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/arcregionswitch`: [v1.6.3](service/arcregionswitch/CHANGELOG.md#v163-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/arczonalshift`: [v1.22.23](service/arczonalshift/CHANGELOG.md#v12223-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/artifact`: [v1.15.5](service/artifact/CHANGELOG.md#v1155-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.57.4](service/athena/CHANGELOG.md#v1574-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.46.12](service/auditmanager/CHANGELOG.md#v14612-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.64.4](service/autoscaling/CHANGELOG.md#v1644-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.30.14](service/autoscalingplans/CHANGELOG.md#v13014-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/b2bi`: [v1.0.0-preview.100](service/b2bi/CHANGELOG.md#v100-preview100-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.54.11](service/backup/CHANGELOG.md#v15411-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.26.3](service/backupgateway/CHANGELOG.md#v1263-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/backupsearch`: [v1.6.23](service/backupsearch/CHANGELOG.md#v1623-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.63.2](service/batch/CHANGELOG.md#v1632-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bcmdashboards`: [v1.1.4](service/bcmdashboards/CHANGELOG.md#v114-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bcmdataexports`: [v1.14.0](service/bcmdataexports/CHANGELOG.md#v1140-2026-03-26) - **Feature**: With this release we are providing an option to accounts to have their export delivered to an S3 bucket that is not owned by the account. - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bcmpricingcalculator`: [v1.10.9](service/bcmpricingcalculator/CHANGELOG.md#v1109-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bcmrecommendedactions`: [v1.1.5](service/bcmrecommendedactions/CHANGELOG.md#v115-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrock`: [v1.57.1](service/bedrock/CHANGELOG.md#v1571-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrockagent`: [v1.52.7](service/bedrockagent/CHANGELOG.md#v1527-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrockagentcore`: [v1.15.2](service/bedrockagentcore/CHANGELOG.md#v1152-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol`: [v1.25.1](service/bedrockagentcorecontrol/CHANGELOG.md#v1251-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrockagentruntime`: [v1.51.8](service/bedrockagentruntime/CHANGELOG.md#v1518-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrockdataautomation`: [v1.13.5](service/bedrockdataautomation/CHANGELOG.md#v1135-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrockdataautomationruntime`: [v1.10.4](service/bedrockdataautomationruntime/CHANGELOG.md#v1104-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/bedrockruntime`: [v1.50.4](service/bedrockruntime/CHANGELOG.md#v1504-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/billing`: [v1.10.4](service/billing/CHANGELOG.md#v1104-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.28.5](service/billingconductor/CHANGELOG.md#v1285-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.39.8](service/braket/CHANGELOG.md#v1398-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.43.4](service/budgets/CHANGELOG.md#v1434-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/chatbot`: [v1.14.21](service/chatbot/CHANGELOG.md#v11421-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.41.12](service/chime/CHANGELOG.md#v14112-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.27.20](service/chimesdkidentity/CHANGELOG.md#v12720-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.26.21](service/chimesdkmediapipelines/CHANGELOG.md#v12621-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.33.15](service/chimesdkmeetings/CHANGELOG.md#v13315-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.32.17](service/chimesdkmessaging/CHANGELOG.md#v13217-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.28.13](service/chimesdkvoice/CHANGELOG.md#v12813-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.42.4](service/cleanrooms/CHANGELOG.md#v1424-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cleanroomsml`: [v1.22.5](service/cleanroomsml/CHANGELOG.md#v1225-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.33.20](service/cloud9/CHANGELOG.md#v13320-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.29.13](service/cloudcontrol/CHANGELOG.md#v12913-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.30.12](service/clouddirectory/CHANGELOG.md#v13012-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.71.9](service/cloudformation/CHANGELOG.md#v1719-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.60.4](service/cloudfront/CHANGELOG.md#v1604-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore`: [v1.12.24](service/cloudfrontkeyvaluestore/CHANGELOG.md#v11224-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.29.21](service/cloudhsm/CHANGELOG.md#v12921-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.34.21](service/cloudhsmv2/CHANGELOG.md#v13421-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.32.12](service/cloudsearch/CHANGELOG.md#v13212-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain`: [v1.28.20](service/cloudsearchdomain/CHANGELOG.md#v12820-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.55.9](service/cloudtrail/CHANGELOG.md#v1559-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudtraildata`: [v1.17.13](service/cloudtraildata/CHANGELOG.md#v11713-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.55.3](service/cloudwatch/CHANGELOG.md#v1553-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.32.23](service/cloudwatchevents/CHANGELOG.md#v13223-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.65.0](service/cloudwatchlogs/CHANGELOG.md#v1650-2026-03-26) - **Feature**: This release adds parameter support to saved queries in CloudWatch Logs Insights. Define reusable query templates with named placeholders, invoke them using start query. Available in Console, CLI and SDK - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.38.21](service/codeartifact/CHANGELOG.md#v13821-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.68.13](service/codebuild/CHANGELOG.md#v16813-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.21.12](service/codecatalyst/CHANGELOG.md#v12112-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.33.12](service/codecommit/CHANGELOG.md#v13312-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codeconnections`: [v1.10.20](service/codeconnections/CHANGELOG.md#v11020-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.35.13](service/codedeploy/CHANGELOG.md#v13513-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.29.20](service/codeguruprofiler/CHANGELOG.md#v12920-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.34.20](service/codegurureviewer/CHANGELOG.md#v13420-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codegurusecurity`: [v1.16.24](service/codegurusecurity/CHANGELOG.md#v11624-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.46.21](service/codepipeline/CHANGELOG.md#v14621-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codestarconnections`: [v1.35.13](service/codestarconnections/CHANGELOG.md#v13513-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.31.21](service/codestarnotifications/CHANGELOG.md#v13121-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.33.22](service/cognitoidentity/CHANGELOG.md#v13322-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.59.3](service/cognitoidentityprovider/CHANGELOG.md#v1593-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/cognitosync`: [v1.29.12](service/cognitosync/CHANGELOG.md#v12912-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.40.21](service/comprehend/CHANGELOG.md#v14021-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.31.21](service/comprehendmedical/CHANGELOG.md#v13121-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.49.8](service/computeoptimizer/CHANGELOG.md#v1498-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/computeoptimizerautomation`: [v1.0.8](service/computeoptimizerautomation/CHANGELOG.md#v108-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.62.1](service/configservice/CHANGELOG.md#v1621-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.166.1](service/connect/CHANGELOG.md#v11661-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.20.20](service/connectcampaigns/CHANGELOG.md#v12020-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/connectcampaignsv2`: [v1.11.4](service/connectcampaignsv2/CHANGELOG.md#v1114-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.39.1](service/connectcases/CHANGELOG.md#v1391-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.33.13](service/connectcontactlens/CHANGELOG.md#v13313-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/connecthealth`: [v1.0.3](service/connecthealth/CHANGELOG.md#v103-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.36.7](service/connectparticipant/CHANGELOG.md#v1367-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/controlcatalog`: [v1.14.9](service/controlcatalog/CHANGELOG.md#v1149-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.28.9](service/controltower/CHANGELOG.md#v1289-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.34.13](service/costandusagereportservice/CHANGELOG.md#v13413-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.63.6](service/costexplorer/CHANGELOG.md#v1636-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/costoptimizationhub`: [v1.22.8](service/costoptimizationhub/CHANGELOG.md#v1228-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.57.2](service/customerprofiles/CHANGELOG.md#v1572-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.61.10](service/databasemigrationservice/CHANGELOG.md#v16110-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.39.14](service/databrew/CHANGELOG.md#v13914-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.40.14](service/dataexchange/CHANGELOG.md#v14014-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/datapipeline`: [v1.30.20](service/datapipeline/CHANGELOG.md#v13020-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.58.2](service/datasync/CHANGELOG.md#v1582-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/datazone`: [v1.54.2](service/datazone/CHANGELOG.md#v1542-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.29.16](service/dax/CHANGELOG.md#v12916-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/deadline`: [v1.26.2](service/deadline/CHANGELOG.md#v1262-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.38.13](service/detective/CHANGELOG.md#v13813-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.38.8](service/devicefarm/CHANGELOG.md#v1388-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.40.12](service/devopsguru/CHANGELOG.md#v14012-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.38.15](service/directconnect/CHANGELOG.md#v13815-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.38.16](service/directoryservice/CHANGELOG.md#v13816-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/directoryservicedata`: [v1.7.21](service/directoryservicedata/CHANGELOG.md#v1721-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.35.16](service/dlm/CHANGELOG.md#v13516-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.48.13](service/docdb/CHANGELOG.md#v14813-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/docdbelastic`: [v1.20.13](service/docdbelastic/CHANGELOG.md#v12013-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.36.13](service/drs/CHANGELOG.md#v13613-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/dsql`: [v1.12.8](service/dsql/CHANGELOG.md#v1128-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.57.1](service/dynamodb/CHANGELOG.md#v1571-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.32.14](service/dynamodbstreams/CHANGELOG.md#v13214-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.33.14](service/ebs/CHANGELOG.md#v13314-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.296.1](service/ec2/CHANGELOG.md#v12961-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.32.20](service/ec2instanceconnect/CHANGELOG.md#v13220-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.56.2](service/ecr/CHANGELOG.md#v1562-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.38.13](service/ecrpublic/CHANGELOG.md#v13813-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.74.1](service/ecs/CHANGELOG.md#v1741-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.41.14](service/efs/CHANGELOG.md#v14114-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.81.2](service/eks/CHANGELOG.md#v1812-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/eksauth`: [v1.12.13](service/eksauth/CHANGELOG.md#v11213-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.51.13](service/elasticache/CHANGELOG.md#v15113-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk`: [v1.34.2](service/elasticbeanstalk/CHANGELOG.md#v1342-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.33.23](service/elasticloadbalancing/CHANGELOG.md#v13323-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.54.10](service/elasticloadbalancingv2/CHANGELOG.md#v15410-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.39.2](service/elasticsearchservice/CHANGELOG.md#v1392-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/elementalinference`: [v1.0.3](service/elementalinference/CHANGELOG.md#v103-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.59.0](service/emr/CHANGELOG.md#v1590-2026-03-26) - **Feature**: Add StepExecutionRoleArn to RunJobFlow API - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.40.17](service/emrcontainers/CHANGELOG.md#v14017-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.39.6](service/emrserverless/CHANGELOG.md#v1396-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/entityresolution`: [v1.26.5](service/entityresolution/CHANGELOG.md#v1265-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.45.23](service/eventbridge/CHANGELOG.md#v14523-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/evs`: [v1.6.4](service/evs/CHANGELOG.md#v164-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.33.21](service/finspace/CHANGELOG.md#v13321-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.33.21](service/finspacedata/CHANGELOG.md#v13321-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.42.13](service/firehose/CHANGELOG.md#v14213-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.37.20](service/fis/CHANGELOG.md#v13720-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.44.22](service/fms/CHANGELOG.md#v14422-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.41.21](service/forecast/CHANGELOG.md#v14121-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.29.21](service/forecastquery/CHANGELOG.md#v12921-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.41.12](service/frauddetector/CHANGELOG.md#v14112-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/freetier`: [v1.13.14](service/freetier/CHANGELOG.md#v11314-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.65.7](service/fsx/CHANGELOG.md#v1657-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.51.3](service/gamelift/CHANGELOG.md#v1513-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/gameliftstreams`: [v1.11.1](service/gameliftstreams/CHANGELOG.md#v1111-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/geomaps`: [v1.9.4](service/geomaps/CHANGELOG.md#v194-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/geoplaces`: [v1.8.5](service/geoplaces/CHANGELOG.md#v185-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/georoutes`: [v1.7.14](service/georoutes/CHANGELOG.md#v1714-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.32.6](service/glacier/CHANGELOG.md#v1326-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.35.15](service/globalaccelerator/CHANGELOG.md#v13515-2026-03-26) - **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. - `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.139.1](service/glue/CHANGELOG.md#v11391-2026-03-26) - **B > ✂ **Note** > > PR body was truncated to here.
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 0500bb35ac432b638c4fa86d69905b515b0533e5 --- go.mod | 78 ++++++++++++++--------------- go.sum | 156 ++++++++++++++++++++++++++++----------------------------- 2 files changed, 117 insertions(+), 117 deletions(-) diff --git a/go.mod b/go.mod index 911d1cfb..a1ab0cfa 100644 --- a/go.mod +++ b/go.mod @@ -86,35 +86,35 @@ require ( github.com/antihax/optional v1.0.0 github.com/auth0/go-auth0/v2 v2.14.0 github.com/auth0/go-jwt-middleware/v3 v3.3.0 - github.com/aws/aws-sdk-go-v2 v1.43.3 - github.com/aws/aws-sdk-go-v2/config v1.32.34 - github.com/aws/aws-sdk-go-v2/credentials v1.19.33 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.34 - github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.3 - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.3 - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.3 - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.2 - github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.3 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.62.3 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.318.1 - github.com/aws/aws-sdk-go-v2/service/ecs v1.89.3 - github.com/aws/aws-sdk-go-v2/service/efs v1.44.3 - github.com/aws/aws-sdk-go-v2/service/eks v1.90.3 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.3 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.4 - github.com/aws/aws-sdk-go-v2/service/iam v1.57.1 - github.com/aws/aws-sdk-go-v2/service/kms v1.55.3 - github.com/aws/aws-sdk-go-v2/service/lambda v1.101.1 - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.66.0 - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.3 - github.com/aws/aws-sdk-go-v2/service/rds v1.124.0 - github.com/aws/aws-sdk-go-v2/service/route53 v1.65.5 - github.com/aws/aws-sdk-go-v2/service/s3 v1.106.3 - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.3 - github.com/aws/aws-sdk-go-v2/service/sns v1.42.3 - github.com/aws/aws-sdk-go-v2/service/sqs v1.46.3 - github.com/aws/aws-sdk-go-v2/service/ssm v1.73.3 - github.com/aws/aws-sdk-go-v2/service/sts v1.45.3 + github.com/aws/aws-sdk-go-v2 v1.43.4 + github.com/aws/aws-sdk-go-v2/config v1.32.35 + github.com/aws/aws-sdk-go-v2/credentials v1.19.34 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.35 + github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.4 + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.71.0 + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.4 + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.3 + github.com/aws/aws-sdk-go-v2/service/directconnect v1.44.1 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.63.1 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.320.0 + github.com/aws/aws-sdk-go-v2/service/ecs v1.90.0 + github.com/aws/aws-sdk-go-v2/service/efs v1.44.4 + github.com/aws/aws-sdk-go-v2/service/eks v1.90.4 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.4 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.5 + github.com/aws/aws-sdk-go-v2/service/iam v1.58.1 + github.com/aws/aws-sdk-go-v2/service/kms v1.55.4 + github.com/aws/aws-sdk-go-v2/service/lambda v1.101.2 + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.67.1 + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.4 + github.com/aws/aws-sdk-go-v2/service/rds v1.124.1 + github.com/aws/aws-sdk-go-v2/service/route53 v1.65.6 + github.com/aws/aws-sdk-go-v2/service/s3 v1.107.0 + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.4 + github.com/aws/aws-sdk-go-v2/service/sns v1.42.4 + github.com/aws/aws-sdk-go-v2/service/sqs v1.46.4 + github.com/aws/aws-sdk-go-v2/service/ssm v1.73.4 + github.com/aws/aws-sdk-go-v2/service/sts v1.45.4 github.com/aws/smithy-go v1.27.6 github.com/bombsimon/logrusr/v4 v4.1.0 github.com/bradleyfalzon/ghinstallation/v2 v2.19.0 @@ -256,17 +256,17 @@ require ( github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/apparentlymart/go-textseg/v17 v17.0.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.35 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.35 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.36 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.5.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.33.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.28 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.12 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.35 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.36 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.5.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.33.4 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect diff --git a/go.sum b/go.sum index dba429a6..f21193e7 100644 --- a/go.sum +++ b/go.sum @@ -207,88 +207,88 @@ github.com/auth0/go-auth0/v2 v2.14.0 h1:zDxwRHGAt6gLK/OG6wAkB5ScQEJ8WW/ex1EnJig8 github.com/auth0/go-auth0/v2 v2.14.0/go.mod h1:Q/Y3VZVoI3sw87VyTPhx2TQL6Sq4Q/iCP67rW2gcn+M= github.com/auth0/go-jwt-middleware/v3 v3.3.0 h1:nRALRLGsUdWgxX0knqwp60YxiYypeZYfhr+yFCvHoGY= github.com/auth0/go-jwt-middleware/v3 v3.3.0/go.mod h1:WXL/zFf3nuQJWQOVj3hGUQ289ixKVSrFGwZn6LxaQsw= -github.com/aws/aws-sdk-go-v2 v1.43.3 h1:XJIcfv8uDs2ukdQsoAC8/Ebu1ejxwzlayl2ZsiFns2A= -github.com/aws/aws-sdk-go-v2 v1.43.3/go.mod h1:70vwSy16txshwG+g55WkpgPKDIByzHI8ccBsOteo3bQ= +github.com/aws/aws-sdk-go-v2 v1.43.4 h1:b9FTvbRwy+JCsfp2Wp6wV/KbOx3Aj7nkoFb2cRX0IhE= +github.com/aws/aws-sdk-go-v2 v1.43.4/go.mod h1:70vwSy16txshwG+g55WkpgPKDIByzHI8ccBsOteo3bQ= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 h1:aiuaKlDweRC5qExJondpWjOgyzMHpofpwspGXUtwn4c= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16/go.mod h1:nG/LOlmox9BDe9HvQnXWzgcK8uKbgBMZ/Hp5pVt/21I= -github.com/aws/aws-sdk-go-v2/config v1.32.34 h1:o+YAizrX562nEZXaB38uYTK8RvIsvW0uuRP+e5e0Pfk= -github.com/aws/aws-sdk-go-v2/config v1.32.34/go.mod h1:wc0zYRChOniiufvdWiRVf3jgXSgbkvaD683IHHHc2ZQ= -github.com/aws/aws-sdk-go-v2/credentials v1.19.33 h1:/e5V3EWfeDiW6cuRxHsC8gbwko4/vvVYPJR2afBKFFY= -github.com/aws/aws-sdk-go-v2/credentials v1.19.33/go.mod h1:ZxAmkcyOM9beY/WO9oxp2oVPXiP3rq5N1/p4NbenJdE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.34 h1:1EsGke6rTD2CG3j2MMVB77n6Q+FlbQWYI/dFdLWBNtM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.34/go.mod h1:5B1Z/QbaWzqoWRzYxZfmCbDDRcvUHcfAIQw/S+KfDmc= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34 h1:vuIfjzoeqhQMGJyOBU3t0ZEjn2jrN8Bbg1N4CgjzM5Q= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34/go.mod h1:hP28cN4CPJLZHirdQPrZR50JcLN4ApRJP2tzG8cRlhY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34 h1:9faHsnqxJ1vDvB4wMZy/ajIDyz5QhllQjjc72RJpXAw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34/go.mod h1:Yp6nIyejpa23nzlB/LhT63KTla9Jdi06nv/HH/OkAH8= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35 h1:Oe8gMKJLO5awqpa5EhAGKVnBv1s+brdWVuxM2mDa7zA= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35/go.mod h1:FZevcG9cOST/FWAAUhHIchjR9fXFXFRCWodOhx+PDLA= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.3 h1:vnfomuPPLg7/p9xqm0Nc6oYBdi0sWl1xUksUyDxpJpU= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.3/go.mod h1:XzqQmG/JL1ODamWc19W1A4oHHx7CPNTRSDox27KTmg0= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.3 h1:NHWLdTMC2N9d2GivFhLkjm5uXMYIG2uLIxJSN22N7Kk= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.70.3/go.mod h1:cVsUcfdue4Y9Myo4GreBtNJR1WSCtQAObTZOeuaLJlQ= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.3 h1:VLf1Mjng82ZrUfK3XUOpR9M4uyre7f2olsvwoH2u96c= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.3/go.mod h1:rXd0xdBVHME9nlNkOwjoSN94E1Qnc9VT3va6GCtc2Pk= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.2 h1:gB90d8G1wI5cWTky4P/FfMZov2iXTryUBeU/sSipFTU= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.2/go.mod h1:Wka5y0GBbGFTRQqpJy1lJiexNgvHaA7QUVOhNySlLSw= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.3 h1:qb9VXTmbz/qpBKiNsefiMOX3/iDXDLeV0TqZM4kySX4= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.43.3/go.mod h1:Yu7foqobkK2lURKuj5ELA1TpijRy5EC6LvEmmqwndHw= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.62.3 h1:DpQEvokO8q/qgifYKBXsDGSjng+j5JG0A4s75T4u1xs= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.62.3/go.mod h1:8HkdFkH/KcxfnzNYPtHibUZEejby7hwbqDUAoytEKZE= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.318.1 h1:h0YI+ocTZTy1QXcTDsKPa+/+kT1mA8z6mc5NZOhXHJw= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.318.1/go.mod h1:LXmcWkgEK0IfPd3dc3DI/bfMaP76AoWWaqYgh76Y2+A= -github.com/aws/aws-sdk-go-v2/service/ecs v1.89.3 h1:iqNL2awSrnAQWX0F0dCfva4pyi5GTy5Kb91eWliTwW8= -github.com/aws/aws-sdk-go-v2/service/ecs v1.89.3/go.mod h1:B6hK6Vdd7SSNFOwJ33qyAAF9+xvBkUzTxIC0ByxFFPM= -github.com/aws/aws-sdk-go-v2/service/efs v1.44.3 h1:kRHd7gEndJU+hW5C2xa3KCwcckg41Yq3X5GpubuSV44= -github.com/aws/aws-sdk-go-v2/service/efs v1.44.3/go.mod h1:ex8clv85muy5MfOHFkY6gke8snBuABspOAeyuaeyiyc= -github.com/aws/aws-sdk-go-v2/service/eks v1.90.3 h1:46DactFO7uoD/h0c4WFzw6oVACLhctcSJZ4eMPdany4= -github.com/aws/aws-sdk-go-v2/service/eks v1.90.3/go.mod h1:oPTAhd5Yclhh4wLbZkqA0o8rEzezH2fEknQlZSaiSsU= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.3 h1:jNBAu3+l1M8lHPsv8W/2VHrbiu1vY7jyjl9LCa7y1NQ= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.3/go.mod h1:26K7O1zypJYEmzv9bcfUwWIUvZGUD3CYyt/H6GnZk+Q= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.4 h1:qqtZrE6n95+ZSQSJXHFF/jescrB9m23k/Yd0OiOmx5o= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.4/go.mod h1:U/fP6c3Fizi99gPklFcOwpwi0HY+xH9ER3VKi6iby80= -github.com/aws/aws-sdk-go-v2/service/iam v1.57.1 h1:frtNexXj45Ko7pFfBKLyxObvNHefmL7vBeZid9uJCfU= -github.com/aws/aws-sdk-go-v2/service/iam v1.57.1/go.mod h1:9SLmFv7Y2prkDI20yPqNj0+YjG885BnqBExw/hekT5g= +github.com/aws/aws-sdk-go-v2/config v1.32.35 h1:UEzXuET8E42lxBPijuACu/tEK7v5lFPlk0Q+GT5WD9E= +github.com/aws/aws-sdk-go-v2/config v1.32.35/go.mod h1:KaMtJpFa2JlL2BStjjHQVwQpzZEmw+ND/EgVrfFoo2g= +github.com/aws/aws-sdk-go-v2/credentials v1.19.34 h1:y6GkSmcv5myd1ngrYbGmiLlwQqB6TQhOuN/tbSSuWDY= +github.com/aws/aws-sdk-go-v2/credentials v1.19.34/go.mod h1:w3dTcnDVoQIewjo7JG45hduAToikiIFLC4FIO7fndvw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.35 h1:+S7kbJoLDDQ5tE+lHrUBgMkzC8NLgsaioS2F3dVoFAE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.35/go.mod h1:Ak7xXviIARfFdNUJ9Etb0bdVDt/KAvKjMGJVLWXDzik= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.35 h1:kzVuGlatQtYinwBJEEyLAbggepCoavosiaHHX9+fD+c= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.35/go.mod h1:0yLx0yEI+SfqeJMPvOtIEFoZbiQYXMGszBueiutQyaI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.35 h1:WK6CjihTuLisCjSKKbildJ79sGZZgbBz3iNa7VsKIhU= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.35/go.mod h1:KYleN57luLoe97R7vTnx8PMcVrr9gAcRECtOjl91DNg= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.36 h1:jbGY4CXLzZElOXgGsexlC3Hi+3YM0rSmk4opFXKqg/k= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.36/go.mod h1:uBu/9aKsS/UQGc72RAt3y54kjgYQxmhut8ZD2dXCDNE= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.4 h1:Ms7Axfp9CmCT4fCGwSDzR+cYj+8db0LXNqi9ew5bubM= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.42.4/go.mod h1:yHef7hBAGictbSyfX0mrlYu/QW5eERTexpV9HyiP31U= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.71.0 h1:hJQ504HwtUQ9g5UMpfnre3/b7Mi0xA6/FGc3DDqLJnY= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.71.0/go.mod h1:pdYS3ehcIfN63Ma8l9PHkwwG3eLJ1z4Jxa0AIpg4sGU= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.4 h1:vM0MvzS7MkDHdo7Wmf8laa76iV9Q51I2+Qyfp6U+npk= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.4/go.mod h1:pJFmx+oQZM45GaxxMbro/1hebSe7r2HEvzRZpYfbOUo= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.3 h1:bpL3nRqFErK0i1AAjCnFT5hKovNOZsNzcG+U8wrCbuc= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.66.3/go.mod h1:wvC/zJUFlvcT+KTHLzpKe8PNU21NmTWrXxWBlzh0gTQ= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.44.1 h1:EX6IkeM/O/kvoTnfMBqnkg871u4TWx6EZF18g15R8M4= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.44.1/go.mod h1:sVd0dkv6E75KfNnnvH3YfOqEH5PcX0p4dhZTlAZw9pQ= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.63.1 h1:QKBYxujKuCD0QwBfqmrgnuzORIg4r8ODr53bIYI/7lQ= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.63.1/go.mod h1:ygCTS0/CdRkdwVDKMq1yo0NNsKR1cQCGPDP1iY78FRY= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.320.0 h1:/tI2/yVgVh/IxJJVvb4Csfec8FsHmi49By8iLHmTEhc= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.320.0/go.mod h1:Gi5mEHpABbT34fHwafgyxqrIte9oHUEHscusPBYEdHA= +github.com/aws/aws-sdk-go-v2/service/ecs v1.90.0 h1:uxOo7ZIoUh64cKhwC+zUY2A8oT7ZDdAjy5TvKr6KI6U= +github.com/aws/aws-sdk-go-v2/service/ecs v1.90.0/go.mod h1:HWkTC7ipdH6ZoideRpfI19PRRttgNPx8wlLnc9gdYKw= +github.com/aws/aws-sdk-go-v2/service/efs v1.44.4 h1:JM0fOZbLfYpMSAax5oPR1qEBIa5jJq7Jyk901+9GDp8= +github.com/aws/aws-sdk-go-v2/service/efs v1.44.4/go.mod h1:r1Z7oVK7CVn1fE0PYgNqgCcSbYw66GJ1jOrNU6kH8uM= +github.com/aws/aws-sdk-go-v2/service/eks v1.90.4 h1:WYOOdUEfAom4j2Jfi0iL42d4ROsDX5/Hs1HkH+58Fl8= +github.com/aws/aws-sdk-go-v2/service/eks v1.90.4/go.mod h1:aRJV0DQ7WnK5npu6r7Fe619TyiLLsyFLGfe8hI2IfVs= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.4 h1:iWvY8WbmY6+N4Oj+lLqp7lk5BalgiNtga/JIzvpzR1U= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.4/go.mod h1:FqzuVgj0wplQs5Wc+XAo6UmGUjPqLPbmjoMvJlB8+Qg= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.5 h1:3Zphqh8L0blfkrdUv270L8RuNy0RvltPMaskEbs+Xo8= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.5/go.mod h1:Mr4sgkXQN58SJTNJq64yKOrHzA9cqbS2MKExmDCtdcY= +github.com/aws/aws-sdk-go-v2/service/iam v1.58.1 h1:zfcqlttrsc7l4bPHtnPlOGripqUsq7gH7hK7IOy4Mks= +github.com/aws/aws-sdk-go-v2/service/iam v1.58.1/go.mod h1:jrh5pABhfjnixtuljy4rP6LiPuibJ61dg3PAKv65XsU= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 h1:JJLBQxwY+AFwuPAi5ivGc1ChnTdUt4cXMv7e76m2c/Y= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15/go.mod h1:lQknBIe78MVL0cQOQDlag8KGflMbMEVFx9mB6O8ENvk= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27 h1:zwB6ltUc0UiyOsRQaMQ8jNLjKECbjhadCyl4hqV0y/c= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27/go.mod h1:ce9y+Y+hGLUyPKJZZJGoFLuFJNfCNuWZTujUJAsckQA= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.11 h1:K9HW1EvC/jJ1mDkxJD+AnWHDGyxT8JBysgUpvHYlqrU= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.11/go.mod h1:T1v0shPqzAuWdUfLc99+9B5EL5IVnjlGLFxpq9JABkk= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34 h1:sYg4qHWLqsjp15PzX7XCOHSOgKEGoZ5vQY43VvZ1pas= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34/go.mod h1:N58SSz3roKf1HzW5qRaOiyk6MbDLTKgLPvlTfJ90iyI= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35 h1:ohfdSAm4TA6nryIY7mLqe4mnSIAnAreoAPBM81ZVoIM= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35/go.mod h1:uUjphnxMb3HH3vIiOHl4dH0fGNKL+csjqRQEabbfw5k= -github.com/aws/aws-sdk-go-v2/service/kms v1.55.3 h1:qS073F+cSl7QKstrm3Jb8D/XkKBWZ4zHdmRG/cmHLoU= -github.com/aws/aws-sdk-go-v2/service/kms v1.55.3/go.mod h1:l1gMRJ4UawrC6rpVWRz39pZxlyHID0VIS/YEEiLi4E8= -github.com/aws/aws-sdk-go-v2/service/lambda v1.101.1 h1:oHFp8DQrYyrJwZxqudtTGrpkBALE6ZOL3eZ0i76Ox2c= -github.com/aws/aws-sdk-go-v2/service/lambda v1.101.1/go.mod h1:k1AVJ0VnGlKJYVY138yVi7tIzCZKOK4KRf1H6Tu03vQ= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.66.0 h1:VrfvjFVgN2ZJZUvMBsW0YGW7hN3zsqdVYy/wpko9hkQ= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.66.0/go.mod h1:tR82E7iVkRt7zwjxj39m/TNt161xEH/pWuJFXtRhI0I= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.3 h1:GuRzsT644tA8S3YNXDH1vEZpWd1MCdAU9O23vazBz8Y= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.3/go.mod h1:MphID/jnBy5JDHGV0msPGOaCQiOjxnpykm9RgcbuBoA= -github.com/aws/aws-sdk-go-v2/service/rds v1.124.0 h1:VGrYY7725nq+LViSGHzVe9pzObQ+BB1mpdvM0thyqiY= -github.com/aws/aws-sdk-go-v2/service/rds v1.124.0/go.mod h1:Ks1zrhQ17nZjVi5aDLQOwu7dggjWE+/BwvwNUKYWD48= -github.com/aws/aws-sdk-go-v2/service/route53 v1.65.5 h1:7xzkFrCyOao5QI/mMb05RevNjL/T9ZWEkSfEP3x3BIk= -github.com/aws/aws-sdk-go-v2/service/route53 v1.65.5/go.mod h1:QeQx+SJDryB7/afSkkp2x0Thz4UO9PpxRvNBce9XlTY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.106.3 h1:oSfubHEP3a0nTRAtm99IDaws0f15qwf+fOwS1Esh5jI= -github.com/aws/aws-sdk-go-v2/service/s3 v1.106.3/go.mod h1:lWk6L5Q3YkaC7so1bQUJkvF7hj2KUFzdZ4w15wc2GHY= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.3 h1:8jr0co+TFqeM2C1j9RS0ubb5fxN6uIIax7yI/12X7aI= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.3/go.mod h1:kfhzvChImSFuvbqUmqixFzQNLPI/Rq2obz3oqguYteI= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.3 h1:togAtAmgV5IGMnQDuBDJeM8z5Y5RN6G7xeOgphWz+Yc= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.3/go.mod h1:T7xKUUUvN7W3RW8UmMvKnD12xqh+Ux2gCPHPhnt64Dg= -github.com/aws/aws-sdk-go-v2/service/sns v1.42.3 h1:OwgPz7N9WoZKkyQBR6pF8GVDHM8zKbBeZen4g5d0SHE= -github.com/aws/aws-sdk-go-v2/service/sns v1.42.3/go.mod h1:+uKYi97m1oBOMreP1v10yHNWlNKKDXdCWaeVSgno6Z0= -github.com/aws/aws-sdk-go-v2/service/sqs v1.46.3 h1:JVu+hDylgSo054x2H/lGukAjxLCf/ER8lAWDL6wraQs= -github.com/aws/aws-sdk-go-v2/service/sqs v1.46.3/go.mod h1:u8maNFJyJolOQFpSAp8gP9nI+S/1WEEVddmvbedYIik= -github.com/aws/aws-sdk-go-v2/service/ssm v1.73.3 h1:JTiz9aeh+rkQ3ELrotd8CvXWVTapy9IPFm6svME3Ges= -github.com/aws/aws-sdk-go-v2/service/ssm v1.73.3/go.mod h1:YwhlK9qSePagsddmyD1TYLEfIgmz5A6bQfRnTLBIPl0= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.3 h1:YjH64OUytnWZBHUtM9GMyi4ZWBiSQdEJkZuPykOIe44= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.3/go.mod h1:5qoHcDZDTSJotoKk1bvVRPv1MXaL/NhfY9ng8D1g/ig= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.3 h1:A4o1di/XGaqtw6r3toSBrFX2U7mVSLqg7jo9wL4I+cU= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.3/go.mod h1:sKuKz2kHtrGVtFu34vbM3LWSA9CKD9YZUmm6e5PPqRA= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.3 h1:Fi7+DiKN1+QphlajvE6FqeZ8GRbnnRul7zTdUiRpbGc= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.3/go.mod h1:KCc3e27fHZUGtzpek7wZcp6dyCpGkJJo/+3PBujh/yU= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.28 h1:Q1TF1J9jVD+vFo0LzNnmNdQ9EAt52TS+MQlq9Ir+Yxo= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.28/go.mod h1:4KqXXC/p1hrotmouDFbrRoWaLy962b9PMUReCG6+uWo= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.12 h1:JiBaijClgXE98o7qCTU3wXvLY2ht3mbbXUfEV6oP3LY= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.12.12/go.mod h1:2jd+Rjsg3BeToVNAJT2l2FQ4FQt8nd3488jydlmB82E= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.35 h1:BBEElKh4a+rKshvjrfpajTe9CbpZvrbb4Jkg2PB7RzA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.35/go.mod h1:zaZk983w//8beSruBVec/mr4CmDwgZitW/qzGhAAX0g= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.36 h1:EUIwBoN+q7UmhAejxgD27APiRjh1vwCFo53gSqdT0BM= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.36/go.mod h1:6u00gmlTGR6W0b2k9NBrld7MnOEmf1Spqx0VVt6AqyE= +github.com/aws/aws-sdk-go-v2/service/kms v1.55.4 h1:8T9CDPlcIUpXTKXXfMMFtD1eujGXbVysGiidx79bTkc= +github.com/aws/aws-sdk-go-v2/service/kms v1.55.4/go.mod h1:XlYycjMbh9zYnTPpjUropzSDngZd/x37jNa9vGHA7hE= +github.com/aws/aws-sdk-go-v2/service/lambda v1.101.2 h1:CkTYIMCfXy2/Td2jLBqw341cNYbRxwSCNPxdDm5COXc= +github.com/aws/aws-sdk-go-v2/service/lambda v1.101.2/go.mod h1:1YzSvApzBChjIuI1UN2cN2roWoGjR/V7Ch3+pfIfyN0= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.67.1 h1:ALvqCGxcIKfivODvcBnczl0VzydQ5vJNX0ShAZtcAr4= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.67.1/go.mod h1:MAGIcSa39152PajiIBL9eUtfimV23TrpJzL67DdzdFU= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.4 h1:NqVaABPv2KzNPAFFDWe0tOx7Y7B3y/UuuB+TTUJNEO0= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.44.4/go.mod h1:Rn3XXfK1IcbCURfY2KNXs/joVMDuIxQGrgLHQzx6df4= +github.com/aws/aws-sdk-go-v2/service/rds v1.124.1 h1:tEeu5kuP2MLQ7drmlN4qYiBKVoUftyBiS6dSFN67pYc= +github.com/aws/aws-sdk-go-v2/service/rds v1.124.1/go.mod h1:qciN0v66sYiwRf+YRkus1mQR0XldavqGIQEzTxc2vb0= +github.com/aws/aws-sdk-go-v2/service/route53 v1.65.6 h1:MDZUFQEVG3S6W+VmhQ9qlbprAuPZDfvvWZTg+HZU0o0= +github.com/aws/aws-sdk-go-v2/service/route53 v1.65.6/go.mod h1:mh85zjA/hf1PtItwFXA9Yb/2zgUCEYpkN9QmzrK4RNc= +github.com/aws/aws-sdk-go-v2/service/s3 v1.107.0 h1:OkYV+1171za+ab9otU1tGxMXhx6uZvwVEtVddjLuYTg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.107.0/go.mod h1:5FTZoQxhmLEiCAtYVk6V+t0iS/B5yGZVLZ3Wq5FDJZI= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.4 h1:br4Yg9yZfFggiPLgSh4ud7oLxXeG4r/UFysUiPFBYD0= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.4/go.mod h1:f3Jidj1KNnUeGCuKpAhazEpxIFCVyu5+RDAB6OXt1/s= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.4 h1:cOJELVNrq5Q3Udry2GLuHUM7MhwpeaQRdYaoa6GI/yI= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.4/go.mod h1:f4LxzKBtaTxD7xh3PiVg3CE1tchQemfmghaJr+NbK2c= +github.com/aws/aws-sdk-go-v2/service/sns v1.42.4 h1:cregOIHGsHahN/VX2Jd7oPjYSF0HUnz9YUJDHKsZJMU= +github.com/aws/aws-sdk-go-v2/service/sns v1.42.4/go.mod h1:EfxXlpPsLpJfVw6ykt9dGnao+OaEDVU4p69UaJQlBHs= +github.com/aws/aws-sdk-go-v2/service/sqs v1.46.4 h1:Uqz9kiRjrhLwoVHEPt+ZT/n62UeAYxLHPetT6ImySBU= +github.com/aws/aws-sdk-go-v2/service/sqs v1.46.4/go.mod h1:5QpAlDsMzDn2GUBCgs+pw52OLZzS4Sf3jOQDe4KSoVI= +github.com/aws/aws-sdk-go-v2/service/ssm v1.73.4 h1:+QpoNtGPwN5o4VjM4UWs2a6sr1EpWB+9/y6oM4L0KTo= +github.com/aws/aws-sdk-go-v2/service/ssm v1.73.4/go.mod h1:i4v4VFk+bLmZfg8WIZbuZluLsQj6SXHX6uZrCv3UcQY= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.4 h1:AMW7a7S8iQaHjBYZdU3PCq4GKRPijTPRAc7e6XtEThY= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.4/go.mod h1:QQNsFV1DVXoXcZt18FS8lI8rtUrlDyAuWZLQ5shunv4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4 h1:AsbZcJAQPRmHDJG8K1N0pof/1zPWjVT8TFlTWuGLSvo= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4/go.mod h1:6imqztH0//t0mKbl6yWl7swSEl7F/w32oAmqB3vP1ag= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.4 h1:w/AryDYMjSUANSQ2uoZxJovUsMTwWJNTv3IMex30Y+4= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.4/go.mod h1:WeBiAa67azG7Su9Vf+ChGDBLiAozJCXzdjXiPBUwtbc= github.com/aws/smithy-go v1.27.6 h1:0zjT8jgK3jbrTT7JJ3EE6JsMhX8JTrZ+f1sEndYDXrA= github.com/aws/smithy-go v1.27.6/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= From 291211ab630da3046efb95ac3e0783f0c172b2b5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 09:44:47 +0000 Subject: [PATCH 27/36] Update Observability modules (#6273) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/getsentry/sentry-go](https://redirect.github.com/getsentry/sentry-go) | `v0.47.0` → `v0.48.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgetsentry%2fsentry-go/v0.48.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgetsentry%2fsentry-go/v0.47.0/v0.48.0?slim=true) | | [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib) | `v0.69.0` → `v0.70.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fnet%2fhttp%2fotelhttp/v0.70.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2finstrumentation%2fnet%2fhttp%2fotelhttp/v0.69.0/v0.70.0?slim=true) | | [go.opentelemetry.io/otel](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.44.0` → `v1.45.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel/v1.45.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel/v1.44.0/v1.45.0?slim=true) | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.44.0` → `v1.45.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.45.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace/v1.44.0/v1.45.0?slim=true) | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.44.0` → `v1.45.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.45.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracehttp/v1.44.0/v1.45.0?slim=true) | | [go.opentelemetry.io/otel/exporters/stdout/stdouttrace](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.44.0` → `v1.45.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fstdout%2fstdouttrace/v1.45.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fstdout%2fstdouttrace/v1.44.0/v1.45.0?slim=true) | | [go.opentelemetry.io/otel/metric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.44.0` → `v1.45.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fmetric/v1.45.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fmetric/v1.44.0/v1.45.0?slim=true) | | [go.opentelemetry.io/otel/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.44.0` → `v1.45.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk/v1.45.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk/v1.44.0/v1.45.0?slim=true) | | [go.opentelemetry.io/otel/trace](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.44.0` → `v1.45.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2ftrace/v1.45.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2ftrace/v1.44.0/v1.45.0?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
getsentry/sentry-go (github.com/getsentry/sentry-go) ### [`v0.48.0`](https://redirect.github.com/getsentry/sentry-go/releases/tag/v0.48.0): 0.48.0 [Compare Source](https://redirect.github.com/getsentry/sentry-go/compare/v0.47.0...v0.48.0) ##### Breaking Changes 🛠 - Remove issue creation from logging integrations by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1340](https://redirect.github.com/getsentry/sentry-go/pull/1340) ##### New Features ✨ - Add `ClientOptions.DataCollection` for granular control over data collected by automatic instrumentation, replacing the broad `SendDefaultPII` switch. `DataCollection` can independently configure automatic `user.*` population, cookies, request/response headers, HTTP bodies, and query parameters. When configured, it is the source of truth and `SendDefaultPII` is ignored. by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1339](https://redirect.github.com/getsentry/sentry-go/pull/1339) - For backwards compatibility, clients that do not configure `DataCollection` keep a best-effort mapping of the previous `SendDefaultPII` behavior. To opt in to the new defaults, pass an empty `DataCollection` and then restrict individual categories as needed. ```go sentry.Init(sentry.ClientOptions{ Dsn: "https://public@example.com/1", // Opt in to the new data collection defaults. Omitted fields use their // defaults: user info, cookies, headers, query params, and supported HTTP // bodies are collected, with sensitive values filtered. DataCollection: &sentry.DataCollection{}, }) ``` - To opt in while disabling automatic user info and HTTP bodies, configure those fields explicitly: ```go sentry.Init(sentry.ClientOptions{ Dsn: "https://public@example.com/1", DataCollection: &sentry.DataCollection{ UserInfo: sentry.Set(false), HTTPBodies: []sentry.BodyType{}, }, }) ``` - PushScope shorthand now returns the new scope reference by [@​DoctorJohn](https://redirect.github.com/DoctorJohn) in [#​1335](https://redirect.github.com/getsentry/sentry-go/pull/1335) ##### Bug Fixes 🐛 - Fix fiber route name when using middlewares by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1363](https://redirect.github.com/getsentry/sentry-go/pull/1363) - Omit empty event id for standalone client reports by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1362](https://redirect.github.com/getsentry/sentry-go/pull/1362) - Preserve '%' literal in log messages by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1358](https://redirect.github.com/getsentry/sentry-go/pull/1358) - Unaligned 64-bit atomic panic on 32-bit platforms in telemetry buffers by [@​Kirill-INQ](https://redirect.github.com/Kirill-INQ) in [#​1355](https://redirect.github.com/getsentry/sentry-go/pull/1355) - Isolate event processor across clones by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1337](https://redirect.github.com/getsentry/sentry-go/pull/1337) ##### Internal Changes 🔧 ##### Deps - Bump fiber/v2 to 2.52.14 by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1359](https://redirect.github.com/getsentry/sentry-go/pull/1359) - Bump actions/checkout from 6.0.3 to 7.0.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1349](https://redirect.github.com/getsentry/sentry-go/pull/1349) - Bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1346](https://redirect.github.com/getsentry/sentry-go/pull/1346) - Bump codecov/codecov-action from 6.0.0 to 7.0.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1347](https://redirect.github.com/getsentry/sentry-go/pull/1347) - Bump actions/setup-go from 6.4.0 to 6.5.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1343](https://redirect.github.com/getsentry/sentry-go/pull/1343) - Bump golang.org/x/crypto to 0.52.0 and golang/x/net to 0.55.0 by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1341](https://redirect.github.com/getsentry/sentry-go/pull/1341) - Bump getsentry/github-workflows/validate-pr from [`c802283`](https://redirect.github.com/getsentry/sentry-go/commit/c802283cd9075b7a2b7a32655019c21c21676e34) to [`4013fc6`](https://redirect.github.com/getsentry/sentry-go/commit/4013fc6e1aeb1be1f9d3b4d232624f0ec1afa613) by [@​dependabot](https://redirect.github.com/dependabot) in [#​1344](https://redirect.github.com/getsentry/sentry-go/pull/1344) ##### Other - Remove changelog-preview and codecov actions by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1357](https://redirect.github.com/getsentry/sentry-go/pull/1357) - Add govulncheck audit action by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1342](https://redirect.github.com/getsentry/sentry-go/pull/1342) - Limit changelog-preview secret access by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1350](https://redirect.github.com/getsentry/sentry-go/pull/1350) - Move limited buffer under utils by [@​giortzisg](https://redirect.github.com/giortzisg) in [#​1338](https://redirect.github.com/getsentry/sentry-go/pull/1338)
open-telemetry/opentelemetry-go (go.opentelemetry.io/otel) ### [`v1.45.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.44.0...v1.45.0) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.44.0...v1.45.0)
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: b4b878d1c0827fa41ad3e139cea4bbc5783d6593 --- go.mod | 30 +++++++++++++-------------- go.sum | 64 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/go.mod b/go.mod index a1ab0cfa..03b65da5 100644 --- a/go.mod +++ b/go.mod @@ -125,7 +125,7 @@ require ( github.com/coreos/go-oidc/v3 v3.20.0 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc github.com/exaring/otelpgx v0.11.1 - github.com/getsentry/sentry-go v0.47.0 + github.com/getsentry/sentry-go v0.48.0 github.com/go-jose/go-jose/v4 v4.1.4 github.com/google/btree v1.1.3 github.com/google/cel-go v0.30.0 @@ -196,14 +196,14 @@ require ( gitlab.com/gitlab-org/api/client-go/v2 v2.55.1 go.etcd.io/bbolt v1.5.0 go.opentelemetry.io/contrib/detectors/aws/ec2/v2 v2.0.0-20250901115419-474a7992e57c - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 - go.opentelemetry.io/otel v1.44.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.44.0 - go.opentelemetry.io/otel/metric v1.44.0 - go.opentelemetry.io/otel/sdk v1.44.0 - go.opentelemetry.io/otel/trace v1.44.0 + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 + go.opentelemetry.io/otel v1.45.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0 + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.45.0 + go.opentelemetry.io/otel/metric v1.45.0 + go.opentelemetry.io/otel/sdk v1.45.0 + go.opentelemetry.io/otel/trace v1.45.0 go.uber.org/automaxprocs v1.6.0 go.uber.org/goleak v1.3.0 go.uber.org/mock v0.6.0 @@ -215,7 +215,7 @@ require ( golang.org/x/time v0.15.0 gonum.org/v1/gonum v0.17.0 google.golang.org/api v0.291.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d google.golang.org/grpc v1.83.0 google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af gopkg.in/ini.v1 v1.67.3 @@ -298,12 +298,12 @@ require ( github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/extism/go-sdk v1.7.1 // indirect github.com/fatih/color v1.18.0 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/felixge/httpsnoop v1.1.0 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/gabriel-vasile/mimetype v1.4.12 // indirect github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6 // indirect - github.com/go-logr/logr v1.4.3 // indirect + github.com/go-logr/logr v1.4.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect github.com/go-openapi/jsonpointer v0.21.1 // indirect @@ -443,8 +443,8 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 // indirect go.opentelemetry.io/otel/log v0.11.0 // indirect go.opentelemetry.io/otel/schema v0.0.17 // indirect - go.opentelemetry.io/otel/sdk/metric v1.44.0 // indirect - go.opentelemetry.io/proto/otlp v1.10.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.45.0 // indirect + go.opentelemetry.io/proto/otlp v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect @@ -460,7 +460,7 @@ require ( gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20260519071638-aa98bba5eb94 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect k8s.io/apiextensions-apiserver v0.36.0 // indirect diff --git a/go.sum b/go.sum index f21193e7..35315a6c 100644 --- a/go.sum +++ b/go.sum @@ -396,8 +396,8 @@ github.com/extism/go-sdk v1.7.1/go.mod h1:IT+Xdg5AZM9hVtpFUA+uZCJMge/hbvshl8bwzL github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.1.0 h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc= +github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= @@ -406,8 +406,8 @@ github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sa github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= github.com/gabriel-vasile/mimetype v1.4.12/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= -github.com/getsentry/sentry-go v0.47.0 h1:AnSMSyrYA5qZCIN/2xpgAAwv63sVULV+vBq37ajouc8= -github.com/getsentry/sentry-go v0.47.0/go.mod h1:h+b4VHpKnK7aUXB5wc+KDnPgp9ZtfliRD4eV85FbiSA= +github.com/getsentry/sentry-go v0.48.0 h1:FRZNr7Uk1C86ev1bSJmYlUkL9oyivQA6YOcdYfaaMmY= +github.com/getsentry/sentry-go v0.48.0/go.mod h1:E5UkA5wp1qR2+MDydNYlVeUiNN2xEdjYMidkgf0Qoss= github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= @@ -427,8 +427,8 @@ github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9 github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6 h1:nxP4pPoyqOAgX8lYDFCfl3DyKeXErCvSvhcyzwGV9CE= github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6/go.mod h1:tphK2c80bpPhMOI4v6bIc2xWywPfbqi1Z06+RcrMkDg= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= -github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.4 h1:tG4xh9yMsRCAiodLVTxyrkzSZ9+o0L1Kg/+cPVcbP/8= +github.com/go-logr/logr v1.4.4/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= @@ -957,36 +957,36 @@ go.opentelemetry.io/contrib/detectors/gcp v1.44.0 h1:NmLfL734pJhM0JKaYd2Y28+nY9d go.opentelemetry.io/contrib/detectors/gcp v1.44.0/go.mod h1:tNAsgd8avTGke1+MndXlU5Cru4PQ9Ai/cCNWQv/ZJ/s= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 h1:0Qx7VGBacMm9ZENQ7TnNObTYI4ShC+lHI16seduaxZo= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0/go.mod h1:Sje3i3MjSPKTSPvVWCaL8ugBzJwik3u4smCjUeuupqg= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI= -go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= -go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 h1:4YsVu3B8+3qtWYYrsUYgn0OG78pN0rnNPRGX4SbokQI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0/go.mod h1:+wnlSn0mD1ADVMe3v9Z/WIaiz6q6gL2J/ejaAmdmv80= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 h1:LMuyCAyfalSjDyjdC65nK6N0zoTT63+E/u95X0JovZI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0/go.mod h1:085m8qbm4hgc8rZWGDEa4vmyyo2c3nPxUslYUKUIU04= +go.opentelemetry.io/otel v1.45.0 h1:pdrWmLHofpubmArBv1LgFSv1Z0Ie/ppdZzu+kUN5EeU= +go.opentelemetry.io/otel v1.45.0/go.mod h1:XZxIqPapzEYnhNSScF5DIqXhm/rYi0FzCe2XddAwZfQ= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0 h1:QRefszxJmfPdjXUUm3j6iDzY03mTPXMjqErFqQ67vUg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0/go.mod h1:Tiz03lTBVBrm7eWZBOidzEaYaJa8tjwGUGv6d8mlTyk= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 h1:DvJDOPmSWQHWywQS6lKL+pb8s3gBLOZUtw4N+mavW1I= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0/go.mod h1:EtekO9DEJb4/jRyN4v4Qjc2yA7AtfCBuz2FynRUWTXs= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 h1:lgh3PiVrRUWMLOVSkQicxzZll5NjF1r+AtsX1XRIHw0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0/go.mod h1:5Cnhth3m/AgOeTgE3ex12pPmiu/gGtZit03kSzx9X7s= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0 h1:QBajQ2SrwQijzHyZbQlPsuIzpl/ll8DY6wPWsajeGcI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0/go.mod h1:08ZQLjrPLQ6R4kAXvuOvODEer5Yh4CoFvll5qB2BCI8= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.44.0 h1:hqxVTu/GtBF+vJ8d1fzW7fRxZFvgoDjWcxwwCaFDYpU= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.44.0/go.mod h1:z5fVEF4X5v0ESvlJqBrrFlBVoj5EQuefZpzsu7R+x5Q= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.44.0 h1:bl2S7Ubua0Nms+D/gAmznQTd4dxxMA93aKbcpKqiTCs= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.44.0/go.mod h1:L0hRV50XdVIODHUfWEqGRCXQvj2rV82STVo12FMFBU0= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.45.0 h1:lsA/S1bxgdbyFGkTj+3meEdJ6ADVU7QoFstV6MXgE68= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.45.0/go.mod h1:L7u+MirGoB1bjeLH66+xDykF4RC8C3RN7lIFpBiewUo= go.opentelemetry.io/otel/log v0.11.0 h1:c24Hrlk5WJ8JWcwbQxdBqxZdOK7PcP/LFtOtwpDTe3Y= go.opentelemetry.io/otel/log v0.11.0/go.mod h1:U/sxQ83FPmT29trrifhQg+Zj2lo1/IPN1PF6RTFqdwc= -go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= -go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= -go.opentelemetry.io/otel/metric/x v0.66.0 h1:YkCrx1zLOChi9ZcZ6euupOcsgzbVlec7D/xoEU1+cTA= -go.opentelemetry.io/otel/metric/x v0.66.0/go.mod h1:d1+BDj9t96do0/1LoU1ayfCv79ZgNE41qbhBvnMOBZk= +go.opentelemetry.io/otel/metric v1.45.0 h1:7Eg1uH7CJ5cXv9is6tnBe1FI6rj1nwUdbFypRm3br/M= +go.opentelemetry.io/otel/metric v1.45.0/go.mod h1:HAPbm1nd3p1PmFH7v2dR+6BjXxw+Lq4a2+pndMAm08s= +go.opentelemetry.io/otel/metric/x v0.67.0 h1:PcicCNZFkZ4bXfSooXdo3WN7RBOVOtjVdo1wD358Uns= +go.opentelemetry.io/otel/metric/x v0.67.0/go.mod h1:FBjCWZe6wgcqxcMtjdGiClDKXb2YxxXii0CXftE4QtI= go.opentelemetry.io/otel/schema v0.0.17 h1:SE4ABKAeeYtS+S8KVn+h8JAnJu0F7G1X77cq5Exvrco= go.opentelemetry.io/otel/schema v0.0.17/go.mod h1:Re58nHSOgeegrxyGIAxISfMGk9YV0/ki/0mJfjgxSC4= -go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= -go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= -go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= -go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= -go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= -go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= -go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= -go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= +go.opentelemetry.io/otel/sdk v1.45.0 h1:4VVSMgQ83dUgW2aoX5f6JgLvHwIvzcuLnF9lUdCSpCw= +go.opentelemetry.io/otel/sdk v1.45.0/go.mod h1:Sr40LgXV7DsKMMJMKOhUWOgMWTfAaqvm2kF0g7ilwuA= +go.opentelemetry.io/otel/sdk/metric v1.45.0 h1:oVFszMfyj1Am6s24Vtc7wBb8BKLcwepJjNEYILuiE3o= +go.opentelemetry.io/otel/sdk/metric v1.45.0/go.mod h1:vUWUxDZvu1WVRj8JA8S0AdhsPrZoDpA2DdZauIh4mDA= +go.opentelemetry.io/otel/trace v1.45.0 h1:l/mP6Uv7oNO7/TblbhpbgMidxhq1uO/rPsikOyVhxag= +go.opentelemetry.io/otel/trace v1.45.0/go.mod h1:qoJJA2xNMnxRrdISU/kLtfUH2wNeQbiv+jhs/CxI8bc= +go.opentelemetry.io/proto/otlp v1.11.0 h1:5rrYs0Ykyj50sdU/JU0x8etU+LubXWb+gED6TbEdMIk= +go.opentelemetry.io/proto/otlp v1.11.0/go.mod h1:SmVizdCOAm3XBtG1g1NnOdhW6jtddT72hLMhv8VwA8E= go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -1121,10 +1121,10 @@ google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAs google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20260519071638-aa98bba5eb94 h1:YJjbgu+dkp5kUJLfpMyCLfBIWZb/FcJyuLeo1gVBOuo= google.golang.org/genproto v0.0.0-20260519071638-aa98bba5eb94/go.mod h1:RRHjglSYABVCWpQ7USCpdfhcd9t4PkajvVwyynZizTc= -google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 h1:jQ9p21COKWjP3VwuFrNRiiOTMh3mPpN45R7SLrH/HUU= -google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7/go.mod h1:KqHwBx2upmfa1XSi1WuRvC+2VGCLtooKkfmyvRbUmqA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0 h1:mJiOtnGp0k/BcSgdu03G2NwnscCfCH+h2QKUBZr18KI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260729162451-8efbd57d26e0/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d h1:FarXi840EJWSHYTN3ERkADbPWjl307+FGrA22KAVjjc= +google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d/go.mod h1:K/+WGbmBY7aNW1HDw1fJnKYo10i0DkAX6pows00dLig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d h1:IL4hdHzcUv2l/gcg98/Rj3FbtE6axwqslOW8SW0C+S0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.83.0 h1:JeNZEKJFbQxArAMl+hiytHauacDNqJUllNfmIMmpqnQ= google.golang.org/grpc v1.83.0/go.mod h1:kDyl6SKsiHKt0uylY5gtn5cEjkrIOhQOGDgIc4JGwzQ= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= From 5ffceaf61a048a00eb7bf1c2dd9c39c96b18b477 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 11:01:10 +0000 Subject: [PATCH 28/36] Update GCP SDK (#6269) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [cloud.google.com/go/bigtable](https://redirect.github.com/googleapis/google-cloud-go) | `v1.51.0` → `v1.52.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/cloud.google.com%2fgo%2fbigtable/v1.52.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/cloud.google.com%2fgo%2fbigtable/v1.51.0/v1.52.0?slim=true) | | [google.golang.org/api](https://redirect.github.com/googleapis/google-api-go-client) | `v0.291.0` → `v0.292.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.292.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.291.0/v0.292.0?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
googleapis/google-api-go-client (google.golang.org/api) ### [`v0.292.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.292.0) [Compare Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.291.0...v0.292.0) ##### Features - **all:** Auto-regenerate discovery clients ([#​3682](https://redirect.github.com/googleapis/google-api-go-client/issues/3682)) ([b70719b](https://redirect.github.com/googleapis/google-api-go-client/commit/b70719bb5600e7681c883946903c4e55c493c801)) - **all:** Auto-regenerate discovery clients ([#​3684](https://redirect.github.com/googleapis/google-api-go-client/issues/3684)) ([c9bc778](https://redirect.github.com/googleapis/google-api-go-client/commit/c9bc778099e72798eef096de828fb333389f7010)) - **all:** Auto-regenerate discovery clients ([#​3685](https://redirect.github.com/googleapis/google-api-go-client/issues/3685)) ([8140ddf](https://redirect.github.com/googleapis/google-api-go-client/commit/8140ddf12e1a5c4a54748a94b6655818fcc480ed)) - **all:** Auto-regenerate discovery clients ([#​3687](https://redirect.github.com/googleapis/google-api-go-client/issues/3687)) ([57047fb](https://redirect.github.com/googleapis/google-api-go-client/commit/57047fb96a7bd29eea0bfed36a9207389f3cafcf)) - **all:** Auto-regenerate discovery clients ([#​3688](https://redirect.github.com/googleapis/google-api-go-client/issues/3688)) ([256abd7](https://redirect.github.com/googleapis/google-api-go-client/commit/256abd760aedde96c6e73ecf11822ed4cb223469))
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: bffb061c93a9f9c6b4c9c4acfdc7ac980fb8f31e --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 03b65da5..f69cf47f 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( cloud.google.com/go/auth v0.22.0 cloud.google.com/go/auth/oauth2adapt v0.2.8 cloud.google.com/go/bigquery v1.79.0 - cloud.google.com/go/bigtable v1.51.0 + cloud.google.com/go/bigtable v1.52.0 cloud.google.com/go/certificatemanager v1.15.0 cloud.google.com/go/compute v1.65.0 cloud.google.com/go/compute/metadata v0.9.0 @@ -214,7 +214,7 @@ require ( golang.org/x/text v0.40.0 golang.org/x/time v0.15.0 gonum.org/v1/gonum v0.17.0 - google.golang.org/api v0.291.0 + google.golang.org/api v0.292.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d google.golang.org/grpc v1.83.0 google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af diff --git a/go.sum b/go.sum index 35315a6c..23ce29d1 100644 --- a/go.sum +++ b/go.sum @@ -30,8 +30,8 @@ cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIi cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= cloud.google.com/go/bigquery v1.79.0 h1:+tW6oRuP/4dOgdl/p32on0+3OktVQtU+veOMxhjoOhE= cloud.google.com/go/bigquery v1.79.0/go.mod h1:QTt5tgZxqqvZs3dOZKpvriGqy+CdvY9LyetirFZRPOE= -cloud.google.com/go/bigtable v1.51.0 h1:AZh/vDoRdn8cz+CbdUjx/ajQGqit831Wo8dtIWsfNTY= -cloud.google.com/go/bigtable v1.51.0/go.mod h1:PL9WVm/o2ET/MDj6i1Zt7eNW7YNY0iFOmSHTVvLdPmo= +cloud.google.com/go/bigtable v1.52.0 h1:8DS8rq5Mn3XmPqXD/vk+1lyqcWJ4hs+0Hh8Ruqroj+U= +cloud.google.com/go/bigtable v1.52.0/go.mod h1:51/CYIIpOoGrZ6koxZ9F5MFMwhtluPPeh0BvCJjl5RQ= cloud.google.com/go/certificatemanager v1.15.0 h1:PwljEZlI3lZgoFUG0pnIBNOwrQUaAP+gS0ZahTwUZBA= cloud.google.com/go/certificatemanager v1.15.0/go.mod h1:8dfGG2/TbUpCNqsCF/TIMOGV0OVvU6nhkZWTU4MmCXU= cloud.google.com/go/compute v1.65.0 h1:K0a3NRvazE7sZn5qswwI6BtlaZv1fgR5wFop5LZCLz8= @@ -1114,8 +1114,8 @@ gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0 gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/api v0.291.0 h1:wfPbbY+mr9c7wZLqqzrHJLft/q8iFKREd6IgTBUene0= -google.golang.org/api v0.291.0/go.mod h1:at7kwWbuonglBFEBoeMDAV1bguHqL3qf0BHFsv3coa0= +google.golang.org/api v0.292.0 h1:Ewiwo/GTtiaPZSNAZQUcWLh8AYDEoPmIXyJfeoTSMHU= +google.golang.org/api v0.292.0/go.mod h1:07kjmMnFGm2RQuCza2EZM/5N68G/fVvFb1xKjWqoFA0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= From e85726cc394316be3ecbf4a9412072918741f3d3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 8 Aug 2026 01:28:28 +0000 Subject: [PATCH 29/36] Update Go (#6263) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | buf.build/gen/go/depot/api/connectrpc/go | `v1.20.0-20260706220319-a3bcb894aab3.1` → `v1.20.0-20260805103418-70b5c163d960.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/buf.build%2fgen%2fgo%2fdepot%2fapi%2fconnectrpc%2fgo/v1.20.0-20260805103418-70b5c163d960.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/buf.build%2fgen%2fgo%2fdepot%2fapi%2fconnectrpc%2fgo/v1.20.0-20260706220319-a3bcb894aab3.1/v1.20.0-20260805103418-70b5c163d960.1?slim=true) | | buf.build/gen/go/depot/api/protocolbuffers/go | `v1.36.11-20260706220319-a3bcb894aab3.1` → `v1.36.11-20260805103418-70b5c163d960.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/buf.build%2fgen%2fgo%2fdepot%2fapi%2fprotocolbuffers%2fgo/v1.36.11-20260805103418-70b5c163d960.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/buf.build%2fgen%2fgo%2fdepot%2fapi%2fprotocolbuffers%2fgo/v1.36.11-20260706220319-a3bcb894aab3.1/v1.36.11-20260805103418-70b5c163d960.1?slim=true) | | [github.com/aws/smithy-go](https://redirect.github.com/aws/smithy-go) | `v1.27.6` → `v1.27.7` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2fsmithy-go/v1.27.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2fsmithy-go/v1.27.6/v1.27.7?slim=true) | | [github.com/google/cel-go](https://redirect.github.com/google/cel-go) | `v0.30.0` → `v0.31.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fcel-go/v0.31.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fcel-go/v0.30.0/v0.31.0?slim=true) | | [github.com/harness/harness-go-sdk](https://redirect.github.com/harness/harness-go-sdk) | `v0.8.15` → `v0.8.19` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fharness%2fharness-go-sdk/v0.8.19?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fharness%2fharness-go-sdk/v0.8.15/v0.8.19?slim=true) | | [github.com/openai/openai-go/v3](https://redirect.github.com/openai/openai-go) | `v3.49.0` → `v3.50.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopenai%2fopenai-go%2fv3/v3.50.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopenai%2fopenai-go%2fv3/v3.49.0/v3.50.0?slim=true) | | [github.com/posthog/posthog-go](https://redirect.github.com/posthog/posthog-go) | `v1.22.0` → `v1.23.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fposthog%2fposthog-go/v1.23.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fposthog%2fposthog-go/v1.22.0/v1.23.0?slim=true) | | [github.com/sashabaranov/go-openai](https://redirect.github.com/sashabaranov/go-openai) | `v1.41.2` → `v1.42.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsashabaranov%2fgo-openai/v1.42.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsashabaranov%2fgo-openai/v1.41.2/v1.42.0?slim=true) | | [gitlab.com/gitlab-org/api/client-go/v2](https://gitlab.com/gitlab-org/api/client-go) | `v2.55.1` → `v2.56.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv2/v2.56.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv2/v2.55.1/v2.56.0?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
aws/smithy-go (github.com/aws/smithy-go) ### [`v1.27.7`](https://redirect.github.com/aws/smithy-go/blob/HEAD/CHANGELOG.md#Release-2026-08-07) [Compare Source](https://redirect.github.com/aws/smithy-go/compare/v1.27.6...v1.27.7) #### General Highlights - **Dependency Update**: Updated to the latest SDK module versions #### Module Highlights - `github.com/aws/smithy-go`: v1.27.7 - **Bug Fix**: Don't serialize unset JSON documents as `nil` in structure members. - **Bug Fix**: Fix a deserialization panic around collection members in recursive shape configs.
google/cel-go (github.com/google/cel-go) ### [`v0.31.0`](https://redirect.github.com/cel-expr/cel-go/releases/tag/v0.31.0) [Compare Source](https://redirect.github.com/google/cel-go/compare/v0.30.0...v0.31.0) This release introduces critical performance breakthroughs, simplifies integration with native Go structures, and hardens the safety limits of evaluated expressions. **Features** | Pull Request | Description and Impact | | :-------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Env copy on write** ([#​1405](https://redirect.github.com/google/cel-go/issues/1405)) | Introduces Copy-on-Write (COW) mechanics for environment definitions, dramatically slashing CPU and memory allocation overhead when building child or extended environments. | | **Optimize NativeToValue call paths** ([#​1400](https://redirect.github.com/google/cel-go/issues/1400)) | Optimizes reflection-heavy conversion paths, significantly improving evaluation speeds when feeding native Go types directly to the runtime engine. | | **Support self-describing, self-adapting struct types** ([#​1395](https://redirect.github.com/google/cel-go/issues/1395)) | Simplifies struct integration by enabling native Go struct types to self-describe and adapt directly to the CEL type system without verbose boilerplate. | | **Move native type support into the Core CEL library** ([#​1396](https://redirect.github.com/google/cel-go/issues/1396)) | Moves native Go type mapping utilities directly into the Core CEL package to unify dependency structure and improve native API access. | | **Regex program plan size controls** ([#​1383](https://redirect.github.com/google/cel-go/issues/1383)) | Introduces critical compiled size constraints on regex expressions to mitigate CPU/memory exhaustion vectors during evaluation. | | **Simplify support for native object types** ([#​1393](https://redirect.github.com/google/cel-go/issues/1393)) | Streamlines setup workflows for mapping standard Go structures inside the CEL compiler environment. | | **Tag automation for go submodules** ([#​1401](https://redirect.github.com/google/cel-go/issues/1401)) | Automates the submodule tagging process to streamline multi-module releases. | **Fixes** | Pull Request | Impact and Technical Details | | :--------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- | | **Respect composed adapter for unregistered structs** ([#​1384](https://redirect.github.com/google/cel-go/issues/1384)) | Corrects behavior so that unregistered Go structs properly fall back to composed adapter configurations. | | **reject out-of-range hours in timezone offset parsing** ([#​1391](https://redirect.github.com/google/cel-go/issues/1391)) | Tightens datetime validation by rejecting invalid out-of-range hour offsets during timezone parsing. | | **Fix the expression limit node test** ([#​1390](https://redirect.github.com/google/cel-go/issues/1390)) | Restores stability to environment node test suites verifying size-limit assertions. | | **Correct documented default max value for lists.range** ([#​1392](https://redirect.github.com/google/cel-go/issues/1392)) | Resolves documentation drift regarding the default maximum limit for the lists.range function. | **Breaking Changes** There are no breaking changes, but all `ext.NativeTypes` features are now available via `cel.NativeTypes` **Notes on Performance** This release targets two primary computational bottlenecks in high-throughput CEL environments: environment construction and reflection-based type coercion. ##### **Expected Impact** 1. **Dynamic Environment Extension**: Applications that dynamically extend a base CEL environment per request (e.g., policy validation engines or API gateways adding request-scoped variables) will see near-zero initialization costs. The **Copy-on-Write (COW)** optimization prevents copying underlying maps of variables, functions, and adapters. 2. **Type Coercion Speed**: Bypassing heavy reflection paths during NativeToValue conversions significantly cuts down CPU cycle usage and drastically reduces garbage collection overhead in processing hot paths. 3. **AST Pruning**: Consolidating sequential list concatenations ([#​1406](https://redirect.github.com/google/cel-go/issues/1406)) and optimizing optional macros ([#​1387](https://redirect.github.com/google/cel-go/issues/1387)) ensures that generated program plans are leaner, reducing both compilation and execution memory footprints. ##### **Go-lang Benchmark Citation (benchstat)** The performance improvements can be verified running the repository's native benchmark harness with benchstat: `name old time/op new time/op delta`\ `BenchmarkEnvExtension/10_vars 3.56µs ± 1% 0.15µs ± 0% -95.79% (p=0.000 n=10+10)`\ `BenchmarkNativeToValue/struct 120ns ± 2% 42ns ± 1% -65.00% (p=0.000 n=10+10)`\ `BenchmarkOptionalMapEvaluation 245ns ± 1% 195ns ± 1% -20.41% (p=0.000 n=10+10)` `name old allocs/op new allocs/op delta`\ `BenchmarkEnvExtension/10_vars 32.0 ± 0% 1.0 ± 0% -96.88% (p=0.000 n=10+10)`\ `BenchmarkNativeToValue/struct 3.00 ± 0% 1.00 ± 0% -66.67% (p=0.000 n=10+10)` #### New Contributors - [@​lopster568](https://redirect.github.com/lopster568) made their first contribution in [cel-expr#1384](https://redirect.github.com/cel-expr/cel-go/pull/1384) **Full Changelog**:
harness/harness-go-sdk (github.com/harness/harness-go-sdk) ### [`v0.8.19`](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.18...v0.8.19) [Compare Source](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.18...v0.8.19) ### [`v0.8.18`](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.17...v0.8.18) [Compare Source](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.17...v0.8.18) ### [`v0.8.17`](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.16...v0.8.17) [Compare Source](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.16...v0.8.17) ### [`v0.8.16`](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.15...v0.8.16) [Compare Source](https://redirect.github.com/harness/harness-go-sdk/compare/v0.8.15...v0.8.16)
openai/openai-go (github.com/openai/openai-go/v3) ### [`v3.50.0`](https://redirect.github.com/openai/openai-go/releases/tag/v3.50.0) [Compare Source](https://redirect.github.com/openai/openai-go/compare/v3.49.0...v3.50.0) ##### Features - **api:** promote Go SDK changes ([#​748](https://redirect.github.com/openai/openai-go/issues/748)) ([9e4b4d5](https://redirect.github.com/openai/openai-go/commit/9e4b4d5a5ccadc94ea8b8a54148e7a0e52797e94)) ##### Build System - **deps:** bump github.com/aws/aws-sdk-go-v2/config in / ([#​745](https://redirect.github.com/openai/openai-go/issues/745)) ([af89b42](https://redirect.github.com/openai/openai-go/commit/af89b4276381d98193419f46429f79d74b490ec9)) - **deps:** bump the codeql group with 2 updates ([#​746](https://redirect.github.com/openai/openai-go/issues/746)) ([41c8a70](https://redirect.github.com/openai/openai-go/commit/41c8a70fef4c2f7067a7eb6bc095c94d1782a2fe))
posthog/posthog-go (github.com/posthog/posthog-go) ### [`v1.23.0`](https://redirect.github.com/PostHog/posthog-go/releases/tag/v1.23.0): 1.23.0 [Compare Source](https://redirect.github.com/posthog/posthog-go/compare/v1.22.0...v1.23.0) #### Unreleased
sashabaranov/go-openai (github.com/sashabaranov/go-openai) ### [`v1.42.0`](https://redirect.github.com/sashabaranov/go-openai/releases/tag/v1.42.0) [Compare Source](https://redirect.github.com/sashabaranov/go-openai/compare/v1.41.2...v1.42.0) #### What's Changed - \[BREAKING\_CHANGES] Stop stripping dots in azure model mapper by [@​krissetto](https://redirect.github.com/krissetto) in [#​1079](https://redirect.github.com/sashabaranov/go-openai/pull/1079) - feat: add Responses API support by [@​sashabaranov](https://redirect.github.com/sashabaranov) in [#​1112](https://redirect.github.com/sashabaranov/go-openai/pull/1112) - Modernize models, docs, and CI by [@​sashabaranov](https://redirect.github.com/sashabaranov) in [#​1114](https://redirect.github.com/sashabaranov/go-openai/pull/1114) - fix(images): send omitted image edit fields by [@​ShiroKSH](https://redirect.github.com/ShiroKSH) in [#​1113](https://redirect.github.com/sashabaranov/go-openai/pull/1113) - form\_builder: always set a Content-Type on reader-based form parts by [@​c-tonneslan](https://redirect.github.com/c-tonneslan) in [#​1108](https://redirect.github.com/sashabaranov/go-openai/pull/1108) - stream\_reader: stop wrapping nil APIError into "error, " by [@​c-tonneslan](https://redirect.github.com/c-tonneslan) in [#​1107](https://redirect.github.com/sashabaranov/go-openai/pull/1107) - fix: always serialize stream field in request JSON by [@​blackwell-systems](https://redirect.github.com/blackwell-systems) in [#​1104](https://redirect.github.com/sashabaranov/go-openai/pull/1104) #### New Contributors - [@​krissetto](https://redirect.github.com/krissetto) made their first contribution in [#​1079](https://redirect.github.com/sashabaranov/go-openai/pull/1079) - [@​ShiroKSH](https://redirect.github.com/ShiroKSH) made their first contribution in [#​1113](https://redirect.github.com/sashabaranov/go-openai/pull/1113) - [@​c-tonneslan](https://redirect.github.com/c-tonneslan) made their first contribution in [#​1108](https://redirect.github.com/sashabaranov/go-openai/pull/1108) - [@​blackwell-systems](https://redirect.github.com/blackwell-systems) made their first contribution in [#​1104](https://redirect.github.com/sashabaranov/go-openai/pull/1104) **Full Changelog**:
gitlab-org/api/client-go (gitlab.com/gitlab-org/api/client-go/v2) ### [`v2.56.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.56.0) [Compare Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.55.1...v2.56.0) #### 2.56.0 ##### 🚀 Features - Add StartDate to IssueEventObjectAttributes ([!2972](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2972)) by [Brian](https://gitlab.com/mookwoo) ##### 🐛 Bug Fixes - fix(event_webhook_types): Add StartDate to IssueCommentEventIssue struct ([!2971](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2971)) by [Cesar Hinojosa](https://gitlab.com/cesarihinojosa) ##### 🔄 Other Changes - chore(deps): update module go.yaml.in/yaml/v3 to v3.0.5 ([!2973](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2973)) by [GitLab Dependency Bot](https://gitlab.com/gitlab-dependency-update-bot) - chore(deps): update module github.com/google/cel-go to v0.30.0 ([!2974](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2974)) by [GitLab Dependency Bot](https://gitlab.com/gitlab-dependency-update-bot) ### [2.56.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.55.1...v2.56.0) (2026-08-05) ##### Bug Fixes * **event_webhook_types:** Add StartDate to IssueCommentEventIssue struct ([4e3accc](https://gitlab.com/gitlab-org/api/client-go/commit/4e3accce0bb8cd05689c70cba277b70c701dab90))
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 48b4142efa4e3cbdb154323be03c295bf6c396bb --- go.mod | 18 +++++++++--------- go.sum | 36 ++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/go.mod b/go.mod index f69cf47f..5d50c6f6 100644 --- a/go.mod +++ b/go.mod @@ -24,8 +24,8 @@ replace golang.org/x/image => golang.org/x/image v0.44.0 require ( atomicgo.dev/keyboard v0.2.10 buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1 - buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260706220319-a3bcb894aab3.1 - buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260706220319-a3bcb894aab3.1 + buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260805103418-70b5c163d960.1 + buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260805103418-70b5c163d960.1 buf.build/go/protovalidate v1.2.0 charm.land/lipgloss/v2 v2.0.5 cloud.google.com/go/aiplatform v1.126.0 @@ -115,7 +115,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sqs v1.46.4 github.com/aws/aws-sdk-go-v2/service/ssm v1.73.4 github.com/aws/aws-sdk-go-v2/service/sts v1.45.4 - github.com/aws/smithy-go v1.27.6 + github.com/aws/smithy-go v1.27.7 github.com/bombsimon/logrusr/v4 v4.1.0 github.com/bradleyfalzon/ghinstallation/v2 v2.19.0 github.com/brianvoe/gofakeit/v7 v7.15.0 @@ -128,13 +128,13 @@ require ( github.com/getsentry/sentry-go v0.48.0 github.com/go-jose/go-jose/v4 v4.1.4 github.com/google/btree v1.1.3 - github.com/google/cel-go v0.30.0 + github.com/google/cel-go v0.31.0 github.com/google/go-github/v88 v88.0.0 github.com/google/uuid v1.6.0 github.com/googleapis/gax-go/v2 v2.23.0 github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e github.com/gorilla/mux v1.8.1 - github.com/harness/harness-go-sdk v0.8.15 + github.com/harness/harness-go-sdk v0.8.19 github.com/hashicorp/go-retryablehttp v0.7.8 github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/hashicorp/hcl/v2 v2.24.0 @@ -163,13 +163,13 @@ require ( github.com/neo4j/neo4j-go-driver/v6 v6.2.0 github.com/onsi/ginkgo/v2 v2.32.0 github.com/onsi/gomega v1.42.1 - github.com/openai/openai-go/v3 v3.49.0 + github.com/openai/openai-go/v3 v3.50.0 github.com/openrdap/rdap v0.10.1 github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297 github.com/pb33f/ordered-map/v2 v2.3.1 github.com/pborman/ansi v1.3.0 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c - github.com/posthog/posthog-go v1.22.0 + github.com/posthog/posthog-go v1.23.0 github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf github.com/resend/resend-go/v3 v3.12.0 github.com/riverqueue/river v0.41.1 @@ -178,7 +178,7 @@ require ( github.com/riverqueue/rivercontrib/otelriver v0.10.0 github.com/rs/cors v1.11.1 github.com/samber/slog-logrus/v2 v2.5.4 - github.com/sashabaranov/go-openai v1.41.2 + github.com/sashabaranov/go-openai v1.42.0 github.com/sirupsen/logrus v1.9.4 github.com/slack-go/slack v0.27.0 github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 @@ -193,7 +193,7 @@ require ( github.com/uptrace/opentelemetry-go-extra/otellogrus v0.3.2 github.com/xiam/dig v0.0.0-20191116195832-893b5fb5093b github.com/zclconf/go-cty v1.19.0 - gitlab.com/gitlab-org/api/client-go/v2 v2.55.1 + gitlab.com/gitlab-org/api/client-go/v2 v2.56.0 go.etcd.io/bbolt v1.5.0 go.opentelemetry.io/contrib/detectors/aws/ec2/v2 v2.0.0-20250901115419-474a7992e57c go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 diff --git a/go.sum b/go.sum index 23ce29d1..50802840 100644 --- a/go.sum +++ b/go.sum @@ -10,10 +10,10 @@ atomicgo.dev/schedule v0.1.0 h1:nTthAbhZS5YZmgYbb2+DH8uQIZcTlIrd4eYr3UQxEjs= atomicgo.dev/schedule v0.1.0/go.mod h1:xeUa3oAkiuHYh8bKiQBRojqAMq3PXXbJujjb0hw8pEU= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1 h1:fXh8CsdNpjRr8R5vFdqtIxPt/Lno2IIJlYOdZBIZn0w= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= -buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260706220319-a3bcb894aab3.1 h1:QglwQczCt8GvMyl7Y9uqg7iNywS+2+BObRC5OEdz1lA= -buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260706220319-a3bcb894aab3.1/go.mod h1:Y5+caMevcSRas8EYksjDdP/OXsQMiIrWN7J1vjyWSiM= -buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260706220319-a3bcb894aab3.1 h1:YTrroqPyDAXOQ4ZEq6zw22uI2PllBaN9bZ8BA2zZR4Q= -buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260706220319-a3bcb894aab3.1/go.mod h1:flLy9CsWgmK0R+28/i1wH9jkYcDoin4b6bzOhw/uXaQ= +buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260805103418-70b5c163d960.1 h1:LTkLnk0A+4btUtpFbl6vGpDARdBVoCVvwecg9l0x0sA= +buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260805103418-70b5c163d960.1/go.mod h1:i5wVtJxXAy9f0pelwW82O+87WHPasmiAiRR4dj3XSmM= +buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260805103418-70b5c163d960.1 h1:1rz7DZ2u3aPYuq9ygqVd3eou0uCCOJODd2FcRZrb3BY= +buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260805103418-70b5c163d960.1/go.mod h1:flLy9CsWgmK0R+28/i1wH9jkYcDoin4b6bzOhw/uXaQ= buf.build/go/protovalidate v1.2.0 h1:DQVrUWkmGTBij+kOYv/x2LLxwcLaGKMdzShj1/6/3H0= buf.build/go/protovalidate v1.2.0/go.mod h1:7rYiQEhqvAipoazpVNBBH2S2f8bjG4huMVy1V2Yofn4= cel.dev/expr v0.25.2 h1:K6j46C81hXtZQfuX60cVWQFBJahKSE2gfRbNuvr5bFs= @@ -289,8 +289,8 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4 h1:AsbZcJAQPRmHDJG8K1N0pof/ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4/go.mod h1:6imqztH0//t0mKbl6yWl7swSEl7F/w32oAmqB3vP1ag= github.com/aws/aws-sdk-go-v2/service/sts v1.45.4 h1:w/AryDYMjSUANSQ2uoZxJovUsMTwWJNTv3IMex30Y+4= github.com/aws/aws-sdk-go-v2/service/sts v1.45.4/go.mod h1:WeBiAa67azG7Su9Vf+ChGDBLiAozJCXzdjXiPBUwtbc= -github.com/aws/smithy-go v1.27.6 h1:0zjT8jgK3jbrTT7JJ3EE6JsMhX8JTrZ+f1sEndYDXrA= -github.com/aws/smithy-go v1.27.6/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= +github.com/aws/smithy-go v1.27.7 h1:Zgj5z4LfcDYoQIVk+n/yGdTkP/2y6ZT5vYxe0fp7bqE= +github.com/aws/smithy-go v1.27.7/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0/go.mod h1:6L7zgvqo0idzI7IO8de6ZC051AfXb5ipkIJ7bIA2tGA= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -473,8 +473,8 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= 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/cel-go v0.30.0 h1:ll54AkzKunWkBn9wSoiUXbFZXYZTkdJGNXTBXUoolGo= -github.com/google/cel-go v0.30.0/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8= +github.com/google/cel-go v0.31.0 h1:H0bhpFTqOvmHrBGrWKp7ZlhBm5Hh8PYUEXnwxT1LL7A= +github.com/google/cel-go v0.31.0/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8= 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/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= @@ -523,8 +523,8 @@ github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5T github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= -github.com/harness/harness-go-sdk v0.8.15 h1:VtHYeM7Np7Ebx6/YuPt8gllgoDbpEhqFuFk8tC2lOP4= -github.com/harness/harness-go-sdk v0.8.15/go.mod h1:iEAGFfIm0MOFJxN6tqMQSPZiEO/Dz1joLDHrkEU3lps= +github.com/harness/harness-go-sdk v0.8.19 h1:q5cq91znw54JtRSreDzPfQuCaxphSNVFTOFTmam74D0= +github.com/harness/harness-go-sdk v0.8.19/go.mod h1:iEAGFfIm0MOFJxN6tqMQSPZiEO/Dz1joLDHrkEU3lps= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -741,8 +741,8 @@ github.com/onsi/ginkgo/v2 v2.32.0 h1:Hw7s2pVrQo/8Yz5N77qdnpHaoc+c6cC9WIV1Jce+J6E github.com/onsi/ginkgo/v2 v2.32.0/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I= github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg= -github.com/openai/openai-go/v3 v3.49.0 h1:/BObwLKdgHJ3AbJ7AXK8BRDfjuTAV+eTmEQFbG86wnQ= -github.com/openai/openai-go/v3 v3.49.0/go.mod h1:nCqcbgPr2jYDV8wiCWPA2tRL56mWXdb6QavBmBwzSis= +github.com/openai/openai-go/v3 v3.50.0 h1:CXn+C8a10oQiI5CMyMbCiykhITVhVxhdHX8j3CfLa2U= +github.com/openai/openai-go/v3 v3.50.0/go.mod h1:Ogjo0gDct+Jm7yCqaCjLGQGygeV8xNfNHV1/yKvCji0= github.com/openrdap/rdap v0.10.1 h1:+FT6HT7gzAnmKxgy6p1iCnhyaf++Q9Lkq1L9sk8J5IY= github.com/openrdap/rdap v0.10.1/go.mod h1:JHgco+RQ9lApvLbQ4GiJ/aJJHhbdgVvjI8tqOAYkOV0= github.com/overmindtech/otelpgx v0.0.0-20260518092812-9a74fcacfd49 h1:THDCq6kD417YIlex+sBmoRbGODL9fGcJ2y+ld8EkWLk= @@ -774,8 +774,8 @@ github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1 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= -github.com/posthog/posthog-go v1.22.0 h1:VNy+sMJ9MMnENr9dMSxfQt/5bB4UhwRdZfasOAghMMg= -github.com/posthog/posthog-go v1.22.0/go.mod h1://M430hNH3e8CDv4i8SJesb26816Mpa6GIZaiP4pNQU= +github.com/posthog/posthog-go v1.23.0 h1:Uj/mHGBRY+VutTMAtK79Lbha5lHCyYEuZypLtfWjQbI= +github.com/posthog/posthog-go v1.23.0/go.mod h1://M430hNH3e8CDv4i8SJesb26816Mpa6GIZaiP4pNQU= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= @@ -827,8 +827,8 @@ github.com/samber/slog-common v0.21.0 h1:Wo2hTly1Br5RjYqX/BTWJJeDnTE85oWk/7vqlpZ github.com/samber/slog-common v0.21.0/go.mod h1:d/6OaSlzdkl9PFpfRLgn8FwY1OW6EFmPtBpsHX4MrU0= github.com/samber/slog-logrus/v2 v2.5.4 h1:ACS0VWNDJcpFRICkgzRvBAI8ms/LH3S7KrOhAB3SQ0g= github.com/samber/slog-logrus/v2 v2.5.4/go.mod h1:JBnv/7Gn0ef/iVy2RuRnA2qYIAc0ttlr6/9L/me8jVI= -github.com/sashabaranov/go-openai v1.41.2 h1:vfPRBZNMpnqu8ELsclWcAvF19lDNgh1t6TVfFFOPiSM= -github.com/sashabaranov/go-openai v1.41.2/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= +github.com/sashabaranov/go-openai v1.42.0 h1:fgeZx7/D8dRT//PwXAGe9ylOMtj6vrs999uWF71K+f8= +github.com/sashabaranov/go-openai v1.42.0/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= github.com/segmentio/asm v1.2.1 h1:DTNbBqs57ioxAD4PrArqftgypG4/qNpXoJx8TVXxPR0= github.com/segmentio/asm v1.2.1/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/segmentio/encoding v0.5.4 h1:OW1VRern8Nw6ITAtwSZ7Idrl3MXCFwXHPgqESYfvNt0= @@ -943,8 +943,8 @@ 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.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -gitlab.com/gitlab-org/api/client-go/v2 v2.55.1 h1:eX0iBhJ9GWP2XqQOH/pkmSvPosFS3rcyFcup/3kHL2k= -gitlab.com/gitlab-org/api/client-go/v2 v2.55.1/go.mod h1:6GcBiCVrZBtOvl6HiahZ3nq5eBs7JMUARJeLN4/RgZU= +gitlab.com/gitlab-org/api/client-go/v2 v2.56.0 h1:2dWcjisjwmEXUZ841bzcJGoyEtCpVKXOAIMmbMPQ6YM= +gitlab.com/gitlab-org/api/client-go/v2 v2.56.0/go.mod h1:gcqiTA4aFvyvPZspm+YwnMFObw2t8K3YCXxAwJgY51g= go.devnw.com/structs v1.0.0 h1:FFkBoBOkapCdxFEIkpOZRmMOMr9b9hxjKTD3bJYl9lk= go.devnw.com/structs v1.0.0/go.mod h1:wHBkdQpNeazdQHszJ2sxwVEpd8zGTEsKkeywDLGbrmg= go.etcd.io/bbolt v1.5.0 h1:S7GAl7Fxv12yohbwFfIbQCGDWbQbtDGPET4P/bD4lxU= From 0d023d6e86c9d3ed0306a41936675052cb456239 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Aug 2026 13:05:40 +0200 Subject: [PATCH 30/36] Update google.golang.org/protobuf digest to 644d026 (#6260) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [google.golang.org/protobuf](https://go.googlesource.com/protobuf) | require | digest | `f2248ac` → `644d026` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 4c9b5af2647dda6f9f2cf6fde1b64a96c37dbd1e --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d50c6f6..3716b9b5 100644 --- a/go.mod +++ b/go.mod @@ -217,7 +217,7 @@ require ( google.golang.org/api v0.292.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d google.golang.org/grpc v1.83.0 - google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af + google.golang.org/protobuf v1.36.12-0.20260806062936-644d0267c26e gopkg.in/ini.v1 v1.67.3 gopkg.in/yaml.v3 v3.0.1 k8s.io/api v0.36.3 diff --git a/go.sum b/go.sum index 50802840..9b76d127 100644 --- a/go.sum +++ b/go.sum @@ -1129,8 +1129,8 @@ google.golang.org/grpc v1.83.0 h1:JeNZEKJFbQxArAMl+hiytHauacDNqJUllNfmIMmpqnQ= google.golang.org/grpc v1.83.0/go.mod h1:kDyl6SKsiHKt0uylY5gtn5cEjkrIOhQOGDgIc4JGwzQ= 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.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= -google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +google.golang.org/protobuf v1.36.12-0.20260806062936-644d0267c26e h1:EIVWoj7hKWJiXy9OdaukBGcSR+NH3cGL/uswTzfvuec= +google.golang.org/protobuf v1.36.12-0.20260806062936-644d0267c26e/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= 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= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From c4d560acc72a41d1ffefb03b696a58b1eadf2e33 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Aug 2026 13:05:52 +0200 Subject: [PATCH 31/36] Update River Queue (#6274) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/riverqueue/river](https://redirect.github.com/riverqueue/river) | `v0.41.1` → `v0.43.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2friverqueue%2friver/v0.43.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2friverqueue%2friver/v0.41.1/v0.43.0?slim=true) | | [github.com/riverqueue/river/riverdriver/riverpgxv5](https://redirect.github.com/riverqueue/river) | `v0.41.1` → `v0.43.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2friverqueue%2friver%2friverdriver%2friverpgxv5/v0.43.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2friverqueue%2friver%2friverdriver%2friverpgxv5/v0.41.1/v0.43.0?slim=true) | | [github.com/riverqueue/river/rivertype](https://redirect.github.com/riverqueue/river) | `v0.41.1` → `v0.43.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2friverqueue%2friver%2frivertype/v0.43.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2friverqueue%2friver%2frivertype/v0.41.1/v0.43.0?slim=true) | | [github.com/riverqueue/rivercontrib/otelriver](https://redirect.github.com/riverqueue/rivercontrib) | `v0.10.0` → `v0.12.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2friverqueue%2frivercontrib%2fotelriver/v0.12.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2friverqueue%2frivercontrib%2fotelriver/v0.10.0/v0.12.0?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. ## ⚠️ Warning These modules contain database migrations that need to be added manually to our atlas migrations. Check the contents of https://github.com/riverqueue/river/tree/master/rivermigrate/migration before merging this update. --- ### Release Notes
riverqueue/river (github.com/riverqueue/river) ### [`v0.43.0`](https://redirect.github.com/riverqueue/river/releases/tag/v0.43.0) [Compare Source](https://redirect.github.com/riverqueue/river/compare/v0.42.0...v0.43.0) ##### Added - Added `JobListParams.TagsAll` and `JobListParams.TagsAny` for filtering jobs that match every or any exact tag, respectively. [PR #​1339](https://redirect.github.com/riverqueue/river/pull/1339). ##### Fixed - `testsignal` no longer imports `riversharedtest`, so testify, go-spew, goleak, and yaml are no longer linked into production binaries that use River. `WaitTimeout` moved to `rivershared/util/testutil`, with `riversharedtest.WaitTimeout` kept as a wrapper around it. [PR #​1342](https://redirect.github.com/riverqueue/river/pull/1342). ### [`v0.42.0`](https://redirect.github.com/riverqueue/river/releases/tag/v0.42.0) [Compare Source](https://redirect.github.com/riverqueue/river/compare/v0.41.1...v0.42.0) ##### Added - Added `JobArgsWithPlugins` for installing plugins that apply only to a specific job type. [PR #​1337](https://redirect.github.com/riverqueue/river/pull/1337).
riverqueue/rivercontrib (github.com/riverqueue/rivercontrib/otelriver) ### [`v0.12.0`](https://redirect.github.com/riverqueue/rivercontrib/releases/tag/v0.12.0) [Compare Source](https://redirect.github.com/riverqueue/rivercontrib/compare/v0.11.0...v0.12.0) ##### Added - Add `otelriver` hook support for River producer metrics, including `river.job_get_available_duration` and `river.job_get_available_count`. [PR #​64](https://redirect.github.com/riverqueue/rivercontrib/pull/64). ##### Changed - Update River dependency to v0.41.0 in all subpackages. [PR #​71](https://redirect.github.com/riverqueue/rivercontrib/pull/71). ### [`v0.11.0`](https://redirect.github.com/riverqueue/rivercontrib/releases/tag/v0.11.0) [Compare Source](https://redirect.github.com/riverqueue/rivercontrib/compare/v0.10.0...v0.11.0) ##### Added - Add `EnableTracePropagation` configuration method, which enables linking river job spans to the span that enqueued them for tracing *why* a job was enqueued. [PR #​65](https://redirect.github.com/riverqueue/rivercontrib/pull/65)
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 57fdd20c7b5adb0db8720170c8f184a4935f4546 --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 3716b9b5..e878b8f7 100644 --- a/go.mod +++ b/go.mod @@ -172,10 +172,10 @@ require ( github.com/posthog/posthog-go v1.23.0 github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf github.com/resend/resend-go/v3 v3.12.0 - github.com/riverqueue/river v0.41.1 - github.com/riverqueue/river/riverdriver/riverpgxv5 v0.41.1 - github.com/riverqueue/river/rivertype v0.41.1 - github.com/riverqueue/rivercontrib/otelriver v0.10.0 + github.com/riverqueue/river v0.43.0 + github.com/riverqueue/river/riverdriver/riverpgxv5 v0.43.0 + github.com/riverqueue/river/rivertype v0.43.0 + github.com/riverqueue/rivercontrib/otelriver v0.12.0 github.com/rs/cors v1.11.1 github.com/samber/slog-logrus/v2 v2.5.4 github.com/sashabaranov/go-openai v1.42.0 @@ -405,8 +405,8 @@ require ( github.com/prometheus/common v0.67.5 // indirect github.com/prometheus/procfs v0.19.2 // indirect github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e // indirect - github.com/riverqueue/river/riverdriver v0.41.1 // indirect - github.com/riverqueue/river/rivershared v0.41.1 // indirect + github.com/riverqueue/river/riverdriver v0.43.0 // indirect + github.com/riverqueue/river/rivershared v0.43.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/sagikazarmark/locafero v0.11.0 // indirect github.com/samber/lo v1.53.0 // indirect diff --git a/go.sum b/go.sum index 9b76d127..a089d1fb 100644 --- a/go.sum +++ b/go.sum @@ -794,18 +794,18 @@ github.com/resend/resend-go/v3 v3.12.0 h1:fzoMd76NShVv1vzjym5owBYrnpA/U1GfyqvUN4 github.com/resend/resend-go/v3 v3.12.0/go.mod h1:iI7VA0NoGjWvsNii5iNC5Dy0llsI3HncXPejhniYzwE= github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e h1:OwOgxT3MRpOj5Mp6DhFdZP43FOQOf2hhywAuT5XZCR4= github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e/go.mod h1:O7UmsAMjpMYuToN4au5GNXdmN1gli+5FTldgXqAfaD0= -github.com/riverqueue/river v0.41.1 h1:Eat4tnIL16PTX1StVTwTAm2iKDowG99t2fDZPfwFPE8= -github.com/riverqueue/river v0.41.1/go.mod h1:5KXJLKDPwjVC99ISXv2OHDQtNm1YwAeEAx9VYCd1RF0= -github.com/riverqueue/river/riverdriver v0.41.1 h1:cwmmFCJkJlH6geaUTbOqC8vBUe00vTBm248GVD3HrqY= -github.com/riverqueue/river/riverdriver v0.41.1/go.mod h1:nAZirY7z2clR4gaZxuGzvae8bwgycl9mrvb3+RWOehQ= -github.com/riverqueue/river/riverdriver/riverpgxv5 v0.41.1 h1:9VCL/tebPcMqrg9dwxQnL80/np4b2HnXwSwaICsszGM= -github.com/riverqueue/river/riverdriver/riverpgxv5 v0.41.1/go.mod h1:Ga+M+38X+cDMk6GsONljP3PrY5ylfBYMBn3MRj2+c9U= -github.com/riverqueue/river/rivershared v0.41.1 h1:wHYBCXxCocvPhkH90B4fAUyMMWMVGG+/EFubyH15R2E= -github.com/riverqueue/river/rivershared v0.41.1/go.mod h1:wQJhQ+jP7SILzEF3t7vrUQvuCMRL0sIhCU2DwjFfn/g= -github.com/riverqueue/river/rivertype v0.41.1 h1:wBO2+nRfmpSohBRkC1/dxEkRyLS96FWlkUjukexOydc= -github.com/riverqueue/river/rivertype v0.41.1/go.mod h1:D1Ad+EaZiaXbQbJcJcfeicXJMBKno0n6UcfKI5Q7DIQ= -github.com/riverqueue/rivercontrib/otelriver v0.10.0 h1:cOtwJ6PyVGQWN45XfuSQSMJAV60KozgES8vaHE9u1F0= -github.com/riverqueue/rivercontrib/otelriver v0.10.0/go.mod h1:Ewb2HiCy9yoltuomU4yZcdvBRHQBNo2683qhChq2JOQ= +github.com/riverqueue/river v0.43.0 h1:3Dx6D3s6x+LM64UXRNJ79LvHxbE7XHywQUbMJOKEkbg= +github.com/riverqueue/river v0.43.0/go.mod h1:cj0PdXI8jFTyNSAuVsItUhceQPYgRKdWLzBH5COLN4g= +github.com/riverqueue/river/riverdriver v0.43.0 h1:gZOXFrUO4eoltx1aS389qBcMnYu0/vHjwUiLRjhKAd0= +github.com/riverqueue/river/riverdriver v0.43.0/go.mod h1:ovNGHrKy+vhmnv973hNwEiz37d224fENQhS8mNr02eo= +github.com/riverqueue/river/riverdriver/riverpgxv5 v0.43.0 h1:bY54qI+QLzqj/89xgOWmDMxBQjoWOgG6K5G3SS4dYJo= +github.com/riverqueue/river/riverdriver/riverpgxv5 v0.43.0/go.mod h1:4TlYleXF/TcO4k7B5v1T8P/N4cznQBts2Z6/sf/X8zc= +github.com/riverqueue/river/rivershared v0.43.0 h1:MtXJCI1CFE/xs5+f6iijMwLaPufseatwd7PZBgvmb58= +github.com/riverqueue/river/rivershared v0.43.0/go.mod h1:gbL9ne9A8dtJuVzUrYvYxN9xji0UFDCcEbPPmZoi3qM= +github.com/riverqueue/river/rivertype v0.43.0 h1:zArGUikFO22poxU7MvJ4EXT/3OFKzkidyAumJrFepKI= +github.com/riverqueue/river/rivertype v0.43.0/go.mod h1:D1Ad+EaZiaXbQbJcJcfeicXJMBKno0n6UcfKI5Q7DIQ= +github.com/riverqueue/rivercontrib/otelriver v0.12.0 h1:FLY0chUrXJaIsBcxR86bASKdVM/as1qs5LVLRS9/TjY= +github.com/riverqueue/rivercontrib/otelriver v0.12.0/go.mod h1:4+HNqZ7s681x0fDyOvZm++kqo9Gwz1RtSybyM905qJw= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= From 5550de794c0cd574414ac1d10d935dbc4ad7a7d8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Aug 2026 13:16:28 +0200 Subject: [PATCH 32/36] Update module github.com/nats-io/nats-server/v2 to v2.14.4 (#6174) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/nats-io/nats-server/v2](https://redirect.github.com/nats-io/nats-server) | `v2.14.3` → `v2.14.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fnats-io%2fnats-server%2fv2/v2.14.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fnats-io%2fnats-server%2fv2/v2.14.3/v2.14.4?slim=true) | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. --- ### Release Notes
nats-io/nats-server (github.com/nats-io/nats-server/v2) ### [`v2.14.4`](https://redirect.github.com/nats-io/nats-server/releases/tag/v2.14.4) [Compare Source](https://redirect.github.com/nats-io/nats-server/compare/v2.14.3...v2.14.4) #### Changelog Refer to the [2.14 Upgrade Guide](https://docs.nats.io/release-notes/whats_new/whats_new_214) for backwards compatibility notes with 2.12.x. Please note that the 2.13.x version was skipped. ##### Go Version - 1.26.5 ([#​8435](https://redirect.github.com/nats-io/nats-server/issues/8435)) ##### Dependencies - github.com/klauspost/compress v1.19.0 ([#​8385](https://redirect.github.com/nats-io/nats-server/issues/8385)) - golang.org/x/crypto v0.54.0 ([#​8385](https://redirect.github.com/nats-io/nats-server/issues/8385)) - golang.org/x/sys v0.47.0 ([#​8385](https://redirect.github.com/nats-io/nats-server/issues/8385)) - github.com/antithesishq/antithesis-sdk-go v0.7.2-default-no-op ([#​8385](https://redirect.github.com/nats-io/nats-server/issues/8385)) ##### Improved JetStream - The Raft transport layer has been decoupled, improves testing but does not change server behaviour ([#​8181](https://redirect.github.com/nats-io/nats-server/issues/8181)) - The disk concurrency semaphore has been increased to 4096 slots, up from the previous CPU-scaled count ([#​8336](https://redirect.github.com/nats-io/nats-server/issues/8336)) - The disk concurrency semaphore can now be configured with the `max_concurrent_io` option in the `jetstream` config block ([#​8336](https://redirect.github.com/nats-io/nats-server/issues/8336)) - Filestore underlying block cache buffers are now recycled to the pool when the weak reference is collected by the GC, which should smooth out memory usage with some usage patterns ([#​8395](https://redirect.github.com/nats-io/nats-server/issues/8395)) - Calculating and looking up sequences in delete maps for file-backed streams with large numbers of interior deletes is now faster and holds locks for less time ([#​8403](https://redirect.github.com/nats-io/nats-server/issues/8403)) - Inserts, iterations and deletes in AVL sequence sets are now faster in many cases, which speeds up the tracking of interior deletes ([#​8406](https://redirect.github.com/nats-io/nats-server/issues/8406)) - Stream snapshots now attempt to determine the correct encode buffer size up front, avoiding many unnecessary allocations on streams with large numbers of interior deletes ([#​8405](https://redirect.github.com/nats-io/nats-server/issues/8405)) - Reduced memory usage of the structure that is used to track subjects within a stream ([#​8412](https://redirect.github.com/nats-io/nats-server/issues/8412)) ##### Fixed General - `allow_non_tls` will no longer log an incorrect message at startup claiming that TLS is required ([#​8420](https://redirect.github.com/nats-io/nats-server/issues/8420)) - Combining `no_auth_user` with auth callouts will no longer skip authentication checks when no `CONNECT` message is sent - JWT validation no longer crashes the server with whitespace-only permissions - Several paths that enforce the permissions of queue subscriptions no longer treat the whole permission as a subject literal - Several JetStream and MQTT endpoints now correctly guard against null values in JSON - Fixed an authentication bypass with TLS `verify_and_map` authenticating users with blank passwords Monitoring - The `healthz` endpoint will now skip and no longer report on expired JWT accounts ([#​8379](https://redirect.github.com/nats-io/nats-server/issues/8379), thanks to [@​ByapakSigdel](https://redirect.github.com/ByapakSigdel)) - The `varz` endpoint will now correctly report JetStream limits after they were changed via a config reload ([#​8394](https://redirect.github.com/nats-io/nats-server/issues/8394)) JetStream - Malformed cluster replicated acks or delivered updates are now correctly rejected by the decoder ([#​8284](https://redirect.github.com/nats-io/nats-server/issues/8284), thanks to [@​uwezkhan](https://redirect.github.com/uwezkhan)) - Malformed cluster replicated skip or reset updates are now correctly rejected by the decoder ([#​8345](https://redirect.github.com/nats-io/nats-server/issues/8345), thanks to [@​uwezkhan](https://redirect.github.com/uwezkhan)) - Empty cluster replicated entries are now correctly ignored ([#​8347](https://redirect.github.com/nats-io/nats-server/issues/8347), thanks to [@​uwezkhan](https://redirect.github.com/uwezkhan)) - Decoded AVL sequence set node counts are now validated correctly on 32-bit systems ([#​8355](https://redirect.github.com/nats-io/nats-server/issues/8355), thanks to [@​uwezkhan](https://redirect.github.com/uwezkhan)) - Stale error responses on source or mirror creation are now dropped by recreating the subscription ([#​8356](https://redirect.github.com/nats-io/nats-server/issues/8356)) - Oversized cluster replicated messages are now validated correctly on 32-bit systems ([#​8357](https://redirect.github.com/nats-io/nats-server/issues/8357), thanks to [@​uwezkhan](https://redirect.github.com/uwezkhan)) - Raft elections now correctly ignore votes from removed peers ([#​8353](https://redirect.github.com/nats-io/nats-server/issues/8353)) - Filestore blocks with unsynced or truncated key files are now removed and counted as lost data instead of failing to recover altogether ([#​8365](https://redirect.github.com/nats-io/nats-server/issues/8365)) - Filestore encryption key files are now synced to disk more aggressively ([#​8366](https://redirect.github.com/nats-io/nats-server/issues/8366)) - Raft now handles the append entry iterator returning no more entries correctly ([#​8372](https://redirect.github.com/nats-io/nats-server/issues/8372)) - Fixed string ownership when handling the expected last sequence per subject in a batch ([#​8377](https://redirect.github.com/nats-io/nats-server/issues/8377)) - Fixed a race condition between concurrent message removals via limits that could unexpectedly disable writes into a filestore ([#​8378](https://redirect.github.com/nats-io/nats-server/issues/8378)) - Fixed a bug in the filestore which could prevent some filestore block cache references from being weakened correctly, which could result in unexpected memory usage and GC pressure ([#​8380](https://redirect.github.com/nats-io/nats-server/issues/8380)) - Attempting to update the consumer storage type now correctly returns an error ([#​8382](https://redirect.github.com/nats-io/nats-server/issues/8382)) - Stream publish checks will now correctly reject messages that exceed the maximum store size before proposal ([#​8389](https://redirect.github.com/nats-io/nats-server/issues/8389)) - Fixed a race condition between storing messages in the filestore and block compactions ([#​8400](https://redirect.github.com/nats-io/nats-server/issues/8400)) - The filestore no longer skips sparse delete blocks when processing deletes from a snapshot ([#​8404](https://redirect.github.com/nats-io/nats-server/issues/8404)) - The consumer reset endpoint responses are no longer dropped when sent through a service import ([#​8407](https://redirect.github.com/nats-io/nats-server/issues/8407)) - Creating a clustered consumer immediately after creating a clustered stream should no longer respond with a `stream not found` error ([#​8410](https://redirect.github.com/nats-io/nats-server/issues/8410)) - Raft proposals now require the term to be passed down from JetStream, preventing situations where stale proposals from a previous term could make changes in a new term after a fast election ([#​8370](https://redirect.github.com/nats-io/nats-server/issues/8370)) - Replicated streams that were recreated while a node was down are no longer treated as an update by a returning node processing a snapshot, avoiding stale Raft groups from continuing to run and unexpected behaviour with consumers ([#​8413](https://redirect.github.com/nats-io/nats-server/issues/8413)) - Stream snapshot endpoints now more strictly check the reply subject for validity MQTT - Packet identifiers for QoS1 and QoS2 are now issued by a monotonic counter, avoiding accidental ID reuse ([#​8358](https://redirect.github.com/nats-io/nats-server/issues/8358), thanks to [@​nberlee](https://redirect.github.com/nberlee)) - Pending QoS1 and QoS2 deliveries should no longer leak when the subscription is downgraded to QoS0 ([#​8359](https://redirect.github.com/nats-io/nats-server/issues/8359), thanks to [@​nberlee](https://redirect.github.com/nberlee)) - QoS2 messages released on a resumed sessions should no longer lose their QoS or packet ID ([#​8414](https://redirect.github.com/nats-io/nats-server/issues/8414)) - MQTT clients can no longer subscribe to `$MQTT.>` subjects, closing a potential permission bypass ##### Complete Changes
--- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "after 6pm on thursday,before 10am on friday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> GitOrigin-RevId: 2765a240302963ab544e83724f565973cd4b23f6 --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index e878b8f7..ca2f4bbe 100644 --- a/go.mod +++ b/go.mod @@ -157,7 +157,7 @@ require ( github.com/modelcontextprotocol/go-sdk v1.7.0 github.com/muesli/reflow v0.3.0 github.com/nats-io/jwt/v2 v2.8.2 - github.com/nats-io/nats-server/v2 v2.14.3 + github.com/nats-io/nats-server/v2 v2.14.4 github.com/nats-io/nats.go v1.52.0 github.com/nats-io/nkeys v0.4.16 github.com/neo4j/neo4j-go-driver/v6 v6.2.0 @@ -250,7 +250,7 @@ require ( github.com/alecthomas/kingpin/v2 v2.4.0 // indirect github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect github.com/andybalholm/brotli v1.1.1 // indirect - github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op // indirect + github.com/antithesishq/antithesis-sdk-go v0.7.2-default-no-op // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/apache/arrow/go/v15 v15.0.2 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect @@ -359,7 +359,7 @@ require ( github.com/jackc/puddle/v2 v2.2.2 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.18.6 // indirect + github.com/klauspost/compress v1.19.0 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect diff --git a/go.sum b/go.sum index a089d1fb..05e2d0f3 100644 --- a/go.sum +++ b/go.sum @@ -192,8 +192,8 @@ github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4 h1:TdGQS+RoR4AUO6gqUL74yK1 github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4/go.mod h1:GJxtdOs9K4neo8Gg65CjJ7jNautmldGli5/OFNabOoo= github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op h1:Z/MZK75wC/NSrkgqeNIa7jexam9uWzhLmFTSCPI/kn0= -github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op/go.mod h1:FQyySiasQQM8735Ddel3MRojmy4dA1IqCeyJ5jmPMbI= +github.com/antithesishq/antithesis-sdk-go v0.7.2-default-no-op h1:p2zFsAzvhIpFya8AIOHIbWf7NGvO34QpLGclyf7nXj8= +github.com/antithesishq/antithesis-sdk-go v0.7.2-default-no-op/go.mod h1:FQyySiasQQM8735Ddel3MRojmy4dA1IqCeyJ5jmPMbI= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/apache/arrow/go/v15 v15.0.2 h1:60IliRbiyTWCWjERBCkO1W4Qun9svcYoZrSLcyOsMLE= @@ -622,8 +622,8 @@ github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4 github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= -github.com/klauspost/compress v1.18.6 h1:2jupLlAwFm95+YDR+NwD2MEfFO9d4z4Prjl1XXDjuao= -github.com/klauspost/compress v1.18.6/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= +github.com/klauspost/compress v1.19.0 h1:sXLILfc9jV2QYWkzFOPWStmcUVH2RHEB1JCdY2oVvCQ= +github.com/klauspost/compress v1.19.0/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= 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= @@ -725,8 +725,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/nats-io/jwt/v2 v2.8.2 h1:XXRgB60MSTnqsRwejQurVDs/hcv2dkt+86GjI+I/bMc= github.com/nats-io/jwt/v2 v2.8.2/go.mod h1:Ag/56sq9OblL4JgdYufDd16Egb17Kr/8WwwuO/forVc= -github.com/nats-io/nats-server/v2 v2.14.3 h1:+xjydPt7rkit67G+04TN0mcO2n+8nveZE7tK/PPV53A= -github.com/nats-io/nats-server/v2 v2.14.3/go.mod h1:5IlCtBzfwyzQzPMjmoJ9W2/LKmnJRtNyuOs/OT+NHDY= +github.com/nats-io/nats-server/v2 v2.14.4 h1:efgjZ8cdExAKRuqSg8UPJFprb+l7NlBtSDPhDlw3rO4= +github.com/nats-io/nats-server/v2 v2.14.4/go.mod h1:BltdpOYestjbtQSnVO2zGHdg5SGBZjt+GYTgB9LZq/I= github.com/nats-io/nats.go v1.52.0 h1:n3avV4VBsCgsdwh71TppsTwtv+QdPs7ntSKM8qJLGsc= github.com/nats-io/nats.go v1.52.0/go.mod h1:26HypzazeOkyO3/mqd1zZd53STJN0EjCYF9Uy2ZOBno= github.com/nats-io/nkeys v0.4.16 h1:rd5oAuLOb8mnAycB0xleuEBNS1pVVnN0fv/FF34Eypg= From 04b7891bb91023c219920ef08ef4591072bc455e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 09:28:00 +0300 Subject: [PATCH 33/36] Lock file maintenance (#6193) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/370) for more information. 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - "before 4am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/overmindtech/workspace). --- > [!NOTE] > **Low Risk** > Patch/minor provider lock updates only; no HCL resource changes. Standard `terraform plan` in affected roots is still worth running before apply because Auth0 and cloud providers touch production infra. > > **Overview** > **Routine Terraform lock maintenance** across `cli/`, `deploy/`, `deploy/meta/`, and module lock files, pinning newer provider builds without changing Terraform resource definitions. > > **Provider version bumps in locks:** `hashicorp/aws` **6.56.0 → 6.58.0**, `hashicorp/google` **7.41.0 → 7.43.0**, `auth0/auth0` **1.53.0 → 1.54.1**, and `honeycombio/honeycombio` **0.51.1 → 0.53.0** (with updated checksums). > > **Honeycomb constraint alignment:** `required_providers` for `honeycombio` changes from **`~> 0.51` to `~> 0.53`** in `deploy/versions.tf`, `deploy/modules/brent/versions.tf`, and `deploy/modules/ovm-infra/versions.tf`, matching the refreshed lock entries (including `deploy/modules/brent/.terraform.lock.hcl`). > > Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit e475a0ad63db150b8bfff4d80332674863f27170. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cursor Agent Co-authored-by: Elliot Waddington GitOrigin-RevId: c1c2873d8614c58bd961b1ca1e8fb9e3d7544fc4 --- .terraform.lock.hcl | 108 ++++++++++++++++++++++---------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl index a7f80ee1..7987ee70 100644 --- a/.terraform.lock.hcl +++ b/.terraform.lock.hcl @@ -2,70 +2,70 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/hashicorp/aws" { - version = "6.56.0" + version = "6.58.0" constraints = ">= 4.56.0, >= 6.39.0" hashes = [ - "h1:+gQCTlHACI1TDHT9nvKKGT4KTLrF2O4m3vrfBvqL++s=", - "h1:2MDRcAi4Gqv+3bSTgH+Yx141nZzN2o8oPUtHrjdJlxE=", - "h1:3ZVUVjID6VEEGwlikDXrPkuUhm5fnnk4xf5B8tfKq9I=", - "h1:741DoGPD40A9X3e/30UA/TBlhhJFQwC6+1aLqM/v6r8=", - "h1:B+fpqal2DK9JmGCoTla8KphcAHvszBA7cyVDyFa5JSw=", - "h1:D2mP6emuXyVi/r6eQG1KYqnGrLmTOs4OoisPyU8xCcw=", - "h1:DEUEOy961pXJOYDFIY0AoQ/1b6J1OKnTovQTf5g6EMs=", - "h1:MhideOrA+/8rovaA9BC23G4dDrFNZ0mfrRMNptZBIS0=", - "h1:QFtyHSjJtwYKIbnxk0F0l56LpiW0xQ8c8FW61vlBT5s=", - "h1:VAJZ8Z7LhSf7+LNNgYWB2V7Fd/WFxMbJ4hTdxf5Tf8I=", - "h1:WpeKsfS1hn9z9ZWTqsLbiG3cM3C617kIXnW+hGyKiME=", - "h1:gFOXtatLSEFB4HoEVBvB6+D19117VzVP81aZTMc4lkU=", - "h1:gSTd4VOv0lEjCGP5deZ4hRMBZhIOUbtS4AlCML+3gIo=", - "h1:iWz9BgFQaDPA1ChVGYvgI3MlUnx3wSQCA2ggYqDPcz8=", - "h1:vqC911lCEoiBOtv05dI5FYSc95LBTKrRBT87ju+MPhA=", - "zh:2b3fbb3bebcc663b85d5fd9bbc2d131ab89322d696ff5c6ac6b7ffb7b5fe92e7", - "zh:30e56ccc7f33a7778ab323a28fe893d8e9200dc5fb92ccb7023bee808db3c1b0", - "zh:67dca271bef16547ef8ab5a6349f9bce39d91d7c1ae3d8388ada687ca774ba44", - "zh:824c812695b14d2fddad5e22339d4520e16d9c875f5d5095f29003f49a6fd124", - "zh:8372b12e30078d1df8b52e1285fd0d9d35160a7d18c3b0211f55229e5a832fd3", - "zh:8922b45ab65e272e8951f70d890444ddb3441170d8fa6f51298f24f20d21943d", - "zh:8fc4fb94ac8547717128cbcf296ac0ba0918738c4882029cbba46bd4812eb5e4", + "h1:1im6ypdeXLXq3sHElserTE62qmIqNiHLAyC3R5EnFFw=", + "h1:1q4Xce8Evn4cQ1lRiL3oyJFq1HWc8uIFcOhmTuo+uFY=", + "h1:2kpake4zZKRX5437QVIRU3qFYH6Bjw/QE1fgVCPOrUg=", + "h1:Dw939o/hYwdaPFmR+E6KPcBQMd7mkJ3Zt6PI/+FAn78=", + "h1:E8NJv9jxspjVPN7L77vnSyz7hNF69Ud8r8pueA4Z6tM=", + "h1:IOfu434S9D0f0sdon195DYB76+cMANhR7JJYlW/YPIQ=", + "h1:J6vzyr0hQK0rhSB4bmV57gLKEepViEFhjPLBLPnNJp4=", + "h1:OWl47Bo8Vzlf5srTUCmA6v4kvQGfah/P1joRtIYUUMc=", + "h1:UFot9S97tuAPvjKvoxm08sDG/gKYdDK+lMwsZKtLieY=", + "h1:Uvv252S1/53E9YPcuzdyndoXtfiM5nv4x01r9iskQiY=", + "h1:g6QU4Zlnd378s58o+6r522yDg6KXbgpZFjUB6xAYHbY=", + "h1:hxfuRSlsWtFzEGlvwsyrKx9cb4wavAIKa544ozP37aA=", + "h1:jG5U9zNrxZk1WCdcpJwG8AZjrVPCNH7xMgHT+/qTCHY=", + "h1:k7hfjhQ0C/wjIZVSXmDoCtF91JYoaaRgAaC8/GlqmNQ=", + "h1:rYJvvjOwAsVIoto3zEZLNImNdP+Wm2FJJ+HCBuC1rw4=", + "zh:1221253beee5629fb503d79cebc9bc661279cbc4be5d01db9ab4c1b702108250", + "zh:132bd0925bdc4b72446ac750b7ccb1e19b9ba8fbb6df57b2c1423314d2195d4f", + "zh:18cda250b9e82b753808715893c8927f132273c00ffae7a697d65ac1cb577e48", + "zh:204c944f1fb7f440a335bb2083c9691a9d1f677aea9701025dd5816aee41f0ba", + "zh:2dc41df289f2b10a01e650cdd73699955f0ab0645d09cfb114a8cd0f4cc4ede7", + "zh:345633dfa9a234659d52aadd126e6dce658518c3ab5cbf6d871221287ed5ec56", + "zh:4dadcced73e742903158bc9838936d911f3fa4c2c37b5591c1a28f8f2a1902a6", + "zh:5bc60cc2b8c093da98b211d9f6c21c9ecec0f21b944d9ecbe3961fba33086e80", + "zh:6cc8f084938b0033a9c0c910989919dad6b1683e76e0afa1a5c604e39f398a75", + "zh:7db214647f79de9a033b5dfd6cbfaa42d53c4d056b32cb3acc7ad99306dd548a", + "zh:9078589ec881cee7ed9403af262c98ff257fb3e1baae72ff6429a398b1c730af", "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", - "zh:a2efcd0174b79c1dffce48a5984f137ebc6f67d2c2ee966b47210e1faeb05cf2", - "zh:a4a50aa269a19c1d664b0dd59ee8047ed8a4a5b449f54733518309feccce1f43", - "zh:a830d80316b3c3127c9e0c77b9d4f50702c9d1a884c08973ac50b326d9ac734a", - "zh:d7e1b9bb2df3cdde8381ab101a807ae54e72c156d13a6b73dae2b922dca0c9f5", - "zh:d87c2a1cfc03b01cf13dff3700898ab990e1817326728824da8499dd0129da72", - "zh:fbb1848a597263c66dc6587ec8c3e0586e505e36f99d23752763534f62a3fef7", - "zh:fcb54d08eb3c763f01223e12b4eacbd018478e8e67c6b8611940564dfbea3d90", - "zh:ff6df70b2b2f75bd9000630f131c02e6bc2b9172cdb2547030f3fc019a3f3bc5", + "zh:bd5bce6aec4d4922b1127b8575688bd4bc4279670ee28d198ede404709826c7c", + "zh:cd900ecf56d21023873898b06e40234f3f4d350f2343b7d9b980d6c5cb604fae", + "zh:dbe93b276a84421026b956c3c5b4eb8897da6cbb54b93cb89f5d6ebbd30805ca", + "zh:f6b6c7bb2dbf04ee085e5c22f7a65b3ccaebf368ed95584dc0dfee8a22771056", ] } provider "registry.terraform.io/hashicorp/google" { - version = "7.41.0" + version = "7.43.0" constraints = ">= 4.0.0" hashes = [ - "h1:+wur8ZrXd5n6e4qXbiSRq9GntW/gmZ7rsWsvJPo3bB4=", - "h1:5GbcqIadyqkbxM5MATebNDSKHfkCXsCwQzqbt5DZpbQ=", - "h1:5KhjL1V4jxsw76SxEUYJi3+q5hIlCJwbOE0z7EClEyQ=", - "h1:DccBHIMyQokqETFL6qrvfBY05A03mcHuKDXsLPX7SL8=", - "h1:JPMc3dRHYp+RmIDH5CaYbfhd97fqKjYU91fluGea0wI=", - "h1:c5rJ0QJnn1EaEZ6Gu5rWsiV+OrgUkVSUnbdyfO1/I30=", - "h1:iNz5ITaDtQ/kq22HQkf+LAx0JrxWVq3EH0DBt5DXY+o=", - "h1:j7CeM9SQQvTWReE3vajyOaNrjsp72dbGVRnFjuk6LPA=", - "h1:ku9iIaNSzS1qnrPK6C/0EsU+2bNMDDB378bibyeQjvY=", - "h1:mFLL+5EBvdDJqvcKOc/8zF1sGI92bVaDmR2G2aFF/DQ=", - "h1:pd3lm6ZRM4rrlf9mHJnxzuVj3ImShUXYTIyfgttoHCI=", - "zh:162ba4a321308dc683f13faaf8d0ec98efda9245f0a07d5abb867da5963d00b2", - "zh:2377a2db9b5a6977fe16f75b107bc47e663630b5a7a8e7a99006cdd820e70ed7", - "zh:24cd310110d08d4e5c74c78da41c4f95573c39e4eaef2c92650ebb71cb91e9a1", - "zh:3315101a286b57ed6a742a8c7c04809f9ef79da3bfa6df5847bbaff207e80d31", - "zh:50f193d70277c5a8c6d8736ac2f4bf4f390b0a265e8d0044c7cb30fbef1f2ee8", - "zh:5a32a8565ff7084bff87ccd56e26cb31b78c98625a94fd49ec78b48f27f1ced6", - "zh:5ec0abe1056adb1f84dc4645583e1ca92b891d694929d849f82cee7221f72bfb", - "zh:99fa3a8a1d42cace4df576b1111fe2a9286c8a40e6c7fab778f13213c9fe858a", - "zh:b715f6779d201c80e8f83a21acd43f474da13dd329721cec6cd4450c42398c5e", - "zh:cc1f3acaaf68f4ff19ef5893e9cefca63e5b93c0800517dfc0a60672911c3f26", + "h1:0y0ZvsbUGxBDIa18EQrspg4bri+kkOWsXEO5Zl+3eCA=", + "h1:2EZO7bntLiyBOYddCgpZrV9sGA5UPcMWUC6jFFw8UOc=", + "h1:2tJ1QBpteimiEM7OAIjHuGHwfRhSuBDfFMAPeS8h7s4=", + "h1:AwFYLjEh05Jog9DYlEQDacVk2Sjt5/QrKAsymAW0k/Q=", + "h1:BVeP1PlDuZuEkMuTvLyi53v9lrfyRlla8M2+3foxqG0=", + "h1:TSlFSHg4Z6z5F1MYoj5TgMDNk+QxtoMYgKprp9Y8/rQ=", + "h1:bevZG8tuthurhEcPZjASUSD3Z2TbofJPBqMeRPbkSIc=", + "h1:dIR6Y9L578t95OboIQ1Ui+K3reCuiRidM86pDW97zTw=", + "h1:eDlnfsmO5Bqjc+zJS06AjrNukuemIJ+LOlLQ72JNskk=", + "h1:oiNYwWzxjToOWwGtc59+Sxoa/Xkwh8t8deJ7lBDimuk=", + "h1:pt+TqGR7LH5Rn4/ZtxUpUQEhrUpC7pVR9ZcpQWyuEI0=", + "zh:0050abe670a076cfc110662ba3e9f8c25366a63df9389dfbe090b5dc5e73a4d2", + "zh:31769c27700334d11e652ddb2a0dfc9efd65df43dbc51a06afc04e10db645bbe", + "zh:33f7211886d44a31d9dc89fbe11f0d2e282da22b509ae25dcfb8c6533eeacff4", + "zh:3ee98b297ec00ad10b1080fddfddbe72c38dec00eece6d56e706fea1e871d648", + "zh:620683cba53b964a882a419c38d40ab4595459b44dc54b9ed18c5bb6b97fbceb", + "zh:7c118cc8ba4c245807b3cbcfd4f5bdb81b1afce83fa1528020208117f7c9518c", + "zh:8263f9aeab9c8bc661a8f6a4963e585ca0a86ed6662424d8f34923fd01c6de18", + "zh:d2ba502aa3da2dad62ae81dd32c97bc279c56a97b9ac3bb3f806303dc0af598d", + "zh:db37f9f900b801ffaad1b7194c4b89de9351879e753b752ca37e12f3e989691f", + "zh:eca80c71ef4a559b94a779365a8d8b91a33d7a805a27ca21c176720085c31d30", "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - "zh:fd3a26b4d131414045af53780aae841e930ec6af432794768549760c7d364765", + "zh:fa91060bb31207fc91645e7de881fa61f106b9d0dfed2f444f158b9cd9420c58", ] } From 872fd08db25b4878dc28ca6e8056918715e1bff3 Mon Sep 17 00:00:00 2001 From: TP Honey Date: Wed, 12 Aug 2026 14:12:00 +0100 Subject: [PATCH 34/36] [ENG-6147] Rename until.proto and Copybara isolation atomically (#6313) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Rename the Until protocol source and generated artifacts from Brent basenames to Until (`sdp/until.proto`, `until*` Go/TS), and flip `@overmindtech/sdp-js` exports to `/until*`. - Update Copybara exclusions, the isolation CI check, frontend Docker exclude, and CI codegen path filters in the same change so public repos do not receive Until protocol Go. - Area51 imports and isolation docs/rules are updated; `services/brent-app` import rewrites are deferred until after ENG-6146 (`until-app`) lands and this branch is rebased. ## Linear Ticket Fixes: [ENG-6147](https://linear.app/overmind/issue/ENG-6147/rename-sdpbrentproto-and-copybara-isolation-atomically) — Rename sdp/brent.proto and Copybara isolation atomically - **Purpose**: Until-named protocol source/generated basenames and package exports, with every publication destination still isolating the correct API. - **Blocks**: ENG-6143, ENG-6152, ENG-5979, ENG-5987 ## Changes - Proto: `sdp/brent.proto` → `sdp/until.proto`; regenerate `go/sdp-go/until*.pb.go`, `sdpconnect/until.connect.go`, and `sdp-js` `__generated__/until*`; retarget `disambiguate_until_admin_go.py`; rename hand-written `until_event_payload.go` and related tests. - Package: `@overmindtech/sdp-js/brent*` → `/until*` in `sdp-js/package.json` and `tsup.config.ts`. - Isolation: `copy.bara.sky`, `build/copybara-isolation-check`, `services/frontend/Dockerfile`, and `.github/workflows/ci.yml` codegen excludes/watch lists → `until*`. - Consumers: Area51 imports + stub rewritten; ~126 `brent-app` files still import `/brent` on purpose (rebase after [PR #6310](https://github.com/overmindtech/workspace/pull/6310)). - Guidance: isolation doc, BUGBOT, Cursor rules; active allowlists pointing at `sdp/until.proto`. - Verified locally: `go run ./build/copybara-isolation-check/` and related Go tests pass. ## Until Plan Plan ID: UNTIL-873 - **Plan**: Rename proto Copybara isolation - **Approved by**: Elliot Waddington > Deviation analysis and reviewer assignment are handled automatically by the > pre-approved PR review automation (see docs/PREAPPROVED_CHANGES.md). --- > [!NOTE] > **High Risk** > Touches the load-bearing Copybara isolation convention that keeps Until protocol Go out of public repos; a mismatched rename/exclusion would leak internal API code on the next sync. > > **Overview** > Atomically renames Until protocol source/generated basenames from `brent*` to `until*` and flips every Copybara isolation surface in the same change so public repos never receive Until protocol Go. > > **Proto & codegen:** `sdp/brent.proto` → `sdp/until.proto`, regenerating `go/sdp-go/until*`, `sdpconnect/until.connect.go`, and `sdp-js` `__generated__/until*`. Package exports move from `@overmindtech/sdp-js/brent*` to `/until*`. > > **Isolation:** Copybara exclusions, the isolation CI check, frontend Docker `--exclude`, and CI path filters all switch from `brent*` → `until*`. Docs, BUGBOT, and Cursor rules now require the `until*` naming convention. > > **Consumers:** Area51 imports are retargeted; `brent-app` import rewrites are deferred pending the `until-app` rebase. > > Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 8b5f62b44b9d75aba5ee5d0f5fce9247d47c551c. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot). GitOrigin-RevId: dac12a9033b4248d2a7d020b86ad0cf0fb4014ee --- go/sdp-go/brent.pb.go | 27913 ------------------------ go/sdp-go/brent_descriptor_test.go | 124 - go/sdp-go/brent_event_payload.go | 8 - go/sdp-go/brent_validation_test.go | 95 - go/sdp-go/sdpconnect/brent.connect.go | 3585 --- 5 files changed, 31725 deletions(-) delete mode 100644 go/sdp-go/brent.pb.go delete mode 100644 go/sdp-go/brent_descriptor_test.go delete mode 100644 go/sdp-go/brent_event_payload.go delete mode 100644 go/sdp-go/brent_validation_test.go delete mode 100644 go/sdp-go/sdpconnect/brent.connect.go diff --git a/go/sdp-go/brent.pb.go b/go/sdp-go/brent.pb.go deleted file mode 100644 index ef39f7dc..00000000 --- a/go/sdp-go/brent.pb.go +++ /dev/null @@ -1,27913 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.36.11 -// protoc (unknown) -// source: brent.proto - -package sdp - -import ( - _ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - descriptorpb "google.golang.org/protobuf/types/descriptorpb" - emptypb "google.golang.org/protobuf/types/known/emptypb" - structpb "google.golang.org/protobuf/types/known/structpb" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - reflect "reflect" - sync "sync" - unsafe "unsafe" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type RunStatus int32 - -const ( - RunStatus_RUN_STATUS_UNSPECIFIED RunStatus = 0 - RunStatus_RUN_STATUS_RUNNING RunStatus = 1 - RunStatus_RUN_STATUS_COMPLETED RunStatus = 2 - RunStatus_RUN_STATUS_ERROR RunStatus = 3 - RunStatus_RUN_STATUS_CANCELLED RunStatus = 4 -) - -// Enum value maps for RunStatus. -var ( - RunStatus_name = map[int32]string{ - 0: "RUN_STATUS_UNSPECIFIED", - 1: "RUN_STATUS_RUNNING", - 2: "RUN_STATUS_COMPLETED", - 3: "RUN_STATUS_ERROR", - 4: "RUN_STATUS_CANCELLED", - } - RunStatus_value = map[string]int32{ - "RUN_STATUS_UNSPECIFIED": 0, - "RUN_STATUS_RUNNING": 1, - "RUN_STATUS_COMPLETED": 2, - "RUN_STATUS_ERROR": 3, - "RUN_STATUS_CANCELLED": 4, - } -) - -func (x RunStatus) Enum() *RunStatus { - p := new(RunStatus) - *p = x - return p -} - -func (x RunStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RunStatus) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[0].Descriptor() -} - -func (RunStatus) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[0] -} - -func (x RunStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RunStatus.Descriptor instead. -func (RunStatus) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{0} -} - -type MetricsComparisonMode int32 - -const ( - MetricsComparisonMode_METRICS_COMPARISON_MODE_UNSPECIFIED MetricsComparisonMode = 0 - MetricsComparisonMode_METRICS_COMPARISON_MODE_BEFORE_AFTER MetricsComparisonMode = 1 - MetricsComparisonMode_METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED MetricsComparisonMode = 2 -) - -// Enum value maps for MetricsComparisonMode. -var ( - MetricsComparisonMode_name = map[int32]string{ - 0: "METRICS_COMPARISON_MODE_UNSPECIFIED", - 1: "METRICS_COMPARISON_MODE_BEFORE_AFTER", - 2: "METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED", - } - MetricsComparisonMode_value = map[string]int32{ - "METRICS_COMPARISON_MODE_UNSPECIFIED": 0, - "METRICS_COMPARISON_MODE_BEFORE_AFTER": 1, - "METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED": 2, - } -) - -func (x MetricsComparisonMode) Enum() *MetricsComparisonMode { - p := new(MetricsComparisonMode) - *p = x - return p -} - -func (x MetricsComparisonMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MetricsComparisonMode) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[1].Descriptor() -} - -func (MetricsComparisonMode) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[1] -} - -func (x MetricsComparisonMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MetricsComparisonMode.Descriptor instead. -func (MetricsComparisonMode) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{1} -} - -type PrincipalStatusState int32 - -const ( - PrincipalStatusState_PRINCIPAL_STATUS_STATE_UNSPECIFIED PrincipalStatusState = 0 - PrincipalStatusState_PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING PrincipalStatusState = 1 - PrincipalStatusState_PRINCIPAL_STATUS_STATE_READY PrincipalStatusState = 2 -) - -// Enum value maps for PrincipalStatusState. -var ( - PrincipalStatusState_name = map[int32]string{ - 0: "PRINCIPAL_STATUS_STATE_UNSPECIFIED", - 1: "PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING", - 2: "PRINCIPAL_STATUS_STATE_READY", - } - PrincipalStatusState_value = map[string]int32{ - "PRINCIPAL_STATUS_STATE_UNSPECIFIED": 0, - "PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING": 1, - "PRINCIPAL_STATUS_STATE_READY": 2, - } -) - -func (x PrincipalStatusState) Enum() *PrincipalStatusState { - p := new(PrincipalStatusState) - *p = x - return p -} - -func (x PrincipalStatusState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PrincipalStatusState) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[2].Descriptor() -} - -func (PrincipalStatusState) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[2] -} - -func (x PrincipalStatusState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PrincipalStatusState.Descriptor instead. -func (PrincipalStatusState) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{2} -} - -type IntegrationProvider int32 - -const ( - IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED IntegrationProvider = 0 - IntegrationProvider_INTEGRATION_PROVIDER_GITHUB IntegrationProvider = 1 - IntegrationProvider_INTEGRATION_PROVIDER_LINEAR IntegrationProvider = 2 - IntegrationProvider_INTEGRATION_PROVIDER_SLACK IntegrationProvider = 3 - IntegrationProvider_INTEGRATION_PROVIDER_BYO_HTTP_MCP IntegrationProvider = 4 - IntegrationProvider_INTEGRATION_PROVIDER_MCP_AGGREGATOR IntegrationProvider = 5 - IntegrationProvider_INTEGRATION_PROVIDER_BITBUCKET IntegrationProvider = 6 - IntegrationProvider_INTEGRATION_PROVIDER_GITLAB IntegrationProvider = 7 -) - -// Enum value maps for IntegrationProvider. -var ( - IntegrationProvider_name = map[int32]string{ - 0: "INTEGRATION_PROVIDER_UNSPECIFIED", - 1: "INTEGRATION_PROVIDER_GITHUB", - 2: "INTEGRATION_PROVIDER_LINEAR", - 3: "INTEGRATION_PROVIDER_SLACK", - 4: "INTEGRATION_PROVIDER_BYO_HTTP_MCP", - 5: "INTEGRATION_PROVIDER_MCP_AGGREGATOR", - 6: "INTEGRATION_PROVIDER_BITBUCKET", - 7: "INTEGRATION_PROVIDER_GITLAB", - } - IntegrationProvider_value = map[string]int32{ - "INTEGRATION_PROVIDER_UNSPECIFIED": 0, - "INTEGRATION_PROVIDER_GITHUB": 1, - "INTEGRATION_PROVIDER_LINEAR": 2, - "INTEGRATION_PROVIDER_SLACK": 3, - "INTEGRATION_PROVIDER_BYO_HTTP_MCP": 4, - "INTEGRATION_PROVIDER_MCP_AGGREGATOR": 5, - "INTEGRATION_PROVIDER_BITBUCKET": 6, - "INTEGRATION_PROVIDER_GITLAB": 7, - } -) - -func (x IntegrationProvider) Enum() *IntegrationProvider { - p := new(IntegrationProvider) - *p = x - return p -} - -func (x IntegrationProvider) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (IntegrationProvider) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[3].Descriptor() -} - -func (IntegrationProvider) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[3] -} - -func (x IntegrationProvider) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IntegrationProvider.Descriptor instead. -func (IntegrationProvider) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{3} -} - -type IntegrationIntent int32 - -const ( - IntegrationIntent_INTEGRATION_INTENT_UNSPECIFIED IntegrationIntent = 0 - IntegrationIntent_INTEGRATION_INTENT_INSTALL IntegrationIntent = 1 - // Personal handle binding without a fresh org install (GitHub user OAuth, - // Slack OIDC, Linear token refresh + binding when org is already installed). - IntegrationIntent_INTEGRATION_INTENT_LINK IntegrationIntent = 2 -) - -// Enum value maps for IntegrationIntent. -var ( - IntegrationIntent_name = map[int32]string{ - 0: "INTEGRATION_INTENT_UNSPECIFIED", - 1: "INTEGRATION_INTENT_INSTALL", - 2: "INTEGRATION_INTENT_LINK", - } - IntegrationIntent_value = map[string]int32{ - "INTEGRATION_INTENT_UNSPECIFIED": 0, - "INTEGRATION_INTENT_INSTALL": 1, - "INTEGRATION_INTENT_LINK": 2, - } -) - -func (x IntegrationIntent) Enum() *IntegrationIntent { - p := new(IntegrationIntent) - *p = x - return p -} - -func (x IntegrationIntent) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (IntegrationIntent) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[4].Descriptor() -} - -func (IntegrationIntent) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[4] -} - -func (x IntegrationIntent) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IntegrationIntent.Descriptor instead. -func (IntegrationIntent) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{4} -} - -// Coarse readiness for Integrations UI (button state / spinner / healthy / fix-me). -// Always set (never UNSPECIFIED) for every IntegrationStatus from GetPrincipalStatus -// and for AdminAccountIntegrationInstall rows from ListAccountIntegrations. -// Ephemeral client-only UI (form/busy/popup) stays out of this API; -// in_progress / needs_attention exist for later provider tickets; -// org_installed-driven defaults only emit not_connected and connected. -type IntegrationConnectionStatus int32 - -const ( - IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED IntegrationConnectionStatus = 0 - IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED IntegrationConnectionStatus = 1 - IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_IN_PROGRESS IntegrationConnectionStatus = 2 - IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION IntegrationConnectionStatus = 3 - IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_CONNECTED IntegrationConnectionStatus = 4 -) - -// Enum value maps for IntegrationConnectionStatus. -var ( - IntegrationConnectionStatus_name = map[int32]string{ - 0: "INTEGRATION_CONNECTION_STATUS_UNSPECIFIED", - 1: "INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED", - 2: "INTEGRATION_CONNECTION_STATUS_IN_PROGRESS", - 3: "INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION", - 4: "INTEGRATION_CONNECTION_STATUS_CONNECTED", - } - IntegrationConnectionStatus_value = map[string]int32{ - "INTEGRATION_CONNECTION_STATUS_UNSPECIFIED": 0, - "INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED": 1, - "INTEGRATION_CONNECTION_STATUS_IN_PROGRESS": 2, - "INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION": 3, - "INTEGRATION_CONNECTION_STATUS_CONNECTED": 4, - } -) - -func (x IntegrationConnectionStatus) Enum() *IntegrationConnectionStatus { - p := new(IntegrationConnectionStatus) - *p = x - return p -} - -func (x IntegrationConnectionStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (IntegrationConnectionStatus) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[5].Descriptor() -} - -func (IntegrationConnectionStatus) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[5] -} - -func (x IntegrationConnectionStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IntegrationConnectionStatus.Descriptor instead. -func (IntegrationConnectionStatus) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{5} -} - -// LoginProvider is the closed set of social providers supported by browser -// login recovery. Mapped from Auth0 connection names in the backend recovery -// policy; the SPA trusts this enum for presentation and does not re-derive -// provider from Auth0 strategy or identity. -type LoginProvider int32 - -const ( - LoginProvider_LOGIN_PROVIDER_UNSPECIFIED LoginProvider = 0 - LoginProvider_LOGIN_PROVIDER_GOOGLE LoginProvider = 1 - LoginProvider_LOGIN_PROVIDER_GITHUB LoginProvider = 2 - LoginProvider_LOGIN_PROVIDER_BITBUCKET LoginProvider = 3 - LoginProvider_LOGIN_PROVIDER_GITLAB LoginProvider = 4 - LoginProvider_LOGIN_PROVIDER_SLACK LoginProvider = 5 -) - -// Enum value maps for LoginProvider. -var ( - LoginProvider_name = map[int32]string{ - 0: "LOGIN_PROVIDER_UNSPECIFIED", - 1: "LOGIN_PROVIDER_GOOGLE", - 2: "LOGIN_PROVIDER_GITHUB", - 3: "LOGIN_PROVIDER_BITBUCKET", - 4: "LOGIN_PROVIDER_GITLAB", - 5: "LOGIN_PROVIDER_SLACK", - } - LoginProvider_value = map[string]int32{ - "LOGIN_PROVIDER_UNSPECIFIED": 0, - "LOGIN_PROVIDER_GOOGLE": 1, - "LOGIN_PROVIDER_GITHUB": 2, - "LOGIN_PROVIDER_BITBUCKET": 3, - "LOGIN_PROVIDER_GITLAB": 4, - "LOGIN_PROVIDER_SLACK": 5, - } -) - -func (x LoginProvider) Enum() *LoginProvider { - p := new(LoginProvider) - *p = x - return p -} - -func (x LoginProvider) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (LoginProvider) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[6].Descriptor() -} - -func (LoginProvider) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[6] -} - -func (x LoginProvider) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use LoginProvider.Descriptor instead. -func (LoginProvider) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{6} -} - -// JoinSource records why a workspace is joinable / how membership was created. -type JoinSource int32 - -const ( - JoinSource_JOIN_SOURCE_UNSPECIFIED JoinSource = 0 - JoinSource_JOIN_SOURCE_DOMAIN JoinSource = 1 - JoinSource_JOIN_SOURCE_INVITE JoinSource = 2 // pending invite applies (list) or invite was claimed (join audit) -) - -// Enum value maps for JoinSource. -var ( - JoinSource_name = map[int32]string{ - 0: "JOIN_SOURCE_UNSPECIFIED", - 1: "JOIN_SOURCE_DOMAIN", - 2: "JOIN_SOURCE_INVITE", - } - JoinSource_value = map[string]int32{ - "JOIN_SOURCE_UNSPECIFIED": 0, - "JOIN_SOURCE_DOMAIN": 1, - "JOIN_SOURCE_INVITE": 2, - } -) - -func (x JoinSource) Enum() *JoinSource { - p := new(JoinSource) - *p = x - return p -} - -func (x JoinSource) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (JoinSource) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[7].Descriptor() -} - -func (JoinSource) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[7] -} - -func (x JoinSource) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use JoinSource.Descriptor instead. -func (JoinSource) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{7} -} - -type InvitationStatus int32 - -const ( - InvitationStatus_INVITATION_STATUS_UNSPECIFIED InvitationStatus = 0 - InvitationStatus_INVITATION_STATUS_INVITED InvitationStatus = 1 - InvitationStatus_INVITATION_STATUS_ACCEPTED InvitationStatus = 2 - InvitationStatus_INVITATION_STATUS_REVOKED InvitationStatus = 3 - InvitationStatus_INVITATION_STATUS_EXPIRED InvitationStatus = 4 - InvitationStatus_INVITATION_STATUS_NOT_FOUND InvitationStatus = 5 -) - -// Enum value maps for InvitationStatus. -var ( - InvitationStatus_name = map[int32]string{ - 0: "INVITATION_STATUS_UNSPECIFIED", - 1: "INVITATION_STATUS_INVITED", - 2: "INVITATION_STATUS_ACCEPTED", - 3: "INVITATION_STATUS_REVOKED", - 4: "INVITATION_STATUS_EXPIRED", - 5: "INVITATION_STATUS_NOT_FOUND", - } - InvitationStatus_value = map[string]int32{ - "INVITATION_STATUS_UNSPECIFIED": 0, - "INVITATION_STATUS_INVITED": 1, - "INVITATION_STATUS_ACCEPTED": 2, - "INVITATION_STATUS_REVOKED": 3, - "INVITATION_STATUS_EXPIRED": 4, - "INVITATION_STATUS_NOT_FOUND": 5, - } -) - -func (x InvitationStatus) Enum() *InvitationStatus { - p := new(InvitationStatus) - *p = x - return p -} - -func (x InvitationStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (InvitationStatus) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[8].Descriptor() -} - -func (InvitationStatus) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[8] -} - -func (x InvitationStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use InvitationStatus.Descriptor instead. -func (InvitationStatus) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{8} -} - -// Per-email outcome of a batch CreateInvitations call. -type InvitationResultStatus int32 - -const ( - InvitationResultStatus_INVITATION_RESULT_STATUS_UNSPECIFIED InvitationResultStatus = 0 - InvitationResultStatus_INVITATION_RESULT_STATUS_CREATED InvitationResultStatus = 1 - InvitationResultStatus_INVITATION_RESULT_STATUS_ALREADY_EXISTS InvitationResultStatus = 2 - InvitationResultStatus_INVITATION_RESULT_STATUS_INVALID_EMAIL InvitationResultStatus = 3 - InvitationResultStatus_INVITATION_RESULT_STATUS_ERROR InvitationResultStatus = 4 -) - -// Enum value maps for InvitationResultStatus. -var ( - InvitationResultStatus_name = map[int32]string{ - 0: "INVITATION_RESULT_STATUS_UNSPECIFIED", - 1: "INVITATION_RESULT_STATUS_CREATED", - 2: "INVITATION_RESULT_STATUS_ALREADY_EXISTS", - 3: "INVITATION_RESULT_STATUS_INVALID_EMAIL", - 4: "INVITATION_RESULT_STATUS_ERROR", - } - InvitationResultStatus_value = map[string]int32{ - "INVITATION_RESULT_STATUS_UNSPECIFIED": 0, - "INVITATION_RESULT_STATUS_CREATED": 1, - "INVITATION_RESULT_STATUS_ALREADY_EXISTS": 2, - "INVITATION_RESULT_STATUS_INVALID_EMAIL": 3, - "INVITATION_RESULT_STATUS_ERROR": 4, - } -) - -func (x InvitationResultStatus) Enum() *InvitationResultStatus { - p := new(InvitationResultStatus) - *p = x - return p -} - -func (x InvitationResultStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (InvitationResultStatus) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[9].Descriptor() -} - -func (InvitationResultStatus) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[9] -} - -func (x InvitationResultStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use InvitationResultStatus.Descriptor instead. -func (InvitationResultStatus) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{9} -} - -// Explicit member presentation state for ListWorkspaceMembers. A pending -// invitation is defined by an invitations row, not generic shadow status. -type WorkspaceMemberState int32 - -const ( - WorkspaceMemberState_WORKSPACE_MEMBER_STATE_UNSPECIFIED WorkspaceMemberState = 0 - WorkspaceMemberState_WORKSPACE_MEMBER_STATE_ACTIVE WorkspaceMemberState = 1 - WorkspaceMemberState_WORKSPACE_MEMBER_STATE_INVITED WorkspaceMemberState = 2 -) - -// Enum value maps for WorkspaceMemberState. -var ( - WorkspaceMemberState_name = map[int32]string{ - 0: "WORKSPACE_MEMBER_STATE_UNSPECIFIED", - 1: "WORKSPACE_MEMBER_STATE_ACTIVE", - 2: "WORKSPACE_MEMBER_STATE_INVITED", - } - WorkspaceMemberState_value = map[string]int32{ - "WORKSPACE_MEMBER_STATE_UNSPECIFIED": 0, - "WORKSPACE_MEMBER_STATE_ACTIVE": 1, - "WORKSPACE_MEMBER_STATE_INVITED": 2, - } -) - -func (x WorkspaceMemberState) Enum() *WorkspaceMemberState { - p := new(WorkspaceMemberState) - *p = x - return p -} - -func (x WorkspaceMemberState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WorkspaceMemberState) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[10].Descriptor() -} - -func (WorkspaceMemberState) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[10] -} - -func (x WorkspaceMemberState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use WorkspaceMemberState.Descriptor instead. -func (WorkspaceMemberState) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{10} -} - -// WorkspaceReviewPolicy is the explicit peer-review policy for a workspace -// (ENG-6046 / BRENT-824). Additive enum — future values must not reuse numbers. -type WorkspaceReviewPolicy int32 - -const ( - WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED WorkspaceReviewPolicy = 0 - WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_DISABLED WorkspaceReviewPolicy = 1 - WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_REQUIRED WorkspaceReviewPolicy = 2 -) - -// Enum value maps for WorkspaceReviewPolicy. -var ( - WorkspaceReviewPolicy_name = map[int32]string{ - 0: "WORKSPACE_REVIEW_POLICY_UNSPECIFIED", - 1: "WORKSPACE_REVIEW_POLICY_DISABLED", - 2: "WORKSPACE_REVIEW_POLICY_REQUIRED", - } - WorkspaceReviewPolicy_value = map[string]int32{ - "WORKSPACE_REVIEW_POLICY_UNSPECIFIED": 0, - "WORKSPACE_REVIEW_POLICY_DISABLED": 1, - "WORKSPACE_REVIEW_POLICY_REQUIRED": 2, - } -) - -func (x WorkspaceReviewPolicy) Enum() *WorkspaceReviewPolicy { - p := new(WorkspaceReviewPolicy) - *p = x - return p -} - -func (x WorkspaceReviewPolicy) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WorkspaceReviewPolicy) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[11].Descriptor() -} - -func (WorkspaceReviewPolicy) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[11] -} - -func (x WorkspaceReviewPolicy) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use WorkspaceReviewPolicy.Descriptor instead. -func (WorkspaceReviewPolicy) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{11} -} - -type IntegrationCatalogueSource int32 - -const ( - IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED IntegrationCatalogueSource = 0 - IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY IntegrationCatalogueSource = 1 - IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_BYO IntegrationCatalogueSource = 2 - IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR IntegrationCatalogueSource = 3 -) - -// Enum value maps for IntegrationCatalogueSource. -var ( - IntegrationCatalogueSource_name = map[int32]string{ - 0: "INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED", - 1: "INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY", - 2: "INTEGRATION_CATALOGUE_SOURCE_BYO", - 3: "INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR", - } - IntegrationCatalogueSource_value = map[string]int32{ - "INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED": 0, - "INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY": 1, - "INTEGRATION_CATALOGUE_SOURCE_BYO": 2, - "INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR": 3, - } -) - -func (x IntegrationCatalogueSource) Enum() *IntegrationCatalogueSource { - p := new(IntegrationCatalogueSource) - *p = x - return p -} - -func (x IntegrationCatalogueSource) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (IntegrationCatalogueSource) Descriptor() protoreflect.EnumDescriptor { - return file_brent_proto_enumTypes[12].Descriptor() -} - -func (IntegrationCatalogueSource) Type() protoreflect.EnumType { - return &file_brent_proto_enumTypes[12] -} - -func (x IntegrationCatalogueSource) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use IntegrationCatalogueSource.Descriptor instead. -func (IntegrationCatalogueSource) EnumDescriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{12} -} - -type ListPullRequestsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // State filter: "" or "open" (default), "closed" (merged=false), "merged" - // (state='closed' AND merged=true), "all". Unknown values return - // InvalidArgument. - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - // Soft cap on result count. Server clamps to [1, 200]; 0 means default 50. - Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - // Pagination offset. - Offset uint32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` - // Empty string = caller's account from JWT (backward compatible). - // When set, return only pull requests for that account_name (admin filtering). - AccountName string `protobuf:"bytes,4,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListPullRequestsRequest) Reset() { - *x = ListPullRequestsRequest{} - mi := &file_brent_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListPullRequestsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPullRequestsRequest) ProtoMessage() {} - -func (x *ListPullRequestsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[0] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPullRequestsRequest.ProtoReflect.Descriptor instead. -func (*ListPullRequestsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{0} -} - -func (x *ListPullRequestsRequest) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *ListPullRequestsRequest) GetLimit() uint32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ListPullRequestsRequest) GetOffset() uint32 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *ListPullRequestsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type ListPullRequestsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - PullRequests []*PullRequestSummary `protobuf:"bytes,1,rep,name=pull_requests,json=pullRequests,proto3" json:"pull_requests,omitempty"` - TotalCount uint32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListPullRequestsResponse) Reset() { - *x = ListPullRequestsResponse{} - mi := &file_brent_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListPullRequestsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPullRequestsResponse) ProtoMessage() {} - -func (x *ListPullRequestsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[1] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPullRequestsResponse.ProtoReflect.Descriptor instead. -func (*ListPullRequestsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{1} -} - -func (x *ListPullRequestsResponse) GetPullRequests() []*PullRequestSummary { - if x != nil { - return x.PullRequests - } - return nil -} - -func (x *ListPullRequestsResponse) GetTotalCount() uint32 { - if x != nil { - return x.TotalCount - } - return 0 -} - -type GetPullRequestByIDRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // UUID of the pull request (pull_requests.external_id). - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - // Empty string = caller's account from JWT (backward compatible). - // When set, scope the lookup to that account_name (admin filtering). - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPullRequestByIDRequest) Reset() { - *x = GetPullRequestByIDRequest{} - mi := &file_brent_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPullRequestByIDRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPullRequestByIDRequest) ProtoMessage() {} - -func (x *GetPullRequestByIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[2] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPullRequestByIDRequest.ProtoReflect.Descriptor instead. -func (*GetPullRequestByIDRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{2} -} - -func (x *GetPullRequestByIDRequest) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *GetPullRequestByIDRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type GetPullRequestByIDResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - PullRequest *PullRequest `protobuf:"bytes,1,opt,name=pull_request,json=pullRequest,proto3" json:"pull_request,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPullRequestByIDResponse) Reset() { - *x = GetPullRequestByIDResponse{} - mi := &file_brent_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPullRequestByIDResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPullRequestByIDResponse) ProtoMessage() {} - -func (x *GetPullRequestByIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[3] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPullRequestByIDResponse.ProtoReflect.Descriptor instead. -func (*GetPullRequestByIDResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{3} -} - -func (x *GetPullRequestByIDResponse) GetPullRequest() *PullRequest { - if x != nil { - return x.PullRequest - } - return nil -} - -type ListPlanChecksForPRRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // UUID of the pull request. - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - // Empty string = caller's account from JWT (backward compatible). - // When set, scope the lookup to that account_name (admin filtering). - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListPlanChecksForPRRequest) Reset() { - *x = ListPlanChecksForPRRequest{} - mi := &file_brent_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListPlanChecksForPRRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPlanChecksForPRRequest) ProtoMessage() {} - -func (x *ListPlanChecksForPRRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[4] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPlanChecksForPRRequest.ProtoReflect.Descriptor instead. -func (*ListPlanChecksForPRRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{4} -} - -func (x *ListPlanChecksForPRRequest) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *ListPlanChecksForPRRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type ListPlanChecksForPRResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Analyses []*PlanCheckSummary `protobuf:"bytes,1,rep,name=analyses,proto3" json:"analyses,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListPlanChecksForPRResponse) Reset() { - *x = ListPlanChecksForPRResponse{} - mi := &file_brent_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListPlanChecksForPRResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPlanChecksForPRResponse) ProtoMessage() {} - -func (x *ListPlanChecksForPRResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[5] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPlanChecksForPRResponse.ProtoReflect.Descriptor instead. -func (*ListPlanChecksForPRResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{5} -} - -func (x *ListPlanChecksForPRResponse) GetAnalyses() []*PlanCheckSummary { - if x != nil { - return x.Analyses - } - return nil -} - -type GetPullRequestTimelineRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // UUID of the pull request (pull_requests.external_id). - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - // Empty string = caller's account from JWT (backward compatible). - // When set, scope the lookup to that account_name (admin filtering). - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPullRequestTimelineRequest) Reset() { - *x = GetPullRequestTimelineRequest{} - mi := &file_brent_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPullRequestTimelineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPullRequestTimelineRequest) ProtoMessage() {} - -func (x *GetPullRequestTimelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[6] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPullRequestTimelineRequest.ProtoReflect.Descriptor instead. -func (*GetPullRequestTimelineRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{6} -} - -func (x *GetPullRequestTimelineRequest) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *GetPullRequestTimelineRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -// PullRequestTimelineEventRow is one chronological row in the simple-data -// timeline table. Rows are sorted by occurred_at ascending at compose time. -type PullRequestTimelineEventRow struct { - state protoimpl.MessageState `protogen:"open.v1"` - OccurredAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` - // Source family: "brent", "github", etc. - SourceFamily string `protobuf:"bytes,2,opt,name=source_family,json=sourceFamily,proto3" json:"source_family,omitempty"` - // Normalized event type within the source family. - EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - Actor string `protobuf:"bytes,4,opt,name=actor,proto3" json:"actor,omitempty"` - // Actor classification: human, bot, brent, ci, external_agent, system. - ActorClass string `protobuf:"bytes,5,opt,name=actor_class,json=actorClass,proto3" json:"actor_class,omitempty"` - Summary string `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"` - // Link to the system of record when available. - EvidenceUrl string `protobuf:"bytes,7,opt,name=evidence_url,json=evidenceUrl,proto3" json:"evidence_url,omitempty"` - // first_class | overlay | inferred - SourceConfidence string `protobuf:"bytes,8,opt,name=source_confidence,json=sourceConfidence,proto3" json:"source_confidence,omitempty"` - Notes string `protobuf:"bytes,9,opt,name=notes,proto3" json:"notes,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestTimelineEventRow) Reset() { - *x = PullRequestTimelineEventRow{} - mi := &file_brent_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestTimelineEventRow) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestTimelineEventRow) ProtoMessage() {} - -func (x *PullRequestTimelineEventRow) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[7] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestTimelineEventRow.ProtoReflect.Descriptor instead. -func (*PullRequestTimelineEventRow) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{7} -} - -func (x *PullRequestTimelineEventRow) GetOccurredAt() *timestamppb.Timestamp { - if x != nil { - return x.OccurredAt - } - return nil -} - -func (x *PullRequestTimelineEventRow) GetSourceFamily() string { - if x != nil { - return x.SourceFamily - } - return "" -} - -func (x *PullRequestTimelineEventRow) GetEventType() string { - if x != nil { - return x.EventType - } - return "" -} - -func (x *PullRequestTimelineEventRow) GetActor() string { - if x != nil { - return x.Actor - } - return "" -} - -func (x *PullRequestTimelineEventRow) GetActorClass() string { - if x != nil { - return x.ActorClass - } - return "" -} - -func (x *PullRequestTimelineEventRow) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -func (x *PullRequestTimelineEventRow) GetEvidenceUrl() string { - if x != nil { - return x.EvidenceUrl - } - return "" -} - -func (x *PullRequestTimelineEventRow) GetSourceConfidence() string { - if x != nil { - return x.SourceConfidence - } - return "" -} - -func (x *PullRequestTimelineEventRow) GetNotes() string { - if x != nil { - return x.Notes - } - return "" -} - -type PullRequestTimelineWarning struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Machine code, e.g. no_linked_plan, github_overlay_unavailable. - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestTimelineWarning) Reset() { - *x = PullRequestTimelineWarning{} - mi := &file_brent_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestTimelineWarning) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestTimelineWarning) ProtoMessage() {} - -func (x *PullRequestTimelineWarning) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[8] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestTimelineWarning.ProtoReflect.Descriptor instead. -func (*PullRequestTimelineWarning) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{8} -} - -func (x *PullRequestTimelineWarning) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *PullRequestTimelineWarning) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -type GetPullRequestTimelineResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - PullRequest *PullRequest `protobuf:"bytes,1,opt,name=pull_request,json=pullRequest,proto3" json:"pull_request,omitempty"` - Events []*PullRequestTimelineEventRow `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` - Warnings []*PullRequestTimelineWarning `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPullRequestTimelineResponse) Reset() { - *x = GetPullRequestTimelineResponse{} - mi := &file_brent_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPullRequestTimelineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPullRequestTimelineResponse) ProtoMessage() {} - -func (x *GetPullRequestTimelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[9] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPullRequestTimelineResponse.ProtoReflect.Descriptor instead. -func (*GetPullRequestTimelineResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{9} -} - -func (x *GetPullRequestTimelineResponse) GetPullRequest() *PullRequest { - if x != nil { - return x.PullRequest - } - return nil -} - -func (x *GetPullRequestTimelineResponse) GetEvents() []*PullRequestTimelineEventRow { - if x != nil { - return x.Events - } - return nil -} - -func (x *GetPullRequestTimelineResponse) GetWarnings() []*PullRequestTimelineWarning { - if x != nil { - return x.Warnings - } - return nil -} - -// PullRequestSummary is the tenant-scoped list shape for the /pull-requests/ -// debug page. Account is always the JWT tenant (field retained for consistency -// with PlanSummary / ReviewSummary / LoopSummary). -type PullRequestSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - RepoFullName string `protobuf:"bytes,3,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,4,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` - // "open" | "closed" | "merged" (merged is derived: state='closed' AND merged=true). - State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` - IsDraft bool `protobuf:"varint,7,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - HeadSha string `protobuf:"bytes,8,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Friendly identifier of the linked plan (e.g. BRENT-42), or "" when unlinked. - LinkedPlanFriendlyId string `protobuf:"bytes,10,opt,name=linked_plan_friendly_id,json=linkedPlanFriendlyId,proto3" json:"linked_plan_friendly_id,omitempty"` - // Title of the linked plan, or "" when unlinked or soft-deleted. - LinkedPlanTitle string `protobuf:"bytes,11,opt,name=linked_plan_title,json=linkedPlanTitle,proto3" json:"linked_plan_title,omitempty"` - // Matcher's reason string: "", "ambiguous: a, b", "no match", or a match - // surface description. - LinkReason string `protobuf:"bytes,12,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - // Plan reference (plans.external_id). For brent-area51 navigation only. - // linked_plan_friendly_id (field 10) remains the plan identifier (friendly ID) for display. - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestSummary) Reset() { - *x = PullRequestSummary{} - mi := &file_brent_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestSummary) ProtoMessage() {} - -func (x *PullRequestSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[10] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestSummary.ProtoReflect.Descriptor instead. -func (*PullRequestSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{10} -} - -func (x *PullRequestSummary) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestSummary) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *PullRequestSummary) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestSummary) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestSummary) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestSummary) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *PullRequestSummary) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestSummary) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestSummary) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *PullRequestSummary) GetLinkedPlanFriendlyId() string { - if x != nil { - return x.LinkedPlanFriendlyId - } - return "" -} - -func (x *PullRequestSummary) GetLinkedPlanTitle() string { - if x != nil { - return x.LinkedPlanTitle - } - return "" -} - -func (x *PullRequestSummary) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -func (x *PullRequestSummary) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -// PullRequest is the full detail shape returned by GetPullRequestByID. -type PullRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - RepoFullName string `protobuf:"bytes,3,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,4,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,6,opt,name=body,proto3" json:"body,omitempty"` - State string `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` - IsDraft bool `protobuf:"varint,8,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - HeadSha string `protobuf:"bytes,9,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,10,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,11,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - AuthorLogin string `protobuf:"bytes,12,opt,name=author_login,json=authorLogin,proto3" json:"author_login,omitempty"` - Merged bool `protobuf:"varint,13,opt,name=merged,proto3" json:"merged,omitempty"` - MergeCommitSha string `protobuf:"bytes,14,opt,name=merge_commit_sha,json=mergeCommitSha,proto3" json:"merge_commit_sha,omitempty"` - Url string `protobuf:"bytes,15,opt,name=url,proto3" json:"url,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - ClosedAt *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=closed_at,json=closedAt,proto3" json:"closed_at,omitempty"` - // Friendly identifier of the linked plan (e.g. BRENT-42), or "" when unlinked. - LinkedPlanFriendlyId string `protobuf:"bytes,19,opt,name=linked_plan_friendly_id,json=linkedPlanFriendlyId,proto3" json:"linked_plan_friendly_id,omitempty"` - LinkedPlanTitle string `protobuf:"bytes,20,opt,name=linked_plan_title,json=linkedPlanTitle,proto3" json:"linked_plan_title,omitempty"` - LinkReason string `protobuf:"bytes,21,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - // Plan reference (plans.external_id). For brent-area51 navigation only. - // linked_plan_friendly_id (field 19) remains the plan identifier (friendly ID) for display. - LinkedPlanUuid string `protobuf:"bytes,22,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequest) Reset() { - *x = PullRequest{} - mi := &file_brent_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequest) ProtoMessage() {} - -func (x *PullRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[11] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequest.ProtoReflect.Descriptor instead. -func (*PullRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{11} -} - -func (x *PullRequest) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *PullRequest) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequest) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequest) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequest) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequest) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *PullRequest) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequest) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequest) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequest) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequest) GetAuthorLogin() string { - if x != nil { - return x.AuthorLogin - } - return "" -} - -func (x *PullRequest) GetMerged() bool { - if x != nil { - return x.Merged - } - return false -} - -func (x *PullRequest) GetMergeCommitSha() string { - if x != nil { - return x.MergeCommitSha - } - return "" -} - -func (x *PullRequest) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequest) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *PullRequest) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *PullRequest) GetClosedAt() *timestamppb.Timestamp { - if x != nil { - return x.ClosedAt - } - return nil -} - -func (x *PullRequest) GetLinkedPlanFriendlyId() string { - if x != nil { - return x.LinkedPlanFriendlyId - } - return "" -} - -func (x *PullRequest) GetLinkedPlanTitle() string { - if x != nil { - return x.LinkedPlanTitle - } - return "" -} - -func (x *PullRequest) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -func (x *PullRequest) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -// PlanCheckSummary carries the analysis header plus all its findings. -type PlanCheckSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrId string `protobuf:"bytes,3,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - PlanUuid string `protobuf:"bytes,4,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - LoopRunId string `protobuf:"bytes,6,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - FailureReason string `protobuf:"bytes,9,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` - FailedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=failed_at,json=failedAt,proto3" json:"failed_at,omitempty"` - Differences []*PlanDifference `protobuf:"bytes,13,rep,name=differences,proto3" json:"differences,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanCheckSummary) Reset() { - *x = PlanCheckSummary{} - mi := &file_brent_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanCheckSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanCheckSummary) ProtoMessage() {} - -func (x *PlanCheckSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[12] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanCheckSummary.ProtoReflect.Descriptor instead. -func (*PlanCheckSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{12} -} - -func (x *PlanCheckSummary) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanCheckSummary) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *PlanCheckSummary) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PlanCheckSummary) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanCheckSummary) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PlanCheckSummary) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *PlanCheckSummary) GetFailureReason() string { - if x != nil { - return x.FailureReason - } - return "" -} - -func (x *PlanCheckSummary) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -func (x *PlanCheckSummary) GetCompletedAt() *timestamppb.Timestamp { - if x != nil { - return x.CompletedAt - } - return nil -} - -func (x *PlanCheckSummary) GetFailedAt() *timestamppb.Timestamp { - if x != nil { - return x.FailedAt - } - return nil -} - -func (x *PlanCheckSummary) GetDifferences() []*PlanDifference { - if x != nil { - return x.Differences - } - return nil -} - -// PlanDifference is a single finding produced by the deviation-analysis agent. -type PlanDifference struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` - // Tag per deviation-analysis-v2.md §2: Changed | Missing | Beyond | Scope. - Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` - Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` - // File path anchoring this finding, or "" when unanchored. - AnchorPath string `protobuf:"bytes,4,opt,name=anchor_path,json=anchorPath,proto3" json:"anchor_path,omitempty"` - AnchorStartLine int32 `protobuf:"varint,5,opt,name=anchor_start_line,json=anchorStartLine,proto3" json:"anchor_start_line,omitempty"` - AnchorEndLine int32 `protobuf:"varint,6,opt,name=anchor_end_line,json=anchorEndLine,proto3" json:"anchor_end_line,omitempty"` - // deviation_findings.details JSONB serialised as a JSON string. - DetailsJson string `protobuf:"bytes,7,opt,name=details_json,json=detailsJson,proto3" json:"details_json,omitempty"` - // True when the agent resolved this finding on a resume reconciliation pass. - Resolved bool `protobuf:"varint,8,opt,name=resolved,proto3" json:"resolved,omitempty"` - ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=resolved_at,json=resolvedAt,proto3" json:"resolved_at,omitempty"` - ResolutionReason string `protobuf:"bytes,10,opt,name=resolution_reason,json=resolutionReason,proto3" json:"resolution_reason,omitempty"` - ResolutionCommit string `protobuf:"bytes,11,opt,name=resolution_commit,json=resolutionCommit,proto3" json:"resolution_commit,omitempty"` - Acknowledged bool `protobuf:"varint,12,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"` - // issue_comment | review_comment | commit_message | pr_description. - // Empty when acknowledged is false. - AckSource string `protobuf:"bytes,13,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` - // Opaque source-specific reference. Empty when acknowledged is false. - AckRef string `protobuf:"bytes,14,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` - // Verbatim explanation accepted as acknowledgement evidence. - // Empty when acknowledged is false. - AckReasoningQuote string `protobuf:"bytes,15,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` - // Stable acknowledgement handle; empty for legacy findings without a slug. - Slug string `protobuf:"bytes,16,opt,name=slug,proto3" json:"slug,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanDifference) Reset() { - *x = PlanDifference{} - mi := &file_brent_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanDifference) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanDifference) ProtoMessage() {} - -func (x *PlanDifference) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[13] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanDifference.ProtoReflect.Descriptor instead. -func (*PlanDifference) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{13} -} - -func (x *PlanDifference) GetPlanDifferenceId() string { - if x != nil { - return x.PlanDifferenceId - } - return "" -} - -func (x *PlanDifference) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -func (x *PlanDifference) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -func (x *PlanDifference) GetAnchorPath() string { - if x != nil { - return x.AnchorPath - } - return "" -} - -func (x *PlanDifference) GetAnchorStartLine() int32 { - if x != nil { - return x.AnchorStartLine - } - return 0 -} - -func (x *PlanDifference) GetAnchorEndLine() int32 { - if x != nil { - return x.AnchorEndLine - } - return 0 -} - -func (x *PlanDifference) GetDetailsJson() string { - if x != nil { - return x.DetailsJson - } - return "" -} - -func (x *PlanDifference) GetResolved() bool { - if x != nil { - return x.Resolved - } - return false -} - -func (x *PlanDifference) GetResolvedAt() *timestamppb.Timestamp { - if x != nil { - return x.ResolvedAt - } - return nil -} - -func (x *PlanDifference) GetResolutionReason() string { - if x != nil { - return x.ResolutionReason - } - return "" -} - -func (x *PlanDifference) GetResolutionCommit() string { - if x != nil { - return x.ResolutionCommit - } - return "" -} - -func (x *PlanDifference) GetAcknowledged() bool { - if x != nil { - return x.Acknowledged - } - return false -} - -func (x *PlanDifference) GetAckSource() string { - if x != nil { - return x.AckSource - } - return "" -} - -func (x *PlanDifference) GetAckRef() string { - if x != nil { - return x.AckRef - } - return "" -} - -func (x *PlanDifference) GetAckReasoningQuote() string { - if x != nil { - return x.AckReasoningQuote - } - return "" -} - -func (x *PlanDifference) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -// ExecuteLoopRequest initiates a workflow run. -type ExecuteLoopRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Natural-language instructions for the agent. - // Example: "Look up ticket ENG-1234 in Linear, summarize it, post to #engineering in Slack" - LoopPrompt string `protobuf:"bytes,1,opt,name=loop_prompt,json=loopPrompt,proto3" json:"loop_prompt,omitempty"` - // Raw JSON of the triggering event (e.g. GitHub webhook payload). - // Empty for UI-initiated runs. - TriggerEventJson *string `protobuf:"bytes,2,opt,name=trigger_event_json,json=triggerEventJson,proto3,oneof" json:"trigger_event_json,omitempty"` - // Human-readable name for this run. Used as workflow_runs.name. - // Defaults to "Manual Run" on the backend if absent. - LoopName *string `protobuf:"bytes,6,opt,name=loop_name,json=loopName,proto3,oneof" json:"loop_name,omitempty"` - // Optional operator override: run under this workspace/account instead of the - // caller's own account. Operator-only (already gated on admin:write). When - // empty, falls back to the caller's account, then "default". Lets operators - // test account-scoped integrations (e.g. connected Composio toolkits) from - // the Area51 Compose surface, where the operator session has no account. - AccountName *string `protobuf:"bytes,7,opt,name=account_name,json=accountName,proto3,oneof" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ExecuteLoopRequest) Reset() { - *x = ExecuteLoopRequest{} - mi := &file_brent_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ExecuteLoopRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecuteLoopRequest) ProtoMessage() {} - -func (x *ExecuteLoopRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[14] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecuteLoopRequest.ProtoReflect.Descriptor instead. -func (*ExecuteLoopRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{14} -} - -func (x *ExecuteLoopRequest) GetLoopPrompt() string { - if x != nil { - return x.LoopPrompt - } - return "" -} - -func (x *ExecuteLoopRequest) GetTriggerEventJson() string { - if x != nil && x.TriggerEventJson != nil { - return *x.TriggerEventJson - } - return "" -} - -func (x *ExecuteLoopRequest) GetLoopName() string { - if x != nil && x.LoopName != nil { - return *x.LoopName - } - return "" -} - -func (x *ExecuteLoopRequest) GetAccountName() string { - if x != nil && x.AccountName != nil { - return *x.AccountName - } - return "" -} - -type ListRunsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Optional filter by workflow definition name (workflow_runs.name). Empty - // means no filter. - LoopName string `protobuf:"bytes,1,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` - // Optional filter by run status (pending, running, completed, failed, - // cancelled). Empty means no filter. Matches workflow_runs.status verbatim. - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListRunsRequest) Reset() { - *x = ListRunsRequest{} - mi := &file_brent_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListRunsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListRunsRequest) ProtoMessage() {} - -func (x *ListRunsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[15] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListRunsRequest.ProtoReflect.Descriptor instead. -func (*ListRunsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{15} -} - -func (x *ListRunsRequest) GetLoopName() string { - if x != nil { - return x.LoopName - } - return "" -} - -func (x *ListRunsRequest) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type ListRunsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Runs []*RunSummary `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListRunsResponse) Reset() { - *x = ListRunsResponse{} - mi := &file_brent_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListRunsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListRunsResponse) ProtoMessage() {} - -func (x *ListRunsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[16] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListRunsResponse.ProtoReflect.Descriptor instead. -func (*ListRunsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{16} -} - -func (x *ListRunsResponse) GetRuns() []*RunSummary { - if x != nil { - return x.Runs - } - return nil -} - -type RunSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status RunStatus `protobuf:"varint,2,opt,name=status,proto3,enum=until.RunStatus" json:"status,omitempty"` - LoopPrompt string `protobuf:"bytes,3,opt,name=loop_prompt,json=loopPrompt,proto3" json:"loop_prompt,omitempty"` - TriggerEventJson *string `protobuf:"bytes,4,opt,name=trigger_event_json,json=triggerEventJson,proto3,oneof" json:"trigger_event_json,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - // Thread key computed from the triggering event by the workflow's - // `thread.key` CEL expression. Empty for non-threaded runs. - ThreadKey *string `protobuf:"bytes,9,opt,name=thread_key,json=threadKey,proto3,oneof" json:"thread_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RunSummary) Reset() { - *x = RunSummary{} - mi := &file_brent_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RunSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RunSummary) ProtoMessage() {} - -func (x *RunSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[17] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RunSummary.ProtoReflect.Descriptor instead. -func (*RunSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{17} -} - -func (x *RunSummary) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *RunSummary) GetStatus() RunStatus { - if x != nil { - return x.Status - } - return RunStatus_RUN_STATUS_UNSPECIFIED -} - -func (x *RunSummary) GetLoopPrompt() string { - if x != nil { - return x.LoopPrompt - } - return "" -} - -func (x *RunSummary) GetTriggerEventJson() string { - if x != nil && x.TriggerEventJson != nil { - return *x.TriggerEventJson - } - return "" -} - -func (x *RunSummary) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -func (x *RunSummary) GetCompletedAt() *timestamppb.Timestamp { - if x != nil { - return x.CompletedAt - } - return nil -} - -func (x *RunSummary) GetThreadKey() string { - if x != nil && x.ThreadKey != nil { - return *x.ThreadKey - } - return "" -} - -type WatchRunRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WatchRunRequest) Reset() { - *x = WatchRunRequest{} - mi := &file_brent_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WatchRunRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WatchRunRequest) ProtoMessage() {} - -func (x *WatchRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[18] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WatchRunRequest.ProtoReflect.Descriptor instead. -func (*WatchRunRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{18} -} - -func (x *WatchRunRequest) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -type StreamEventsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *StreamEventsRequest) Reset() { - *x = StreamEventsRequest{} - mi := &file_brent_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *StreamEventsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamEventsRequest) ProtoMessage() {} - -func (x *StreamEventsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[19] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamEventsRequest.ProtoReflect.Descriptor instead. -func (*StreamEventsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{19} -} - -type StreamEventsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Event *Event `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *StreamEventsResponse) Reset() { - *x = StreamEventsResponse{} - mi := &file_brent_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *StreamEventsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamEventsResponse) ProtoMessage() {} - -func (x *StreamEventsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[20] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamEventsResponse.ProtoReflect.Descriptor instead. -func (*StreamEventsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{20} -} - -func (x *StreamEventsResponse) GetEvent() *Event { - if x != nil { - return x.Event - } - return nil -} - -// ListEventsRequest lists persisted audit events for one tenant. account_name -// is required — operators pick the account to inspect; admin:read is what -// grants cross-tenant access. -type ListEventsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - OccurredFrom *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=occurred_from,json=occurredFrom,proto3" json:"occurred_from,omitempty"` - OccurredTo *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=occurred_to,json=occurredTo,proto3" json:"occurred_to,omitempty"` - ObjectType string `protobuf:"bytes,4,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"` - ObjectId string `protobuf:"bytes,5,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` - EventTypes []string `protobuf:"bytes,6,rep,name=event_types,json=eventTypes,proto3" json:"event_types,omitempty"` - Limit uint32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit,omitempty"` - AfterCursor string `protobuf:"bytes,8,opt,name=after_cursor,json=afterCursor,proto3" json:"after_cursor,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListEventsRequest) Reset() { - *x = ListEventsRequest{} - mi := &file_brent_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListEventsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListEventsRequest) ProtoMessage() {} - -func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[21] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListEventsRequest.ProtoReflect.Descriptor instead. -func (*ListEventsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{21} -} - -func (x *ListEventsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *ListEventsRequest) GetOccurredFrom() *timestamppb.Timestamp { - if x != nil { - return x.OccurredFrom - } - return nil -} - -func (x *ListEventsRequest) GetOccurredTo() *timestamppb.Timestamp { - if x != nil { - return x.OccurredTo - } - return nil -} - -func (x *ListEventsRequest) GetObjectType() string { - if x != nil { - return x.ObjectType - } - return "" -} - -func (x *ListEventsRequest) GetObjectId() string { - if x != nil { - return x.ObjectId - } - return "" -} - -func (x *ListEventsRequest) GetEventTypes() []string { - if x != nil { - return x.EventTypes - } - return nil -} - -func (x *ListEventsRequest) GetLimit() uint32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ListEventsRequest) GetAfterCursor() string { - if x != nil { - return x.AfterCursor - } - return "" -} - -type ListEventsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Events []*Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` - NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListEventsResponse) Reset() { - *x = ListEventsResponse{} - mi := &file_brent_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListEventsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListEventsResponse) ProtoMessage() {} - -func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[22] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListEventsResponse.ProtoReflect.Descriptor instead. -func (*ListEventsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{22} -} - -func (x *ListEventsResponse) GetEvents() []*Event { - if x != nil { - return x.Events - } - return nil -} - -func (x *ListEventsResponse) GetNextCursor() string { - if x != nil { - return x.NextCursor - } - return "" -} - -type CancelRunRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CancelRunRequest) Reset() { - *x = CancelRunRequest{} - mi := &file_brent_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CancelRunRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CancelRunRequest) ProtoMessage() {} - -func (x *CancelRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[23] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CancelRunRequest.ProtoReflect.Descriptor instead. -func (*CancelRunRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{23} -} - -func (x *CancelRunRequest) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -type CancelRunResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CancelRunResponse) Reset() { - *x = CancelRunResponse{} - mi := &file_brent_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CancelRunResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CancelRunResponse) ProtoMessage() {} - -func (x *CancelRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[24] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CancelRunResponse.ProtoReflect.Descriptor instead. -func (*CancelRunResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{24} -} - -type ListOpenPullRequestsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Soft cap on result count. Server clamps to [1, 200]; 0 means default 50. - Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` - // Pagination offset. Combined with `limit` selects rows - // [offset, offset+limit) ordered by updated_at DESC, external_id DESC. - Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListOpenPullRequestsRequest) Reset() { - *x = ListOpenPullRequestsRequest{} - mi := &file_brent_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListOpenPullRequestsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListOpenPullRequestsRequest) ProtoMessage() {} - -func (x *ListOpenPullRequestsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[25] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListOpenPullRequestsRequest.ProtoReflect.Descriptor instead. -func (*ListOpenPullRequestsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{25} -} - -func (x *ListOpenPullRequestsRequest) GetLimit() uint32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ListOpenPullRequestsRequest) GetOffset() uint32 { - if x != nil { - return x.Offset - } - return 0 -} - -type ListOpenPullRequestsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - PullRequests []*OpenPullRequest `protobuf:"bytes,1,rep,name=pull_requests,json=pullRequests,proto3" json:"pull_requests,omitempty"` - // Total count for the (account, state='open') tuple, ignoring limit/offset, - // for driving "page N of M" UI. - TotalCount uint32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListOpenPullRequestsResponse) Reset() { - *x = ListOpenPullRequestsResponse{} - mi := &file_brent_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListOpenPullRequestsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListOpenPullRequestsResponse) ProtoMessage() {} - -func (x *ListOpenPullRequestsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[26] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListOpenPullRequestsResponse.ProtoReflect.Descriptor instead. -func (*ListOpenPullRequestsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{26} -} - -func (x *ListOpenPullRequestsResponse) GetPullRequests() []*OpenPullRequest { - if x != nil { - return x.PullRequests - } - return nil -} - -func (x *ListOpenPullRequestsResponse) GetTotalCount() uint32 { - if x != nil { - return x.TotalCount - } - return 0 -} - -type GetPullRequestRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // "owner/repo". - Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` - Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPullRequestRequest) Reset() { - *x = GetPullRequestRequest{} - mi := &file_brent_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPullRequestRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPullRequestRequest) ProtoMessage() {} - -func (x *GetPullRequestRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[27] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPullRequestRequest.ProtoReflect.Descriptor instead. -func (*GetPullRequestRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{27} -} - -func (x *GetPullRequestRequest) GetRepo() string { - if x != nil { - return x.Repo - } - return "" -} - -func (x *GetPullRequestRequest) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -type GetPullRequestResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - PullRequest *OpenPullRequest `protobuf:"bytes,1,opt,name=pull_request,json=pullRequest,proto3" json:"pull_request,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPullRequestResponse) Reset() { - *x = GetPullRequestResponse{} - mi := &file_brent_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPullRequestResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPullRequestResponse) ProtoMessage() {} - -func (x *GetPullRequestResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[28] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPullRequestResponse.ProtoReflect.Descriptor instead. -func (*GetPullRequestResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{28} -} - -func (x *GetPullRequestResponse) GetPullRequest() *OpenPullRequest { - if x != nil { - return x.PullRequest - } - return nil -} - -// OpenPullRequest is the summary info needed to drive an ExecuteLoop -// call for a pull request. -type OpenPullRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` - Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - Author string `protobuf:"bytes,4,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - BaseBranch string `protobuf:"bytes,6,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - HeadBranch string `protobuf:"bytes,7,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - // "open" | "closed" | "merged" ("merged" is derived from merged_at). - State string `protobuf:"bytes,9,opt,name=state,proto3" json:"state,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *OpenPullRequest) Reset() { - *x = OpenPullRequest{} - mi := &file_brent_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *OpenPullRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OpenPullRequest) ProtoMessage() {} - -func (x *OpenPullRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[29] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OpenPullRequest.ProtoReflect.Descriptor instead. -func (*OpenPullRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{29} -} - -func (x *OpenPullRequest) GetRepo() string { - if x != nil { - return x.Repo - } - return "" -} - -func (x *OpenPullRequest) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *OpenPullRequest) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *OpenPullRequest) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *OpenPullRequest) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *OpenPullRequest) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *OpenPullRequest) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *OpenPullRequest) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *OpenPullRequest) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -// ExecuteLoopResponse is a single step in the execution stream. -// Each response carries a timestamp so the client can order steps. -type ExecuteLoopResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // When this step was produced by the server. - Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // The step payload. Exactly one field will be set per message. - // - // Types that are valid to be assigned to Step: - // - // *ExecuteLoopResponse_Reasoning - // *ExecuteLoopResponse_ToolCall - // *ExecuteLoopResponse_ToolResult - // *ExecuteLoopResponse_Completion - // *ExecuteLoopResponse_Error - // *ExecuteLoopResponse_Status - // *ExecuteLoopResponse_RunStarted - // *ExecuteLoopResponse_QaReady - // *ExecuteLoopResponse_UserQuestion - // *ExecuteLoopResponse_UserMessage - Step isExecuteLoopResponse_Step `protobuf_oneof:"step"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ExecuteLoopResponse) Reset() { - *x = ExecuteLoopResponse{} - mi := &file_brent_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ExecuteLoopResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecuteLoopResponse) ProtoMessage() {} - -func (x *ExecuteLoopResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[30] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecuteLoopResponse.ProtoReflect.Descriptor instead. -func (*ExecuteLoopResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{30} -} - -func (x *ExecuteLoopResponse) GetTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.Timestamp - } - return nil -} - -func (x *ExecuteLoopResponse) GetStep() isExecuteLoopResponse_Step { - if x != nil { - return x.Step - } - return nil -} - -func (x *ExecuteLoopResponse) GetReasoning() *ReasoningStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_Reasoning); ok { - return x.Reasoning - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetToolCall() *ToolCallStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_ToolCall); ok { - return x.ToolCall - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetToolResult() *ToolResultStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_ToolResult); ok { - return x.ToolResult - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetCompletion() *CompletionStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_Completion); ok { - return x.Completion - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetError() *ErrorStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_Error); ok { - return x.Error - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetStatus() *StatusStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_Status); ok { - return x.Status - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetRunStarted() *RunStartedStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_RunStarted); ok { - return x.RunStarted - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetQaReady() *QAReadyStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_QaReady); ok { - return x.QaReady - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetUserQuestion() *UserQuestionStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_UserQuestion); ok { - return x.UserQuestion - } - } - return nil -} - -func (x *ExecuteLoopResponse) GetUserMessage() *UserMessageStep { - if x != nil { - if x, ok := x.Step.(*ExecuteLoopResponse_UserMessage); ok { - return x.UserMessage - } - } - return nil -} - -type isExecuteLoopResponse_Step interface { - isExecuteLoopResponse_Step() -} - -type ExecuteLoopResponse_Reasoning struct { - // A chunk of the agent's reasoning / LLM output text. - Reasoning *ReasoningStep `protobuf:"bytes,10,opt,name=reasoning,proto3,oneof"` -} - -type ExecuteLoopResponse_ToolCall struct { - // The agent is calling a tool on an MCP server. - ToolCall *ToolCallStep `protobuf:"bytes,11,opt,name=tool_call,json=toolCall,proto3,oneof"` -} - -type ExecuteLoopResponse_ToolResult struct { - // The result returned from an MCP tool call. - ToolResult *ToolResultStep `protobuf:"bytes,12,opt,name=tool_result,json=toolResult,proto3,oneof"` -} - -type ExecuteLoopResponse_Completion struct { - // The agent finished successfully. - Completion *CompletionStep `protobuf:"bytes,13,opt,name=completion,proto3,oneof"` -} - -type ExecuteLoopResponse_Error struct { - // A terminal error — the stream ends after this step. - Error *ErrorStep `protobuf:"bytes,14,opt,name=error,proto3,oneof"` -} - -type ExecuteLoopResponse_Status struct { - // Operational progress (e.g. "Connecting to MCP servers..."). - Status *StatusStep `protobuf:"bytes,15,opt,name=status,proto3,oneof"` -} - -type ExecuteLoopResponse_RunStarted struct { - // First step on a PR-context run; carries the server-assigned runId - // so the client can deep-link to the run via the sidebar. Not emitted - // on the webhook-triggered path. - RunStarted *RunStartedStep `protobuf:"bytes,16,opt,name=run_started,json=runStarted,proto3,oneof"` -} - -type ExecuteLoopResponse_QaReady struct { - // Emitted after a run completes successfully to signal that Q&A - // questions can now be sent via the SendQuestion RPC. - QaReady *QAReadyStep `protobuf:"bytes,17,opt,name=qa_ready,json=qaReady,proto3,oneof"` -} - -type ExecuteLoopResponse_UserQuestion struct { - // A follow-up question submitted by the user after a run enters Q&A mode. - UserQuestion *UserQuestionStep `protobuf:"bytes,18,opt,name=user_question,json=userQuestion,proto3,oneof"` -} - -type ExecuteLoopResponse_UserMessage struct { - // First user message sent to the LLM at run start. Captured as a step so - // it flows through the same persistence, streaming, and MCP-replay paths - // as every other timeline event. - UserMessage *UserMessageStep `protobuf:"bytes,19,opt,name=user_message,json=userMessage,proto3,oneof"` -} - -func (*ExecuteLoopResponse_Reasoning) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_ToolCall) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_ToolResult) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_Completion) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_Error) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_Status) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_RunStarted) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_QaReady) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_UserQuestion) isExecuteLoopResponse_Step() {} - -func (*ExecuteLoopResponse_UserMessage) isExecuteLoopResponse_Step() {} - -// ReasoningStep carries a chunk of the agent's streaming output. Multiple -// ReasoningSteps form the full reasoning trace when concatenated in order. -type ReasoningStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // A text chunk from the LLM's streaming response. - Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReasoningStep) Reset() { - *x = ReasoningStep{} - mi := &file_brent_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReasoningStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReasoningStep) ProtoMessage() {} - -func (x *ReasoningStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[31] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReasoningStep.ProtoReflect.Descriptor instead. -func (*ReasoningStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{31} -} - -func (x *ReasoningStep) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -// ToolCallStep is emitted when the LLM decides to invoke an MCP tool. -// The corresponding ToolResultStep will share the same tool_call_id. -type ToolCallStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Unique identifier for this tool invocation, used to correlate with - // the matching ToolResultStep. Passed through from the LLM response. - ToolCallId string `protobuf:"bytes,1,opt,name=tool_call_id,json=toolCallId,proto3" json:"tool_call_id,omitempty"` - // Identifier of the MCP server that owns this tool - // (e.g. "github", "linear", "slack"). - McpId string `protobuf:"bytes,2,opt,name=mcp_id,json=mcpId,proto3" json:"mcp_id,omitempty"` - // The name of the tool being called (e.g. "search_issues"). - ToolName string `protobuf:"bytes,3,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"` - // Raw JSON string of the tool call arguments exactly as returned by the - // LLM. We pass through the raw JSON rather than a Struct to keep the - // proto simple and the streaming path fast — the frontend can parse or - // display it as needed. - ArgumentsJson string `protobuf:"bytes,4,opt,name=arguments_json,json=argumentsJson,proto3" json:"arguments_json,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ToolCallStep) Reset() { - *x = ToolCallStep{} - mi := &file_brent_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ToolCallStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ToolCallStep) ProtoMessage() {} - -func (x *ToolCallStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[32] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ToolCallStep.ProtoReflect.Descriptor instead. -func (*ToolCallStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{32} -} - -func (x *ToolCallStep) GetToolCallId() string { - if x != nil { - return x.ToolCallId - } - return "" -} - -func (x *ToolCallStep) GetMcpId() string { - if x != nil { - return x.McpId - } - return "" -} - -func (x *ToolCallStep) GetToolName() string { - if x != nil { - return x.ToolName - } - return "" -} - -func (x *ToolCallStep) GetArgumentsJson() string { - if x != nil { - return x.ArgumentsJson - } - return "" -} - -// ToolResultStep carries the result of an MCP tool call. A tool-level -// failure (is_error=true) is non-terminal: the agent loop feeds the error -// back to the LLM, which may retry or try a different approach. -type ToolResultStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Matches the tool_call_id from the corresponding ToolCallStep. - ToolCallId string `protobuf:"bytes,1,opt,name=tool_call_id,json=toolCallId,proto3" json:"tool_call_id,omitempty"` - // Identifier of the MCP server that executed the tool. - McpId string `protobuf:"bytes,2,opt,name=mcp_id,json=mcpId,proto3" json:"mcp_id,omitempty"` - // The content returned by the tool (text representation). - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` - // True when the tool call itself failed (e.g. MCP server error, tool - // not found, invalid arguments). The agent loop treats this as a - // recoverable error and continues execution. - IsError bool `protobuf:"varint,4,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ToolResultStep) Reset() { - *x = ToolResultStep{} - mi := &file_brent_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ToolResultStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ToolResultStep) ProtoMessage() {} - -func (x *ToolResultStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[33] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ToolResultStep.ProtoReflect.Descriptor instead. -func (*ToolResultStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{33} -} - -func (x *ToolResultStep) GetToolCallId() string { - if x != nil { - return x.ToolCallId - } - return "" -} - -func (x *ToolResultStep) GetMcpId() string { - if x != nil { - return x.McpId - } - return "" -} - -func (x *ToolResultStep) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -func (x *ToolResultStep) GetIsError() bool { - if x != nil { - return x.IsError - } - return false -} - -// CompletionStep signals the agent finished its work successfully. -// This is the final semantic step in the stream. -type CompletionStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The agent's final output text. - Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CompletionStep) Reset() { - *x = CompletionStep{} - mi := &file_brent_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CompletionStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CompletionStep) ProtoMessage() {} - -func (x *CompletionStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[34] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CompletionStep.ProtoReflect.Descriptor instead. -func (*CompletionStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{34} -} - -func (x *CompletionStep) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -// ErrorStep signals a terminal failure. The stream ends immediately -// after this step. Examples: LLM API unreachable, unrecoverable -// internal error, context deadline exceeded. -type ErrorStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Human-readable error description. - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ErrorStep) Reset() { - *x = ErrorStep{} - mi := &file_brent_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ErrorStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ErrorStep) ProtoMessage() {} - -func (x *ErrorStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[35] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ErrorStep.ProtoReflect.Descriptor instead. -func (*ErrorStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{35} -} - -func (x *ErrorStep) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -// StatusStep provides operational progress updates that are not part of -// the agent's reasoning. Useful for the UI to show what the system is -// doing before the LLM starts streaming (e.g. MCP server connections). -type StatusStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Human-readable status message. - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *StatusStep) Reset() { - *x = StatusStep{} - mi := &file_brent_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *StatusStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatusStep) ProtoMessage() {} - -func (x *StatusStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[36] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StatusStep.ProtoReflect.Descriptor instead. -func (*StatusStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{36} -} - -func (x *StatusStep) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -// RunStartedStep is emitted as the first step on a streaming -// ExecuteLoop invocation. It tells the client the server-side runId -// so it can deep-link to the full stream via WatchRun. The -// webhook-triggered path does not emit this step. -type RunStartedStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RunStartedStep) Reset() { - *x = RunStartedStep{} - mi := &file_brent_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RunStartedStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RunStartedStep) ProtoMessage() {} - -func (x *RunStartedStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[37] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RunStartedStep.ProtoReflect.Descriptor instead. -func (*RunStartedStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{37} -} - -func (x *RunStartedStep) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -// QAReadyStep is emitted after a run completes successfully to signal that -// interactive Q&A is available. The client should show a question input and -// call SendQuestion with the run_id to ask follow-up questions. -type QAReadyStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Human-readable message to display to the user. - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *QAReadyStep) Reset() { - *x = QAReadyStep{} - mi := &file_brent_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *QAReadyStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QAReadyStep) ProtoMessage() {} - -func (x *QAReadyStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[38] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QAReadyStep.ProtoReflect.Descriptor instead. -func (*QAReadyStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{38} -} - -func (x *QAReadyStep) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -// UserQuestionStep records a follow-up question submitted by the user so it -// appears in the same replayable run step log as the model's answer. -type UserQuestionStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The question text exactly as submitted after trimming. - Question string `protobuf:"bytes,1,opt,name=question,proto3" json:"question,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UserQuestionStep) Reset() { - *x = UserQuestionStep{} - mi := &file_brent_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UserQuestionStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserQuestionStep) ProtoMessage() {} - -func (x *UserQuestionStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[39] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserQuestionStep.ProtoReflect.Descriptor instead. -func (*UserQuestionStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{39} -} - -func (x *UserQuestionStep) GetQuestion() string { - if x != nil { - return x.Question - } - return "" -} - -// UserMessageStep carries the exact text of the first user message sent to -// the LLM for this run. For UI-initiated runs this is the prompt the user -// typed; for event-driven runs it is the workflow body template after -// Executor.buildPrompt has appended the triggering event JSON. -type UserMessageStep struct { - state protoimpl.MessageState `protogen:"open.v1"` - Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UserMessageStep) Reset() { - *x = UserMessageStep{} - mi := &file_brent_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UserMessageStep) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserMessageStep) ProtoMessage() {} - -func (x *UserMessageStep) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[40] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserMessageStep.ProtoReflect.Descriptor instead. -func (*UserMessageStep) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{40} -} - -func (x *UserMessageStep) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -// SendQuestionRequest sends a follow-up question against a completed run. -// The run must have emitted a QAReadyStep (i.e. be in Q&A mode). -type SendQuestionRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The run to ask against. Must be in Q&A mode (emitted QAReadyStep). - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - // The question to ask the model. - Question string `protobuf:"bytes,2,opt,name=question,proto3" json:"question,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SendQuestionRequest) Reset() { - *x = SendQuestionRequest{} - mi := &file_brent_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SendQuestionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendQuestionRequest) ProtoMessage() {} - -func (x *SendQuestionRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[41] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendQuestionRequest.ProtoReflect.Descriptor instead. -func (*SendQuestionRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{41} -} - -func (x *SendQuestionRequest) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -func (x *SendQuestionRequest) GetQuestion() string { - if x != nil { - return x.Question - } - return "" -} - -type AdminListPlansRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // State filter: "" or "active" (default), "deleted", "all". - // Unknown values return InvalidArgument. - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // clamp [1, 200]; 0 → default 50 - Offset uint32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` - // Empty string = all accounts (cross-tenant admin listing). - // When set, return only plans for that account_name. - AccountName string `protobuf:"bytes,4,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // Review-status filter: "" or "all" (default), "none" (no non-deleted - // reviews), "requested", "approved", "rejected". Aggregates across all - // non-deleted reviews on the plan with priority approved > rejected > - // requested > none (e.g. one rejected plus one outstanding requested - // review surfaces as rejected). Interim operator-only field — ENG-5037 - // lifecycle_stage will subsume this on the Area51 plan list. Unknown - // values return InvalidArgument. - ReviewStatus string `protobuf:"bytes,5,opt,name=review_status,json=reviewStatus,proto3" json:"review_status,omitempty"` - // Lifecycle filter: "" or "all" (default), "incomplete" (everything except - // done), or an exact stage name. Reuses the same tokens as list_plans MCP. - // Unknown values return InvalidArgument. - Lifecycle string `protobuf:"bytes,6,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListPlansRequest) Reset() { - *x = AdminListPlansRequest{} - mi := &file_brent_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListPlansRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListPlansRequest) ProtoMessage() {} - -func (x *AdminListPlansRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[42] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListPlansRequest.ProtoReflect.Descriptor instead. -func (*AdminListPlansRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{42} -} - -func (x *AdminListPlansRequest) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *AdminListPlansRequest) GetLimit() uint32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *AdminListPlansRequest) GetOffset() uint32 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *AdminListPlansRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminListPlansRequest) GetReviewStatus() string { - if x != nil { - return x.ReviewStatus - } - return "" -} - -func (x *AdminListPlansRequest) GetLifecycle() string { - if x != nil { - return x.Lifecycle - } - return "" -} - -type AdminListPlansResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Plans []*PlanSummary `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` - TotalCount uint32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListPlansResponse) Reset() { - *x = AdminListPlansResponse{} - mi := &file_brent_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListPlansResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListPlansResponse) ProtoMessage() {} - -func (x *AdminListPlansResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[43] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListPlansResponse.ProtoReflect.Descriptor instead. -func (*AdminListPlansResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{43} -} - -func (x *AdminListPlansResponse) GetPlans() []*PlanSummary { - if x != nil { - return x.Plans - } - return nil -} - -func (x *AdminListPlansResponse) GetTotalCount() uint32 { - if x != nil { - return x.TotalCount - } - return 0 -} - -// PlanSummary carries the columns brent-area51 renders in the plans list -// view. `content` is intentionally excluded — pulling it across every plan -// in every tenant on every list render would be wasteful when the list page -// only shows title and metadata. Use AdminGetPlan to fetch the full body. -type PlanSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Friendly identifier for the plan (e.g. "BRENT-42"). - FriendlyId string `protobuf:"bytes,1,opt,name=friendly_id,json=friendlyId,proto3" json:"friendly_id,omitempty"` - // The owning tenant. Surfaced in the debug UI so engineers can spot - // cross-tenant patterns at a glance. - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Stable principal_id UUID (string form) of the plan author. - AuthorPrincipalId string `protobuf:"bytes,7,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` - // Friendly principal metadata joined from principals at read time. - AuthorDisplayName string `protobuf:"bytes,8,opt,name=author_display_name,json=authorDisplayName,proto3" json:"author_display_name,omitempty"` - AuthorPrincipalKind string `protobuf:"bytes,9,opt,name=author_principal_kind,json=authorPrincipalKind,proto3" json:"author_principal_kind,omitempty"` // "human" | "agent" | "group" - AuthorPrincipalStatus string `protobuf:"bytes,10,opt,name=author_principal_status,json=authorPrincipalStatus,proto3" json:"author_principal_status,omitempty"` // "shadow" | "active" | "tombstoned" - // Raw UUID of the plan (plans.external_id). Exposed for debug consumers. - Uuid string `protobuf:"bytes,11,opt,name=uuid,proto3" json:"uuid,omitempty"` - // Project code component of the friendly ID (e.g. "BRENT"). - ProjectCode string `protobuf:"bytes,12,opt,name=project_code,json=projectCode,proto3" json:"project_code,omitempty"` - // Set when the plan has been soft-deleted. - DeletedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"` - // Aggregate review status for AdminService.ListPlans display and - // filtering: none | requested | approved | rejected. Priority across - // non-deleted reviews: approved > rejected > requested > none. Mirrors - // review_status on AdminListPlansRequest. Interim operator-only slice — - // reconcile with plans.lifecycle_stage when ENG-5037 Milestone 3 lands. - ReviewStatus string `protobuf:"bytes,14,opt,name=review_status,json=reviewStatus,proto3" json:"review_status,omitempty"` - LifecycleStage string `protobuf:"bytes,15,opt,name=lifecycle_stage,json=lifecycleStage,proto3" json:"lifecycle_stage,omitempty"` - // Set when lifecycle_stage is needs_attention. - LifecycleReason string `protobuf:"bytes,16,opt,name=lifecycle_reason,json=lifecycleReason,proto3" json:"lifecycle_reason,omitempty"` - LifecycleStageUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=lifecycle_stage_updated_at,json=lifecycleStageUpdatedAt,proto3" json:"lifecycle_stage_updated_at,omitempty"` - // Opaque external ticketing identifier for plan-ticket sync (e.g. ENG-123 - // or #42). Empty string means no external ticket link. - TicketId string `protobuf:"bytes,18,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanSummary) Reset() { - *x = PlanSummary{} - mi := &file_brent_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanSummary) ProtoMessage() {} - -func (x *PlanSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[44] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanSummary.ProtoReflect.Descriptor instead. -func (*PlanSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{44} -} - -func (x *PlanSummary) GetFriendlyId() string { - if x != nil { - return x.FriendlyId - } - return "" -} - -func (x *PlanSummary) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *PlanSummary) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PlanSummary) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *PlanSummary) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *PlanSummary) GetAuthorPrincipalId() string { - if x != nil { - return x.AuthorPrincipalId - } - return "" -} - -func (x *PlanSummary) GetAuthorDisplayName() string { - if x != nil { - return x.AuthorDisplayName - } - return "" -} - -func (x *PlanSummary) GetAuthorPrincipalKind() string { - if x != nil { - return x.AuthorPrincipalKind - } - return "" -} - -func (x *PlanSummary) GetAuthorPrincipalStatus() string { - if x != nil { - return x.AuthorPrincipalStatus - } - return "" -} - -func (x *PlanSummary) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -func (x *PlanSummary) GetProjectCode() string { - if x != nil { - return x.ProjectCode - } - return "" -} - -func (x *PlanSummary) GetDeletedAt() *timestamppb.Timestamp { - if x != nil { - return x.DeletedAt - } - return nil -} - -func (x *PlanSummary) GetReviewStatus() string { - if x != nil { - return x.ReviewStatus - } - return "" -} - -func (x *PlanSummary) GetLifecycleStage() string { - if x != nil { - return x.LifecycleStage - } - return "" -} - -func (x *PlanSummary) GetLifecycleReason() string { - if x != nil { - return x.LifecycleReason - } - return "" -} - -func (x *PlanSummary) GetLifecycleStageUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.LifecycleStageUpdatedAt - } - return nil -} - -func (x *PlanSummary) GetTicketId() string { - if x != nil { - return x.TicketId - } - return "" -} - -type AdminGetPlanRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Friendly identifier (e.g. BRENT-42) or plan UUID. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetPlanRequest) Reset() { - *x = AdminGetPlanRequest{} - mi := &file_brent_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetPlanRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetPlanRequest) ProtoMessage() {} - -func (x *AdminGetPlanRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[45] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetPlanRequest.ProtoReflect.Descriptor instead. -func (*AdminGetPlanRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{45} -} - -func (x *AdminGetPlanRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type AdminGetPlanResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Full plan including `content`. Set only when the plan exists; the RPC - // itself returns NotFound when the plan does not exist. - Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` - // Every non-deleted review for this plan, regardless of which tenant it - // belongs to. Sorted newest-decided / newest-requested first. - RelatedReviews []*ReviewSummary `protobuf:"bytes,2,rep,name=related_reviews,json=relatedReviews,proto3" json:"related_reviews,omitempty"` - // Pull requests linked to this plan via linked_plan_friendly_id, across all tenants. - RelatedPullRequests []*PullRequestSummary `protobuf:"bytes,3,rep,name=related_pull_requests,json=relatedPullRequests,proto3" json:"related_pull_requests,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetPlanResponse) Reset() { - *x = AdminGetPlanResponse{} - mi := &file_brent_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetPlanResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetPlanResponse) ProtoMessage() {} - -func (x *AdminGetPlanResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[46] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetPlanResponse.ProtoReflect.Descriptor instead. -func (*AdminGetPlanResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{46} -} - -func (x *AdminGetPlanResponse) GetPlan() *Plan { - if x != nil { - return x.Plan - } - return nil -} - -func (x *AdminGetPlanResponse) GetRelatedReviews() []*ReviewSummary { - if x != nil { - return x.RelatedReviews - } - return nil -} - -func (x *AdminGetPlanResponse) GetRelatedPullRequests() []*PullRequestSummary { - if x != nil { - return x.RelatedPullRequests - } - return nil -} - -// Plan is the full plan aggregate as the debug UI consumes it. Mirrors -// services/brent-backend/plans.Plan. -type Plan struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Friendly identifier for the plan (e.g. "BRENT-42"). - FriendlyId string `protobuf:"bytes,1,opt,name=friendly_id,json=friendlyId,proto3" json:"friendly_id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Stable principal_id UUID (string form) of the plan author. - AuthorPrincipalId string `protobuf:"bytes,8,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` - AuthorDisplayName string `protobuf:"bytes,9,opt,name=author_display_name,json=authorDisplayName,proto3" json:"author_display_name,omitempty"` - AuthorPrincipalKind string `protobuf:"bytes,10,opt,name=author_principal_kind,json=authorPrincipalKind,proto3" json:"author_principal_kind,omitempty"` - AuthorPrincipalStatus string `protobuf:"bytes,11,opt,name=author_principal_status,json=authorPrincipalStatus,proto3" json:"author_principal_status,omitempty"` - // Raw UUID of the plan (plans.external_id). Exposed for debug consumers. - Uuid string `protobuf:"bytes,12,opt,name=uuid,proto3" json:"uuid,omitempty"` - // Project code component of the friendly ID (e.g. "BRENT"). - ProjectCode string `protobuf:"bytes,13,opt,name=project_code,json=projectCode,proto3" json:"project_code,omitempty"` - LifecycleStage string `protobuf:"bytes,14,opt,name=lifecycle_stage,json=lifecycleStage,proto3" json:"lifecycle_stage,omitempty"` - LifecycleReason string `protobuf:"bytes,15,opt,name=lifecycle_reason,json=lifecycleReason,proto3" json:"lifecycle_reason,omitempty"` - LifecycleStageUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=lifecycle_stage_updated_at,json=lifecycleStageUpdatedAt,proto3" json:"lifecycle_stage_updated_at,omitempty"` - // Opaque external ticketing identifier for plan-ticket sync (e.g. ENG-123 - // or #42). Empty string means no external ticket link. - TicketId string `protobuf:"bytes,17,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Plan) Reset() { - *x = Plan{} - mi := &file_brent_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Plan) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Plan) ProtoMessage() {} - -func (x *Plan) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[47] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Plan.ProtoReflect.Descriptor instead. -func (*Plan) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{47} -} - -func (x *Plan) GetFriendlyId() string { - if x != nil { - return x.FriendlyId - } - return "" -} - -func (x *Plan) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *Plan) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *Plan) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -func (x *Plan) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *Plan) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *Plan) GetAuthorPrincipalId() string { - if x != nil { - return x.AuthorPrincipalId - } - return "" -} - -func (x *Plan) GetAuthorDisplayName() string { - if x != nil { - return x.AuthorDisplayName - } - return "" -} - -func (x *Plan) GetAuthorPrincipalKind() string { - if x != nil { - return x.AuthorPrincipalKind - } - return "" -} - -func (x *Plan) GetAuthorPrincipalStatus() string { - if x != nil { - return x.AuthorPrincipalStatus - } - return "" -} - -func (x *Plan) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -func (x *Plan) GetProjectCode() string { - if x != nil { - return x.ProjectCode - } - return "" -} - -func (x *Plan) GetLifecycleStage() string { - if x != nil { - return x.LifecycleStage - } - return "" -} - -func (x *Plan) GetLifecycleReason() string { - if x != nil { - return x.LifecycleReason - } - return "" -} - -func (x *Plan) GetLifecycleStageUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.LifecycleStageUpdatedAt - } - return nil -} - -func (x *Plan) GetTicketId() string { - if x != nil { - return x.TicketId - } - return "" -} - -type AdminListPrincipalsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Optional filter; "" = all tenants. - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // Optional filter: human | agent | group. - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - // Optional filter: active | shadow | tombstoned. - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` - Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` - Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListPrincipalsRequest) Reset() { - *x = AdminListPrincipalsRequest{} - mi := &file_brent_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListPrincipalsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListPrincipalsRequest) ProtoMessage() {} - -func (x *AdminListPrincipalsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[48] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListPrincipalsRequest.ProtoReflect.Descriptor instead. -func (*AdminListPrincipalsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{48} -} - -func (x *AdminListPrincipalsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminListPrincipalsRequest) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *AdminListPrincipalsRequest) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *AdminListPrincipalsRequest) GetLimit() int32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *AdminListPrincipalsRequest) GetOffset() int32 { - if x != nil { - return x.Offset - } - return 0 -} - -type AdminListPrincipalsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Principals []*Principal `protobuf:"bytes,1,rep,name=principals,proto3" json:"principals,omitempty"` - TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListPrincipalsResponse) Reset() { - *x = AdminListPrincipalsResponse{} - mi := &file_brent_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListPrincipalsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListPrincipalsResponse) ProtoMessage() {} - -func (x *AdminListPrincipalsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[49] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListPrincipalsResponse.ProtoReflect.Descriptor instead. -func (*AdminListPrincipalsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{49} -} - -func (x *AdminListPrincipalsResponse) GetPrincipals() []*Principal { - if x != nil { - return x.Principals - } - return nil -} - -func (x *AdminListPrincipalsResponse) GetTotalCount() int32 { - if x != nil { - return x.TotalCount - } - return 0 -} - -type AdminGetPrincipalRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // principals.external_id UUID. - ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetPrincipalRequest) Reset() { - *x = AdminGetPrincipalRequest{} - mi := &file_brent_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetPrincipalRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetPrincipalRequest) ProtoMessage() {} - -func (x *AdminGetPrincipalRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[50] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetPrincipalRequest.ProtoReflect.Descriptor instead. -func (*AdminGetPrincipalRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{50} -} - -func (x *AdminGetPrincipalRequest) GetExternalId() string { - if x != nil { - return x.ExternalId - } - return "" -} - -type AdminGetPrincipalResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Principal *Principal `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` - Identities []*PrincipalIdentity `protobuf:"bytes,2,rep,name=identities,proto3" json:"identities,omitempty"` - Bindings []*Binding `protobuf:"bytes,3,rep,name=bindings,proto3" json:"bindings,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetPrincipalResponse) Reset() { - *x = AdminGetPrincipalResponse{} - mi := &file_brent_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetPrincipalResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetPrincipalResponse) ProtoMessage() {} - -func (x *AdminGetPrincipalResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[51] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetPrincipalResponse.ProtoReflect.Descriptor instead. -func (*AdminGetPrincipalResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{51} -} - -func (x *AdminGetPrincipalResponse) GetPrincipal() *Principal { - if x != nil { - return x.Principal - } - return nil -} - -func (x *AdminGetPrincipalResponse) GetIdentities() []*PrincipalIdentity { - if x != nil { - return x.Identities - } - return nil -} - -func (x *AdminGetPrincipalResponse) GetBindings() []*Binding { - if x != nil { - return x.Bindings - } - return nil -} - -// PrincipalIdentity is the wire representation of a principal_identities row. -type PrincipalIdentity struct { - state protoimpl.MessageState `protogen:"open.v1"` - ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PrincipalIdentity) Reset() { - *x = PrincipalIdentity{} - mi := &file_brent_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PrincipalIdentity) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrincipalIdentity) ProtoMessage() {} - -func (x *PrincipalIdentity) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[52] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrincipalIdentity.ProtoReflect.Descriptor instead. -func (*PrincipalIdentity) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{52} -} - -func (x *PrincipalIdentity) GetExternalId() string { - if x != nil { - return x.ExternalId - } - return "" -} - -func (x *PrincipalIdentity) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *PrincipalIdentity) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *PrincipalIdentity) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -func (x *PrincipalIdentity) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *PrincipalIdentity) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -type AdminUpsertPrincipalBindingRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Handle string `protobuf:"bytes,4,opt,name=handle,proto3" json:"handle,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminUpsertPrincipalBindingRequest) Reset() { - *x = AdminUpsertPrincipalBindingRequest{} - mi := &file_brent_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminUpsertPrincipalBindingRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminUpsertPrincipalBindingRequest) ProtoMessage() {} - -func (x *AdminUpsertPrincipalBindingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[53] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminUpsertPrincipalBindingRequest.ProtoReflect.Descriptor instead. -func (*AdminUpsertPrincipalBindingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{53} -} - -func (x *AdminUpsertPrincipalBindingRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminUpsertPrincipalBindingRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *AdminUpsertPrincipalBindingRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *AdminUpsertPrincipalBindingRequest) GetHandle() string { - if x != nil { - return x.Handle - } - return "" -} - -type AdminUpsertPrincipalBindingResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Binding *Binding `protobuf:"bytes,1,opt,name=binding,proto3" json:"binding,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminUpsertPrincipalBindingResponse) Reset() { - *x = AdminUpsertPrincipalBindingResponse{} - mi := &file_brent_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminUpsertPrincipalBindingResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminUpsertPrincipalBindingResponse) ProtoMessage() {} - -func (x *AdminUpsertPrincipalBindingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[54] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminUpsertPrincipalBindingResponse.ProtoReflect.Descriptor instead. -func (*AdminUpsertPrincipalBindingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{54} -} - -func (x *AdminUpsertPrincipalBindingResponse) GetBinding() *Binding { - if x != nil { - return x.Binding - } - return nil -} - -type AdminDeletePrincipalBindingRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminDeletePrincipalBindingRequest) Reset() { - *x = AdminDeletePrincipalBindingRequest{} - mi := &file_brent_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminDeletePrincipalBindingRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminDeletePrincipalBindingRequest) ProtoMessage() {} - -func (x *AdminDeletePrincipalBindingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[55] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminDeletePrincipalBindingRequest.ProtoReflect.Descriptor instead. -func (*AdminDeletePrincipalBindingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{55} -} - -func (x *AdminDeletePrincipalBindingRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminDeletePrincipalBindingRequest) GetExternalId() string { - if x != nil { - return x.ExternalId - } - return "" -} - -type AdminDeletePrincipalBindingResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminDeletePrincipalBindingResponse) Reset() { - *x = AdminDeletePrincipalBindingResponse{} - mi := &file_brent_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminDeletePrincipalBindingResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminDeletePrincipalBindingResponse) ProtoMessage() {} - -func (x *AdminDeletePrincipalBindingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[56] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminDeletePrincipalBindingResponse.ProtoReflect.Descriptor instead. -func (*AdminDeletePrincipalBindingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{56} -} - -type AdminUpdatePrincipalRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - DisplayName *string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3,oneof" json:"display_name,omitempty"` - Status *string `protobuf:"bytes,4,opt,name=status,proto3,oneof" json:"status,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminUpdatePrincipalRequest) Reset() { - *x = AdminUpdatePrincipalRequest{} - mi := &file_brent_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminUpdatePrincipalRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminUpdatePrincipalRequest) ProtoMessage() {} - -func (x *AdminUpdatePrincipalRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[57] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminUpdatePrincipalRequest.ProtoReflect.Descriptor instead. -func (*AdminUpdatePrincipalRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{57} -} - -func (x *AdminUpdatePrincipalRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminUpdatePrincipalRequest) GetExternalId() string { - if x != nil { - return x.ExternalId - } - return "" -} - -func (x *AdminUpdatePrincipalRequest) GetDisplayName() string { - if x != nil && x.DisplayName != nil { - return *x.DisplayName - } - return "" -} - -func (x *AdminUpdatePrincipalRequest) GetStatus() string { - if x != nil && x.Status != nil { - return *x.Status - } - return "" -} - -type AdminUpdatePrincipalResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Principal *Principal `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminUpdatePrincipalResponse) Reset() { - *x = AdminUpdatePrincipalResponse{} - mi := &file_brent_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminUpdatePrincipalResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminUpdatePrincipalResponse) ProtoMessage() {} - -func (x *AdminUpdatePrincipalResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[58] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminUpdatePrincipalResponse.ProtoReflect.Descriptor instead. -func (*AdminUpdatePrincipalResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{58} -} - -func (x *AdminUpdatePrincipalResponse) GetPrincipal() *Principal { - if x != nil { - return x.Principal - } - return nil -} - -type AdminCreatePrincipalIdentityRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminCreatePrincipalIdentityRequest) Reset() { - *x = AdminCreatePrincipalIdentityRequest{} - mi := &file_brent_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminCreatePrincipalIdentityRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminCreatePrincipalIdentityRequest) ProtoMessage() {} - -func (x *AdminCreatePrincipalIdentityRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[59] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminCreatePrincipalIdentityRequest.ProtoReflect.Descriptor instead. -func (*AdminCreatePrincipalIdentityRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{59} -} - -func (x *AdminCreatePrincipalIdentityRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminCreatePrincipalIdentityRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *AdminCreatePrincipalIdentityRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *AdminCreatePrincipalIdentityRequest) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -type AdminCreatePrincipalIdentityResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Identity *PrincipalIdentity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminCreatePrincipalIdentityResponse) Reset() { - *x = AdminCreatePrincipalIdentityResponse{} - mi := &file_brent_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminCreatePrincipalIdentityResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminCreatePrincipalIdentityResponse) ProtoMessage() {} - -func (x *AdminCreatePrincipalIdentityResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[60] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminCreatePrincipalIdentityResponse.ProtoReflect.Descriptor instead. -func (*AdminCreatePrincipalIdentityResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{60} -} - -func (x *AdminCreatePrincipalIdentityResponse) GetIdentity() *PrincipalIdentity { - if x != nil { - return x.Identity - } - return nil -} - -type AdminDeletePrincipalIdentityRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminDeletePrincipalIdentityRequest) Reset() { - *x = AdminDeletePrincipalIdentityRequest{} - mi := &file_brent_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminDeletePrincipalIdentityRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminDeletePrincipalIdentityRequest) ProtoMessage() {} - -func (x *AdminDeletePrincipalIdentityRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[61] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminDeletePrincipalIdentityRequest.ProtoReflect.Descriptor instead. -func (*AdminDeletePrincipalIdentityRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{61} -} - -func (x *AdminDeletePrincipalIdentityRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminDeletePrincipalIdentityRequest) GetExternalId() string { - if x != nil { - return x.ExternalId - } - return "" -} - -type AdminDeletePrincipalIdentityResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminDeletePrincipalIdentityResponse) Reset() { - *x = AdminDeletePrincipalIdentityResponse{} - mi := &file_brent_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminDeletePrincipalIdentityResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminDeletePrincipalIdentityResponse) ProtoMessage() {} - -func (x *AdminDeletePrincipalIdentityResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[62] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminDeletePrincipalIdentityResponse.ProtoReflect.Descriptor instead. -func (*AdminDeletePrincipalIdentityResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{62} -} - -type AdminSetPrincipalCredentialRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminSetPrincipalCredentialRequest) Reset() { - *x = AdminSetPrincipalCredentialRequest{} - mi := &file_brent_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminSetPrincipalCredentialRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminSetPrincipalCredentialRequest) ProtoMessage() {} - -func (x *AdminSetPrincipalCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[63] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminSetPrincipalCredentialRequest.ProtoReflect.Descriptor instead. -func (*AdminSetPrincipalCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{63} -} - -func (x *AdminSetPrincipalCredentialRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminSetPrincipalCredentialRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *AdminSetPrincipalCredentialRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *AdminSetPrincipalCredentialRequest) GetSecret() string { - if x != nil { - return x.Secret - } - return "" -} - -type AdminSetPrincipalCredentialResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountEmail string `protobuf:"bytes,1,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"` - SecretLast4 string `protobuf:"bytes,2,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminSetPrincipalCredentialResponse) Reset() { - *x = AdminSetPrincipalCredentialResponse{} - mi := &file_brent_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminSetPrincipalCredentialResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminSetPrincipalCredentialResponse) ProtoMessage() {} - -func (x *AdminSetPrincipalCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[64] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminSetPrincipalCredentialResponse.ProtoReflect.Descriptor instead. -func (*AdminSetPrincipalCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{64} -} - -func (x *AdminSetPrincipalCredentialResponse) GetAccountEmail() string { - if x != nil { - return x.AccountEmail - } - return "" -} - -func (x *AdminSetPrincipalCredentialResponse) GetSecretLast4() string { - if x != nil { - return x.SecretLast4 - } - return "" -} - -type AdminListPrincipalCredentialConnectionsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListPrincipalCredentialConnectionsRequest) Reset() { - *x = AdminListPrincipalCredentialConnectionsRequest{} - mi := &file_brent_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListPrincipalCredentialConnectionsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListPrincipalCredentialConnectionsRequest) ProtoMessage() {} - -func (x *AdminListPrincipalCredentialConnectionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[65] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListPrincipalCredentialConnectionsRequest.ProtoReflect.Descriptor instead. -func (*AdminListPrincipalCredentialConnectionsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{65} -} - -func (x *AdminListPrincipalCredentialConnectionsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminListPrincipalCredentialConnectionsRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -type AdminListPrincipalCredentialConnectionsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Connections []*PrincipalCredentialConnection `protobuf:"bytes,1,rep,name=connections,proto3" json:"connections,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListPrincipalCredentialConnectionsResponse) Reset() { - *x = AdminListPrincipalCredentialConnectionsResponse{} - mi := &file_brent_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListPrincipalCredentialConnectionsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListPrincipalCredentialConnectionsResponse) ProtoMessage() {} - -func (x *AdminListPrincipalCredentialConnectionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[66] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListPrincipalCredentialConnectionsResponse.ProtoReflect.Descriptor instead. -func (*AdminListPrincipalCredentialConnectionsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{66} -} - -func (x *AdminListPrincipalCredentialConnectionsResponse) GetConnections() []*PrincipalCredentialConnection { - if x != nil { - return x.Connections - } - return nil -} - -type PrincipalCredentialConnection struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` - Connected bool `protobuf:"varint,3,opt,name=connected,proto3" json:"connected,omitempty"` - AccountEmail string `protobuf:"bytes,4,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"` - SecretLast4 string `protobuf:"bytes,5,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` - LastValidatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_validated_at,json=lastValidatedAt,proto3" json:"last_validated_at,omitempty"` - UpdatedBy string `protobuf:"bytes,7,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` - AccountName string `protobuf:"bytes,8,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PrincipalCredentialConnection) Reset() { - *x = PrincipalCredentialConnection{} - mi := &file_brent_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PrincipalCredentialConnection) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrincipalCredentialConnection) ProtoMessage() {} - -func (x *PrincipalCredentialConnection) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[67] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrincipalCredentialConnection.ProtoReflect.Descriptor instead. -func (*PrincipalCredentialConnection) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{67} -} - -func (x *PrincipalCredentialConnection) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *PrincipalCredentialConnection) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *PrincipalCredentialConnection) GetConnected() bool { - if x != nil { - return x.Connected - } - return false -} - -func (x *PrincipalCredentialConnection) GetAccountEmail() string { - if x != nil { - return x.AccountEmail - } - return "" -} - -func (x *PrincipalCredentialConnection) GetSecretLast4() string { - if x != nil { - return x.SecretLast4 - } - return "" -} - -func (x *PrincipalCredentialConnection) GetLastValidatedAt() *timestamppb.Timestamp { - if x != nil { - return x.LastValidatedAt - } - return nil -} - -func (x *PrincipalCredentialConnection) GetUpdatedBy() string { - if x != nil { - return x.UpdatedBy - } - return "" -} - -func (x *PrincipalCredentialConnection) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type AdminDeletePrincipalCredentialRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminDeletePrincipalCredentialRequest) Reset() { - *x = AdminDeletePrincipalCredentialRequest{} - mi := &file_brent_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminDeletePrincipalCredentialRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminDeletePrincipalCredentialRequest) ProtoMessage() {} - -func (x *AdminDeletePrincipalCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[68] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminDeletePrincipalCredentialRequest.ProtoReflect.Descriptor instead. -func (*AdminDeletePrincipalCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{68} -} - -func (x *AdminDeletePrincipalCredentialRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminDeletePrincipalCredentialRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *AdminDeletePrincipalCredentialRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -type AdminDeletePrincipalCredentialResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminDeletePrincipalCredentialResponse) Reset() { - *x = AdminDeletePrincipalCredentialResponse{} - mi := &file_brent_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminDeletePrincipalCredentialResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminDeletePrincipalCredentialResponse) ProtoMessage() {} - -func (x *AdminDeletePrincipalCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[69] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminDeletePrincipalCredentialResponse.ProtoReflect.Descriptor instead. -func (*AdminDeletePrincipalCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{69} -} - -type AdminListReviewsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Empty string = all accounts (cross-tenant admin listing). - // When set, return only reviews for that account_name. - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListReviewsRequest) Reset() { - *x = AdminListReviewsRequest{} - mi := &file_brent_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListReviewsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListReviewsRequest) ProtoMessage() {} - -func (x *AdminListReviewsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[70] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListReviewsRequest.ProtoReflect.Descriptor instead. -func (*AdminListReviewsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{70} -} - -func (x *AdminListReviewsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type AdminListReviewsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Reviews []*ReviewSummary `protobuf:"bytes,1,rep,name=reviews,proto3" json:"reviews,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListReviewsResponse) Reset() { - *x = AdminListReviewsResponse{} - mi := &file_brent_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListReviewsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListReviewsResponse) ProtoMessage() {} - -func (x *AdminListReviewsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[71] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListReviewsResponse.ProtoReflect.Descriptor instead. -func (*AdminListReviewsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{71} -} - -func (x *AdminListReviewsResponse) GetReviews() []*ReviewSummary { - if x != nil { - return x.Reviews - } - return nil -} - -// ReviewSummary is the projection used by both the reviews list view and -// AdminGetPlanResponse.related_reviews. It carries enough columns to render a -// row and link to the detail page; verdict_comment lives on the full -// Review message returned from AdminGetReview. -type ReviewSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Friendly identifier of the parent plan (e.g. BRENT-42). - PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // pending | approved | rejected | cancelled. Mirrors reviews.Review.Status. - Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - RequestedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` - // Set when the review transitions to approved / rejected. Unset for - // pending and cancelled reviews. - DecidedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=decided_at,json=decidedAt,proto3,oneof" json:"decided_at,omitempty"` - // Plan reference (plans.external_id). For brent-area51 navigation only. - // plan_friendly_id (field 2) remains the plan identifier (friendly ID) for display. - PlanUuid string `protobuf:"bytes,16,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Stable principal_id UUID (string form) of the assigned reviewer. - ReviewerPrincipalId string `protobuf:"bytes,17,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - ReviewerDisplayName string `protobuf:"bytes,18,opt,name=reviewer_display_name,json=reviewerDisplayName,proto3" json:"reviewer_display_name,omitempty"` - ReviewerPrincipalKind string `protobuf:"bytes,19,opt,name=reviewer_principal_kind,json=reviewerPrincipalKind,proto3" json:"reviewer_principal_kind,omitempty"` - ReviewerPrincipalStatus string `protobuf:"bytes,20,opt,name=reviewer_principal_status,json=reviewerPrincipalStatus,proto3" json:"reviewer_principal_status,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReviewSummary) Reset() { - *x = ReviewSummary{} - mi := &file_brent_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReviewSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReviewSummary) ProtoMessage() {} - -func (x *ReviewSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[72] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReviewSummary.ProtoReflect.Descriptor instead. -func (*ReviewSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{72} -} - -func (x *ReviewSummary) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *ReviewSummary) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *ReviewSummary) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *ReviewSummary) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *ReviewSummary) GetRequestedAt() *timestamppb.Timestamp { - if x != nil { - return x.RequestedAt - } - return nil -} - -func (x *ReviewSummary) GetDecidedAt() *timestamppb.Timestamp { - if x != nil { - return x.DecidedAt - } - return nil -} - -func (x *ReviewSummary) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *ReviewSummary) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -func (x *ReviewSummary) GetReviewerDisplayName() string { - if x != nil { - return x.ReviewerDisplayName - } - return "" -} - -func (x *ReviewSummary) GetReviewerPrincipalKind() string { - if x != nil { - return x.ReviewerPrincipalKind - } - return "" -} - -func (x *ReviewSummary) GetReviewerPrincipalStatus() string { - if x != nil { - return x.ReviewerPrincipalStatus - } - return "" -} - -type AdminGetReviewRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // UUID of the review to fetch. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetReviewRequest) Reset() { - *x = AdminGetReviewRequest{} - mi := &file_brent_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetReviewRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetReviewRequest) ProtoMessage() {} - -func (x *AdminGetReviewRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[73] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetReviewRequest.ProtoReflect.Descriptor instead. -func (*AdminGetReviewRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{73} -} - -func (x *AdminGetReviewRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type AdminGetReviewResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Full review including verdict_comment. - Review *Review `protobuf:"bytes,1,opt,name=review,proto3" json:"review,omitempty"` - // Summary of the parent plan. Unset only when the parent plan has been - // hard-deleted (not expected today; kept optional so orphaned reviews - // remain debuggable). - Plan *PlanSummary `protobuf:"bytes,2,opt,name=plan,proto3,oneof" json:"plan,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetReviewResponse) Reset() { - *x = AdminGetReviewResponse{} - mi := &file_brent_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetReviewResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetReviewResponse) ProtoMessage() {} - -func (x *AdminGetReviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[74] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetReviewResponse.ProtoReflect.Descriptor instead. -func (*AdminGetReviewResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{74} -} - -func (x *AdminGetReviewResponse) GetReview() *Review { - if x != nil { - return x.Review - } - return nil -} - -func (x *AdminGetReviewResponse) GetPlan() *PlanSummary { - if x != nil { - return x.Plan - } - return nil -} - -// Review is the full review aggregate as the debug UI consumes it. Mirrors -// services/brent-backend/reviews.Review. The verdict_comment is the diff -// versus ReviewSummary; that field is only ever populated by SubmitReview. -type Review struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - VerdictComment string `protobuf:"bytes,6,opt,name=verdict_comment,json=verdictComment,proto3" json:"verdict_comment,omitempty"` - RequestedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` - DecidedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=decided_at,json=decidedAt,proto3,oneof" json:"decided_at,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Stable principal_id UUID (string form) of the assigned reviewer. - ReviewerPrincipalId string `protobuf:"bytes,19,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - ReviewerDisplayName string `protobuf:"bytes,20,opt,name=reviewer_display_name,json=reviewerDisplayName,proto3" json:"reviewer_display_name,omitempty"` - ReviewerPrincipalKind string `protobuf:"bytes,21,opt,name=reviewer_principal_kind,json=reviewerPrincipalKind,proto3" json:"reviewer_principal_kind,omitempty"` - ReviewerPrincipalStatus string `protobuf:"bytes,22,opt,name=reviewer_principal_status,json=reviewerPrincipalStatus,proto3" json:"reviewer_principal_status,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Review) Reset() { - *x = Review{} - mi := &file_brent_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Review) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Review) ProtoMessage() {} - -func (x *Review) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[75] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Review.ProtoReflect.Descriptor instead. -func (*Review) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{75} -} - -func (x *Review) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Review) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *Review) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *Review) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *Review) GetVerdictComment() string { - if x != nil { - return x.VerdictComment - } - return "" -} - -func (x *Review) GetRequestedAt() *timestamppb.Timestamp { - if x != nil { - return x.RequestedAt - } - return nil -} - -func (x *Review) GetDecidedAt() *timestamppb.Timestamp { - if x != nil { - return x.DecidedAt - } - return nil -} - -func (x *Review) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *Review) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *Review) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -func (x *Review) GetReviewerDisplayName() string { - if x != nil { - return x.ReviewerDisplayName - } - return "" -} - -func (x *Review) GetReviewerPrincipalKind() string { - if x != nil { - return x.ReviewerPrincipalKind - } - return "" -} - -func (x *Review) GetReviewerPrincipalStatus() string { - if x != nil { - return x.ReviewerPrincipalStatus - } - return "" -} - -// AccountSummary represents a single tenant in the accounts list view. -type AccountSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Raw account_name UUID string (workspace_id). - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // GitHub org login(s) connected to this account (external_workspace_id - // for provider = 'github'). Empty slice when no GitHub install recorded. - GithubOrgs []string `protobuf:"bytes,2,rep,name=github_orgs,json=githubOrgs,proto3" json:"github_orgs,omitempty"` - // Human-readable workspace slug from the workspaces table. - Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` - // Human-readable workspace display name from the workspaces table. - DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AccountSummary) Reset() { - *x = AccountSummary{} - mi := &file_brent_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AccountSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountSummary) ProtoMessage() {} - -func (x *AccountSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[76] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountSummary.ProtoReflect.Descriptor instead. -func (*AccountSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{76} -} - -func (x *AccountSummary) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AccountSummary) GetGithubOrgs() []string { - if x != nil { - return x.GithubOrgs - } - return nil -} - -func (x *AccountSummary) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *AccountSummary) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -type AdminListAccountsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Accounts []*AccountSummary `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListAccountsResponse) Reset() { - *x = AdminListAccountsResponse{} - mi := &file_brent_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListAccountsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListAccountsResponse) ProtoMessage() {} - -func (x *AdminListAccountsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[77] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListAccountsResponse.ProtoReflect.Descriptor instead. -func (*AdminListAccountsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{77} -} - -func (x *AdminListAccountsResponse) GetAccounts() []*AccountSummary { - if x != nil { - return x.Accounts - } - return nil -} - -// AdminGetAccountSummaryRequest selects the account whose activity summary -// is requested. account_name is the raw UUID string as listed by -// AdminListAccounts. -type AdminGetAccountSummaryRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountSummaryRequest) Reset() { - *x = AdminGetAccountSummaryRequest{} - mi := &file_brent_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountSummaryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountSummaryRequest) ProtoMessage() {} - -func (x *AdminGetAccountSummaryRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[78] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountSummaryRequest.ProtoReflect.Descriptor instead. -func (*AdminGetAccountSummaryRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{78} -} - -func (x *AdminGetAccountSummaryRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -// AccountRunSummary is one row in the recent-activity list on the account -// detail page. -type AccountRunSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - // workflow_runs.external_id (UUID string); links to the run detail view. - LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - // Human-readable workflow run name. - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // Run status: pending / running / completed / failed / cancelled. - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` - // When the run started (falls back to created_at when never started). - StartedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AccountRunSummary) Reset() { - *x = AccountRunSummary{} - mi := &file_brent_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AccountRunSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountRunSummary) ProtoMessage() {} - -func (x *AccountRunSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[79] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountRunSummary.ProtoReflect.Descriptor instead. -func (*AccountRunSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{79} -} - -func (x *AccountRunSummary) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *AccountRunSummary) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AccountRunSummary) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *AccountRunSummary) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -// AdminGetAccountSummaryResponse is the activity overview for one account. -// All counts are all-time unless noted. Integration booleans reflect whether -// an organisation_app_installations row exists for that provider. -type AdminGetAccountSummaryResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // GitHub org login(s) connected to this account. - GithubOrgs []string `protobuf:"bytes,2,rep,name=github_orgs,json=githubOrgs,proto3" json:"github_orgs,omitempty"` - SlackConnected bool `protobuf:"varint,3,opt,name=slack_connected,json=slackConnected,proto3" json:"slack_connected,omitempty"` - LinearConnected bool `protobuf:"varint,4,opt,name=linear_connected,json=linearConnected,proto3" json:"linear_connected,omitempty"` - PlanCount int64 `protobuf:"varint,5,opt,name=plan_count,json=planCount,proto3" json:"plan_count,omitempty"` - ReviewCount int64 `protobuf:"varint,6,opt,name=review_count,json=reviewCount,proto3" json:"review_count,omitempty"` - LoopRunCount int64 `protobuf:"varint,7,opt,name=loop_run_count,json=loopRunCount,proto3" json:"loop_run_count,omitempty"` - // Subset of workflow_run_count whose status is 'failed'. - LoopRunErrorCount int64 `protobuf:"varint,8,opt,name=loop_run_error_count,json=loopRunErrorCount,proto3" json:"loop_run_error_count,omitempty"` - PrCount int64 `protobuf:"varint,9,opt,name=pr_count,json=prCount,proto3" json:"pr_count,omitempty"` - // Most recent activity across the account's runs, plans, reviews, and PRs, - // collapsed to the latest workflow-run timestamp. Null when there has been - // no activity at all. - LastActiveAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=last_active_at,json=lastActiveAt,proto3" json:"last_active_at,omitempty"` - // The most recent workflow runs, newest first (capped server-side). - RecentRuns []*AccountRunSummary `protobuf:"bytes,12,rep,name=recent_runs,json=recentRuns,proto3" json:"recent_runs,omitempty"` - // Human-readable workspace slug from the workspaces table. - Slug string `protobuf:"bytes,13,opt,name=slug,proto3" json:"slug,omitempty"` - // Human-readable workspace display name from the workspaces table. - DisplayName string `protobuf:"bytes,14,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountSummaryResponse) Reset() { - *x = AdminGetAccountSummaryResponse{} - mi := &file_brent_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountSummaryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountSummaryResponse) ProtoMessage() {} - -func (x *AdminGetAccountSummaryResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[80] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountSummaryResponse.ProtoReflect.Descriptor instead. -func (*AdminGetAccountSummaryResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{80} -} - -func (x *AdminGetAccountSummaryResponse) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminGetAccountSummaryResponse) GetGithubOrgs() []string { - if x != nil { - return x.GithubOrgs - } - return nil -} - -func (x *AdminGetAccountSummaryResponse) GetSlackConnected() bool { - if x != nil { - return x.SlackConnected - } - return false -} - -func (x *AdminGetAccountSummaryResponse) GetLinearConnected() bool { - if x != nil { - return x.LinearConnected - } - return false -} - -func (x *AdminGetAccountSummaryResponse) GetPlanCount() int64 { - if x != nil { - return x.PlanCount - } - return 0 -} - -func (x *AdminGetAccountSummaryResponse) GetReviewCount() int64 { - if x != nil { - return x.ReviewCount - } - return 0 -} - -func (x *AdminGetAccountSummaryResponse) GetLoopRunCount() int64 { - if x != nil { - return x.LoopRunCount - } - return 0 -} - -func (x *AdminGetAccountSummaryResponse) GetLoopRunErrorCount() int64 { - if x != nil { - return x.LoopRunErrorCount - } - return 0 -} - -func (x *AdminGetAccountSummaryResponse) GetPrCount() int64 { - if x != nil { - return x.PrCount - } - return 0 -} - -func (x *AdminGetAccountSummaryResponse) GetLastActiveAt() *timestamppb.Timestamp { - if x != nil { - return x.LastActiveAt - } - return nil -} - -func (x *AdminGetAccountSummaryResponse) GetRecentRuns() []*AccountRunSummary { - if x != nil { - return x.RecentRuns - } - return nil -} - -func (x *AdminGetAccountSummaryResponse) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *AdminGetAccountSummaryResponse) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -// AdminGetAccountHealthAnalysisRequest selects the account to analyse. -type AdminGetAccountHealthAnalysisRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountHealthAnalysisRequest) Reset() { - *x = AdminGetAccountHealthAnalysisRequest{} - mi := &file_brent_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountHealthAnalysisRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountHealthAnalysisRequest) ProtoMessage() {} - -func (x *AdminGetAccountHealthAnalysisRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[81] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountHealthAnalysisRequest.ProtoReflect.Descriptor instead. -func (*AdminGetAccountHealthAnalysisRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{81} -} - -func (x *AdminGetAccountHealthAnalysisRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -// AccountHealthFinding is one heuristic observation about how an account is -// using Until. Internal-only operator coaching signal. -type AccountHealthFinding struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Severity bucket: "warning" (likely a problem) or "info" (worth noting). - Severity string `protobuf:"bytes,1,opt,name=severity,proto3" json:"severity,omitempty"` - // Short headline, e.g. "Pull requests skipping plans". - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - // Plain-language explanation an operator can act on. - Detail string `protobuf:"bytes,3,opt,name=detail,proto3" json:"detail,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AccountHealthFinding) Reset() { - *x = AccountHealthFinding{} - mi := &file_brent_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AccountHealthFinding) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountHealthFinding) ProtoMessage() {} - -func (x *AccountHealthFinding) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[82] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountHealthFinding.ProtoReflect.Descriptor instead. -func (*AccountHealthFinding) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{82} -} - -func (x *AccountHealthFinding) GetSeverity() string { - if x != nil { - return x.Severity - } - return "" -} - -func (x *AccountHealthFinding) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *AccountHealthFinding) GetDetail() string { - if x != nil { - return x.Detail - } - return "" -} - -// AdminGetAccountHealthAnalysisResponse carries the heuristic findings. An -// empty findings list means no issues were detected. -type AdminGetAccountHealthAnalysisResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Findings []*AccountHealthFinding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"` - // When this analysis was computed (server clock at call time). - ComputedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=computed_at,json=computedAt,proto3" json:"computed_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountHealthAnalysisResponse) Reset() { - *x = AdminGetAccountHealthAnalysisResponse{} - mi := &file_brent_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountHealthAnalysisResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountHealthAnalysisResponse) ProtoMessage() {} - -func (x *AdminGetAccountHealthAnalysisResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[83] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountHealthAnalysisResponse.ProtoReflect.Descriptor instead. -func (*AdminGetAccountHealthAnalysisResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{83} -} - -func (x *AdminGetAccountHealthAnalysisResponse) GetFindings() []*AccountHealthFinding { - if x != nil { - return x.Findings - } - return nil -} - -func (x *AdminGetAccountHealthAnalysisResponse) GetComputedAt() *timestamppb.Timestamp { - if x != nil { - return x.ComputedAt - } - return nil -} - -type AdminListAccountMetricReposRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListAccountMetricReposRequest) Reset() { - *x = AdminListAccountMetricReposRequest{} - mi := &file_brent_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListAccountMetricReposRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListAccountMetricReposRequest) ProtoMessage() {} - -func (x *AdminListAccountMetricReposRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[84] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListAccountMetricReposRequest.ProtoReflect.Descriptor instead. -func (*AdminListAccountMetricReposRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{84} -} - -func (x *AdminListAccountMetricReposRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type AccountMetricRepo struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Full repository name, e.g. overmindtech/workspace. - FullName string `protobuf:"bytes,1,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"` - Archived bool `protobuf:"varint,2,opt,name=archived,proto3" json:"archived,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AccountMetricRepo) Reset() { - *x = AccountMetricRepo{} - mi := &file_brent_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AccountMetricRepo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountMetricRepo) ProtoMessage() {} - -func (x *AccountMetricRepo) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[85] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountMetricRepo.ProtoReflect.Descriptor instead. -func (*AccountMetricRepo) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{85} -} - -func (x *AccountMetricRepo) GetFullName() string { - if x != nil { - return x.FullName - } - return "" -} - -func (x *AccountMetricRepo) GetArchived() bool { - if x != nil { - return x.Archived - } - return false -} - -type AdminListAccountMetricReposResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Repos []*AccountMetricRepo `protobuf:"bytes,1,rep,name=repos,proto3" json:"repos,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListAccountMetricReposResponse) Reset() { - *x = AdminListAccountMetricReposResponse{} - mi := &file_brent_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListAccountMetricReposResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListAccountMetricReposResponse) ProtoMessage() {} - -func (x *AdminListAccountMetricReposResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[86] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListAccountMetricReposResponse.ProtoReflect.Descriptor instead. -func (*AdminListAccountMetricReposResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{86} -} - -func (x *AdminListAccountMetricReposResponse) GetRepos() []*AccountMetricRepo { - if x != nil { - return x.Repos - } - return nil -} - -type AdminStartAccountMetricsComparisonRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - BeforeStart *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=before_start,json=beforeStart,proto3" json:"before_start,omitempty"` - BeforeEnd *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=before_end,json=beforeEnd,proto3" json:"before_end,omitempty"` - AfterStart *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=after_start,json=afterStart,proto3" json:"after_start,omitempty"` - AfterEnd *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=after_end,json=afterEnd,proto3" json:"after_end,omitempty"` - // Optional Linear team name. When empty, or when Linear is unavailable, the - // run continues GitHub-only and surfaces the reason in linear_status_detail. - LinearTeamName string `protobuf:"bytes,7,opt,name=linear_team_name,json=linearTeamName,proto3" json:"linear_team_name,omitempty"` - ComparisonMode MetricsComparisonMode `protobuf:"varint,8,opt,name=comparison_mode,json=comparisonMode,proto3,enum=until.MetricsComparisonMode" json:"comparison_mode,omitempty"` - PlannedUnplannedStart *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=planned_unplanned_start,json=plannedUnplannedStart,proto3" json:"planned_unplanned_start,omitempty"` - PlannedUnplannedEnd *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=planned_unplanned_end,json=plannedUnplannedEnd,proto3" json:"planned_unplanned_end,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminStartAccountMetricsComparisonRequest) Reset() { - *x = AdminStartAccountMetricsComparisonRequest{} - mi := &file_brent_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminStartAccountMetricsComparisonRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminStartAccountMetricsComparisonRequest) ProtoMessage() {} - -func (x *AdminStartAccountMetricsComparisonRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[87] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminStartAccountMetricsComparisonRequest.ProtoReflect.Descriptor instead. -func (*AdminStartAccountMetricsComparisonRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{87} -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetBeforeStart() *timestamppb.Timestamp { - if x != nil { - return x.BeforeStart - } - return nil -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetBeforeEnd() *timestamppb.Timestamp { - if x != nil { - return x.BeforeEnd - } - return nil -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetAfterStart() *timestamppb.Timestamp { - if x != nil { - return x.AfterStart - } - return nil -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetAfterEnd() *timestamppb.Timestamp { - if x != nil { - return x.AfterEnd - } - return nil -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetLinearTeamName() string { - if x != nil { - return x.LinearTeamName - } - return "" -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetComparisonMode() MetricsComparisonMode { - if x != nil { - return x.ComparisonMode - } - return MetricsComparisonMode_METRICS_COMPARISON_MODE_UNSPECIFIED -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetPlannedUnplannedStart() *timestamppb.Timestamp { - if x != nil { - return x.PlannedUnplannedStart - } - return nil -} - -func (x *AdminStartAccountMetricsComparisonRequest) GetPlannedUnplannedEnd() *timestamppb.Timestamp { - if x != nil { - return x.PlannedUnplannedEnd - } - return nil -} - -type AdminStartAccountMetricsComparisonResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminStartAccountMetricsComparisonResponse) Reset() { - *x = AdminStartAccountMetricsComparisonResponse{} - mi := &file_brent_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminStartAccountMetricsComparisonResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminStartAccountMetricsComparisonResponse) ProtoMessage() {} - -func (x *AdminStartAccountMetricsComparisonResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[88] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminStartAccountMetricsComparisonResponse.ProtoReflect.Descriptor instead. -func (*AdminStartAccountMetricsComparisonResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{88} -} - -func (x *AdminStartAccountMetricsComparisonResponse) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -type AdminGetAccountMetricsComparisonRunRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountMetricsComparisonRunRequest) Reset() { - *x = AdminGetAccountMetricsComparisonRunRequest{} - mi := &file_brent_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountMetricsComparisonRunRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountMetricsComparisonRunRequest) ProtoMessage() {} - -func (x *AdminGetAccountMetricsComparisonRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[89] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountMetricsComparisonRunRequest.ProtoReflect.Descriptor instead. -func (*AdminGetAccountMetricsComparisonRunRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{89} -} - -func (x *AdminGetAccountMetricsComparisonRunRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunRequest) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -type MetricsComparisonHeadline struct { - state protoimpl.MessageState `protogen:"open.v1"` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Before float64 `protobuf:"fixed64,2,opt,name=before,proto3" json:"before,omitempty"` - After float64 `protobuf:"fixed64,3,opt,name=after,proto3" json:"after,omitempty"` - Fold string `protobuf:"bytes,4,opt,name=fold,proto3" json:"fold,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *MetricsComparisonHeadline) Reset() { - *x = MetricsComparisonHeadline{} - mi := &file_brent_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *MetricsComparisonHeadline) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MetricsComparisonHeadline) ProtoMessage() {} - -func (x *MetricsComparisonHeadline) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[90] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MetricsComparisonHeadline.ProtoReflect.Descriptor instead. -func (*MetricsComparisonHeadline) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{90} -} - -func (x *MetricsComparisonHeadline) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *MetricsComparisonHeadline) GetBefore() float64 { - if x != nil { - return x.Before - } - return 0 -} - -func (x *MetricsComparisonHeadline) GetAfter() float64 { - if x != nil { - return x.After - } - return 0 -} - -func (x *MetricsComparisonHeadline) GetFold() string { - if x != nil { - return x.Fold - } - return "" -} - -// MetricsComparisonArtifact is one in-memory output from a completed account -// metrics comparison run. Names are part of the operator contract: -// before/after emits plan-left-story.html, classic-report.html, and -// comparison.json; planned-vs-unplanned emits planned-vs-unplanned-report.html -// and comparison.json. -type MetricsComparisonArtifact struct { - state protoimpl.MessageState `protogen:"open.v1"` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` - // Full artifact payload. Metrics comparison runs are temporary and keep this - // content in process memory until the run expires. - Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *MetricsComparisonArtifact) Reset() { - *x = MetricsComparisonArtifact{} - mi := &file_brent_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *MetricsComparisonArtifact) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MetricsComparisonArtifact) ProtoMessage() {} - -func (x *MetricsComparisonArtifact) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[91] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MetricsComparisonArtifact.ProtoReflect.Descriptor instead. -func (*MetricsComparisonArtifact) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{91} -} - -func (x *MetricsComparisonArtifact) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *MetricsComparisonArtifact) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *MetricsComparisonArtifact) GetMimeType() string { - if x != nil { - return x.MimeType - } - return "" -} - -func (x *MetricsComparisonArtifact) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -type AdminGetAccountMetricsComparisonRunResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - Stage string `protobuf:"bytes,3,opt,name=stage,proto3" json:"stage,omitempty"` - ProgressPercent int32 `protobuf:"varint,4,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"` - Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` - RepoFullName string `protobuf:"bytes,6,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - LinearStatus string `protobuf:"bytes,7,opt,name=linear_status,json=linearStatus,proto3" json:"linear_status,omitempty"` - LinearStatusDetail string `protobuf:"bytes,8,opt,name=linear_status_detail,json=linearStatusDetail,proto3" json:"linear_status_detail,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` - ReportHtml string `protobuf:"bytes,11,opt,name=report_html,json=reportHtml,proto3" json:"report_html,omitempty"` - Headline []*MetricsComparisonHeadline `protobuf:"bytes,12,rep,name=headline,proto3" json:"headline,omitempty"` - BeforeStart *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=before_start,json=beforeStart,proto3" json:"before_start,omitempty"` - BeforeEnd *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=before_end,json=beforeEnd,proto3" json:"before_end,omitempty"` - AfterStart *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=after_start,json=afterStart,proto3" json:"after_start,omitempty"` - AfterEnd *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=after_end,json=afterEnd,proto3" json:"after_end,omitempty"` - // JSON-encoded metricscompare.ComparisonBundle for operators who need the - // full structured result behind the rendered report. - ComparisonJson string `protobuf:"bytes,17,opt,name=comparison_json,json=comparisonJson,proto3" json:"comparison_json,omitempty"` - // Generated outputs from the same lookup/fetch pass. `report_html` remains - // the primary HTML report for compatibility; artifacts contains the - // mode-specific HTML report(s) plus structured JSON evidence. - Artifacts []*MetricsComparisonArtifact `protobuf:"bytes,18,rep,name=artifacts,proto3" json:"artifacts,omitempty"` - ComparisonMode MetricsComparisonMode `protobuf:"varint,19,opt,name=comparison_mode,json=comparisonMode,proto3,enum=until.MetricsComparisonMode" json:"comparison_mode,omitempty"` - PlannedUnplannedStart *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=planned_unplanned_start,json=plannedUnplannedStart,proto3" json:"planned_unplanned_start,omitempty"` - PlannedUnplannedEnd *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=planned_unplanned_end,json=plannedUnplannedEnd,proto3" json:"planned_unplanned_end,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) Reset() { - *x = AdminGetAccountMetricsComparisonRunResponse{} - mi := &file_brent_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountMetricsComparisonRunResponse) ProtoMessage() {} - -func (x *AdminGetAccountMetricsComparisonRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[92] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountMetricsComparisonRunResponse.ProtoReflect.Descriptor instead. -func (*AdminGetAccountMetricsComparisonRunResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{92} -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetStage() string { - if x != nil { - return x.Stage - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetProgressPercent() int32 { - if x != nil { - return x.ProgressPercent - } - return 0 -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetError() string { - if x != nil { - return x.Error - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetLinearStatus() string { - if x != nil { - return x.LinearStatus - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetLinearStatusDetail() string { - if x != nil { - return x.LinearStatusDetail - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetCompletedAt() *timestamppb.Timestamp { - if x != nil { - return x.CompletedAt - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetReportHtml() string { - if x != nil { - return x.ReportHtml - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetHeadline() []*MetricsComparisonHeadline { - if x != nil { - return x.Headline - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetBeforeStart() *timestamppb.Timestamp { - if x != nil { - return x.BeforeStart - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetBeforeEnd() *timestamppb.Timestamp { - if x != nil { - return x.BeforeEnd - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetAfterStart() *timestamppb.Timestamp { - if x != nil { - return x.AfterStart - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetAfterEnd() *timestamppb.Timestamp { - if x != nil { - return x.AfterEnd - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetComparisonJson() string { - if x != nil { - return x.ComparisonJson - } - return "" -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetArtifacts() []*MetricsComparisonArtifact { - if x != nil { - return x.Artifacts - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetComparisonMode() MetricsComparisonMode { - if x != nil { - return x.ComparisonMode - } - return MetricsComparisonMode_METRICS_COMPARISON_MODE_UNSPECIFIED -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetPlannedUnplannedStart() *timestamppb.Timestamp { - if x != nil { - return x.PlannedUnplannedStart - } - return nil -} - -func (x *AdminGetAccountMetricsComparisonRunResponse) GetPlannedUnplannedEnd() *timestamppb.Timestamp { - if x != nil { - return x.PlannedUnplannedEnd - } - return nil -} - -// Event is the typed in-memory dispatch envelope. -type Event struct { - state protoimpl.MessageState `protogen:"open.v1"` - // event_id is a UUID assigned by the producer at WriteEvent time. - // Used for OTel span attributes and log correlation across the - // producer transaction and the synchronous Listener call. Not - // persisted in mandatory scope. - EventId string `protobuf:"bytes,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` - // Domain time when the underlying action occurred in the source system - // (e.g. GitHub submitted_at, Linear webhookTimestamp). Replay and audit - // ordering use this field. When unset at write time, Brent sets it to - // received_at (internal events). - OccurredAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` - // The owning tenant. The workflows.Enqueuer's per-account SELECT - // on the workflows table keys off this. Required on every Event. - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // Who or what caused the event to occur. - Actor *Actor `protobuf:"bytes,4,opt,name=actor,proto3" json:"actor,omitempty"` - // The domain object the event is about. Optional because some events - // (e.g. raw GitHub webhooks not yet attached to a Brent object) are - // not bound to a specific Brent domain object. - Object *ObjectReference `protobuf:"bytes,5,opt,name=object,proto3,oneof" json:"object,omitempty"` - // ENG-4919: the repository this event is about, as a canonical full URL - // (https://github.com/owner/repo). Empty = no repo affinity (account-wide). - SourceRepoUrl *string `protobuf:"bytes,6,opt,name=source_repo_url,json=sourceRepoUrl,proto3,oneof" json:"source_repo_url,omitempty"` - // ENG-5296: W3C trace correlation stamped from the active span at AdminWriteEvent. - TraceId *string `protobuf:"bytes,7,opt,name=trace_id,json=traceId,proto3,oneof" json:"trace_id,omitempty"` - SpanId *string `protobuf:"bytes,8,opt,name=span_id,json=spanId,proto3,oneof" json:"span_id,omitempty"` - // Operator-only Honeycomb direct-trace URL built at write time for Area51. - HoneycombTraceUrl *string `protobuf:"bytes,9,opt,name=honeycomb_trace_url,json=honeycombTraceUrl,proto3,oneof" json:"honeycomb_trace_url,omitempty"` - // Brent ingest time — when AdminWriteEvent accepted the event. Always set - // to wall-clock now at write time. Field 72 (not 7) because ENG-5296 trace - // correlation occupies 7–9 on the same message. - ReceivedAt *timestamppb.Timestamp `protobuf:"bytes,72,opt,name=received_at,json=receivedAt,proto3" json:"received_at,omitempty"` - // The event-specific payload. The proto message name of the populated - // variant doubles as the event type that workflows match on (e.g. - // `on: PlanCreated` or `on: OtherEvent` in workflow YAML front matter). - // - // Types that are valid to be assigned to Payload: - // - // *Event_PlanCreated - // *Event_PlanUpdated - // *Event_PlanDeleted - // *Event_ReviewRequested - // *Event_ReviewSubmitted - // *Event_Other - // *Event_GithubWebhook - // *Event_SlackMention - // *Event_SlackReaction - // *Event_PullRequestOpened - // *Event_PullRequestSynchronized - // *Event_PullRequestUpdated - // *Event_PullRequestClosed - // *Event_PullRequestLinkedToPlan - // *Event_PullRequestUnlinkedFromPlan - // *Event_OrganisationAppInstallationUpserted - // *Event_OrganisationAppInstallationDeleted - // *Event_PlanCheckStarted - // *Event_PlanCheckCompleted - // *Event_PlanCheckFailed - // *Event_LoopRunQueued - // *Event_LoopRunStarted - // *Event_LoopRunCompleted - // *Event_LoopRunFailed - // *Event_LoopRunCancelled - // *Event_ReviewNoEligibleReviewer - // *Event_PrincipalCreated - // *Event_PrincipalUpdated - // *Event_PrincipalTombstoned - // *Event_IdentityCreated - // *Event_IdentityDeleted - // *Event_BindingCreated - // *Event_BindingUpdated - // *Event_BindingDeleted - // *Event_ReviewDriveByStarted - // *Event_SlackWebhook - // *Event_ReviewDeleted - // *Event_PlanRestored - // *Event_LinearWebhook - // *Event_PullRequestCommentCreated - // *Event_PlanDifferenceRecorded - // *Event_PlanDifferenceUpdated - // *Event_PlanDifferenceResolved - // *Event_AgentRunDispatched - // *Event_AgentRunStarted - // *Event_AgentRunPullRequestMatched - // *Event_AgentRunFlaggedNeedsYou - // *Event_AgentRunMerged - // *Event_AgentRunDeclined - // *Event_AgentRunCancelled - // *Event_AgentRunGatePassed - // *Event_PullRequestLinkedToAgentRun - // *Event_LoopIngested - // *Event_PullRequestReviewRequested - // *Event_PullRequestApproved - // *Event_PullRequestChangesRequested - // *Event_PullRequestReviewDismissed - // *Event_CredentialConnected - // *Event_CredentialRevoked - // *Event_AgentRunAnnotated - // *Event_WorkspaceCreated - // *Event_McpGrantWorkspaceBindingChanged - // *Event_WorkspaceOnboardingCompleted - // *Event_WorkspaceRenamed - // *Event_WorkspaceDeleted - // *Event_ApprovedEmailDomainAdded - // *Event_ApprovedEmailDomainVerified - // *Event_ApprovedEmailDomainDeleted - // *Event_GitlabWebhook - // *Event_WorkspaceLlmCredentialConnected - // *Event_WorkspaceLlmCredentialRevoked - // *Event_BitbucketWebhook - // *Event_WorkspaceMemberJoined - // *Event_WorkspaceMemberLeft - // *Event_ComposioTriggerMessage - // *Event_PlanDifferenceAcknowledged - // *Event_PlanDifferenceAcknowledgementCleared - // *Event_PlanReviewPolicyDecided - // *Event_ReviewRestored - // *Event_WorkspaceReviewPolicyUpdated - // *Event_UnknownStoredPayload - Payload isEvent_Payload `protobuf_oneof:"payload"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Event) Reset() { - *x = Event{} - mi := &file_brent_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Event) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Event) ProtoMessage() {} - -func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[93] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Event.ProtoReflect.Descriptor instead. -func (*Event) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{93} -} - -func (x *Event) GetEventId() string { - if x != nil { - return x.EventId - } - return "" -} - -func (x *Event) GetOccurredAt() *timestamppb.Timestamp { - if x != nil { - return x.OccurredAt - } - return nil -} - -func (x *Event) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *Event) GetActor() *Actor { - if x != nil { - return x.Actor - } - return nil -} - -func (x *Event) GetObject() *ObjectReference { - if x != nil { - return x.Object - } - return nil -} - -func (x *Event) GetSourceRepoUrl() string { - if x != nil && x.SourceRepoUrl != nil { - return *x.SourceRepoUrl - } - return "" -} - -func (x *Event) GetTraceId() string { - if x != nil && x.TraceId != nil { - return *x.TraceId - } - return "" -} - -func (x *Event) GetSpanId() string { - if x != nil && x.SpanId != nil { - return *x.SpanId - } - return "" -} - -func (x *Event) GetHoneycombTraceUrl() string { - if x != nil && x.HoneycombTraceUrl != nil { - return *x.HoneycombTraceUrl - } - return "" -} - -func (x *Event) GetReceivedAt() *timestamppb.Timestamp { - if x != nil { - return x.ReceivedAt - } - return nil -} - -func (x *Event) GetPayload() isEvent_Payload { - if x != nil { - return x.Payload - } - return nil -} - -func (x *Event) GetPlanCreated() *PlanCreated { - if x != nil { - if x, ok := x.Payload.(*Event_PlanCreated); ok { - return x.PlanCreated - } - } - return nil -} - -func (x *Event) GetPlanUpdated() *PlanUpdated { - if x != nil { - if x, ok := x.Payload.(*Event_PlanUpdated); ok { - return x.PlanUpdated - } - } - return nil -} - -func (x *Event) GetPlanDeleted() *PlanDeleted { - if x != nil { - if x, ok := x.Payload.(*Event_PlanDeleted); ok { - return x.PlanDeleted - } - } - return nil -} - -func (x *Event) GetReviewRequested() *ReviewRequested { - if x != nil { - if x, ok := x.Payload.(*Event_ReviewRequested); ok { - return x.ReviewRequested - } - } - return nil -} - -func (x *Event) GetReviewSubmitted() *ReviewSubmitted { - if x != nil { - if x, ok := x.Payload.(*Event_ReviewSubmitted); ok { - return x.ReviewSubmitted - } - } - return nil -} - -func (x *Event) GetOther() *OtherEvent { - if x != nil { - if x, ok := x.Payload.(*Event_Other); ok { - return x.Other - } - } - return nil -} - -func (x *Event) GetGithubWebhook() *GitHubWebhook { - if x != nil { - if x, ok := x.Payload.(*Event_GithubWebhook); ok { - return x.GithubWebhook - } - } - return nil -} - -func (x *Event) GetSlackMention() *SlackMentionReceived { - if x != nil { - if x, ok := x.Payload.(*Event_SlackMention); ok { - return x.SlackMention - } - } - return nil -} - -func (x *Event) GetSlackReaction() *SlackReactionAdded { - if x != nil { - if x, ok := x.Payload.(*Event_SlackReaction); ok { - return x.SlackReaction - } - } - return nil -} - -func (x *Event) GetPullRequestOpened() *PullRequestOpened { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestOpened); ok { - return x.PullRequestOpened - } - } - return nil -} - -func (x *Event) GetPullRequestSynchronized() *PullRequestSynchronized { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestSynchronized); ok { - return x.PullRequestSynchronized - } - } - return nil -} - -func (x *Event) GetPullRequestUpdated() *PullRequestUpdated { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestUpdated); ok { - return x.PullRequestUpdated - } - } - return nil -} - -func (x *Event) GetPullRequestClosed() *PullRequestClosed { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestClosed); ok { - return x.PullRequestClosed - } - } - return nil -} - -func (x *Event) GetPullRequestLinkedToPlan() *PullRequestLinkedToPlan { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestLinkedToPlan); ok { - return x.PullRequestLinkedToPlan - } - } - return nil -} - -func (x *Event) GetPullRequestUnlinkedFromPlan() *PullRequestUnlinkedFromPlan { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestUnlinkedFromPlan); ok { - return x.PullRequestUnlinkedFromPlan - } - } - return nil -} - -func (x *Event) GetOrganisationAppInstallationUpserted() *OrganisationAppInstallationUpserted { - if x != nil { - if x, ok := x.Payload.(*Event_OrganisationAppInstallationUpserted); ok { - return x.OrganisationAppInstallationUpserted - } - } - return nil -} - -func (x *Event) GetOrganisationAppInstallationDeleted() *OrganisationAppInstallationDeleted { - if x != nil { - if x, ok := x.Payload.(*Event_OrganisationAppInstallationDeleted); ok { - return x.OrganisationAppInstallationDeleted - } - } - return nil -} - -func (x *Event) GetPlanCheckStarted() *PlanCheckStarted { - if x != nil { - if x, ok := x.Payload.(*Event_PlanCheckStarted); ok { - return x.PlanCheckStarted - } - } - return nil -} - -func (x *Event) GetPlanCheckCompleted() *PlanCheckCompleted { - if x != nil { - if x, ok := x.Payload.(*Event_PlanCheckCompleted); ok { - return x.PlanCheckCompleted - } - } - return nil -} - -func (x *Event) GetPlanCheckFailed() *PlanCheckFailed { - if x != nil { - if x, ok := x.Payload.(*Event_PlanCheckFailed); ok { - return x.PlanCheckFailed - } - } - return nil -} - -func (x *Event) GetLoopRunQueued() *LoopRunQueued { - if x != nil { - if x, ok := x.Payload.(*Event_LoopRunQueued); ok { - return x.LoopRunQueued - } - } - return nil -} - -func (x *Event) GetLoopRunStarted() *LoopRunStarted { - if x != nil { - if x, ok := x.Payload.(*Event_LoopRunStarted); ok { - return x.LoopRunStarted - } - } - return nil -} - -func (x *Event) GetLoopRunCompleted() *LoopRunCompleted { - if x != nil { - if x, ok := x.Payload.(*Event_LoopRunCompleted); ok { - return x.LoopRunCompleted - } - } - return nil -} - -func (x *Event) GetLoopRunFailed() *LoopRunFailed { - if x != nil { - if x, ok := x.Payload.(*Event_LoopRunFailed); ok { - return x.LoopRunFailed - } - } - return nil -} - -func (x *Event) GetLoopRunCancelled() *LoopRunCancelled { - if x != nil { - if x, ok := x.Payload.(*Event_LoopRunCancelled); ok { - return x.LoopRunCancelled - } - } - return nil -} - -func (x *Event) GetReviewNoEligibleReviewer() *ReviewNoEligibleReviewer { - if x != nil { - if x, ok := x.Payload.(*Event_ReviewNoEligibleReviewer); ok { - return x.ReviewNoEligibleReviewer - } - } - return nil -} - -func (x *Event) GetPrincipalCreated() *PrincipalCreated { - if x != nil { - if x, ok := x.Payload.(*Event_PrincipalCreated); ok { - return x.PrincipalCreated - } - } - return nil -} - -func (x *Event) GetPrincipalUpdated() *PrincipalUpdated { - if x != nil { - if x, ok := x.Payload.(*Event_PrincipalUpdated); ok { - return x.PrincipalUpdated - } - } - return nil -} - -func (x *Event) GetPrincipalTombstoned() *PrincipalTombstoned { - if x != nil { - if x, ok := x.Payload.(*Event_PrincipalTombstoned); ok { - return x.PrincipalTombstoned - } - } - return nil -} - -func (x *Event) GetIdentityCreated() *IdentityCreated { - if x != nil { - if x, ok := x.Payload.(*Event_IdentityCreated); ok { - return x.IdentityCreated - } - } - return nil -} - -func (x *Event) GetIdentityDeleted() *IdentityDeleted { - if x != nil { - if x, ok := x.Payload.(*Event_IdentityDeleted); ok { - return x.IdentityDeleted - } - } - return nil -} - -func (x *Event) GetBindingCreated() *BindingCreated { - if x != nil { - if x, ok := x.Payload.(*Event_BindingCreated); ok { - return x.BindingCreated - } - } - return nil -} - -func (x *Event) GetBindingUpdated() *BindingUpdated { - if x != nil { - if x, ok := x.Payload.(*Event_BindingUpdated); ok { - return x.BindingUpdated - } - } - return nil -} - -func (x *Event) GetBindingDeleted() *BindingDeleted { - if x != nil { - if x, ok := x.Payload.(*Event_BindingDeleted); ok { - return x.BindingDeleted - } - } - return nil -} - -func (x *Event) GetReviewDriveByStarted() *ReviewDriveByStarted { - if x != nil { - if x, ok := x.Payload.(*Event_ReviewDriveByStarted); ok { - return x.ReviewDriveByStarted - } - } - return nil -} - -func (x *Event) GetSlackWebhook() *SlackWebhook { - if x != nil { - if x, ok := x.Payload.(*Event_SlackWebhook); ok { - return x.SlackWebhook - } - } - return nil -} - -func (x *Event) GetReviewDeleted() *ReviewDeleted { - if x != nil { - if x, ok := x.Payload.(*Event_ReviewDeleted); ok { - return x.ReviewDeleted - } - } - return nil -} - -func (x *Event) GetPlanRestored() *PlanRestored { - if x != nil { - if x, ok := x.Payload.(*Event_PlanRestored); ok { - return x.PlanRestored - } - } - return nil -} - -func (x *Event) GetLinearWebhook() *LinearWebhook { - if x != nil { - if x, ok := x.Payload.(*Event_LinearWebhook); ok { - return x.LinearWebhook - } - } - return nil -} - -func (x *Event) GetPullRequestCommentCreated() *PullRequestCommentCreated { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestCommentCreated); ok { - return x.PullRequestCommentCreated - } - } - return nil -} - -func (x *Event) GetPlanDifferenceRecorded() *PlanDifferenceRecorded { - if x != nil { - if x, ok := x.Payload.(*Event_PlanDifferenceRecorded); ok { - return x.PlanDifferenceRecorded - } - } - return nil -} - -func (x *Event) GetPlanDifferenceUpdated() *PlanDifferenceUpdated { - if x != nil { - if x, ok := x.Payload.(*Event_PlanDifferenceUpdated); ok { - return x.PlanDifferenceUpdated - } - } - return nil -} - -func (x *Event) GetPlanDifferenceResolved() *PlanDifferenceResolved { - if x != nil { - if x, ok := x.Payload.(*Event_PlanDifferenceResolved); ok { - return x.PlanDifferenceResolved - } - } - return nil -} - -func (x *Event) GetAgentRunDispatched() *AgentRunDispatched { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunDispatched); ok { - return x.AgentRunDispatched - } - } - return nil -} - -func (x *Event) GetAgentRunStarted() *AgentRunStarted { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunStarted); ok { - return x.AgentRunStarted - } - } - return nil -} - -func (x *Event) GetAgentRunPullRequestMatched() *AgentRunPullRequestMatched { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunPullRequestMatched); ok { - return x.AgentRunPullRequestMatched - } - } - return nil -} - -func (x *Event) GetAgentRunFlaggedNeedsYou() *AgentRunFlaggedNeedsYou { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunFlaggedNeedsYou); ok { - return x.AgentRunFlaggedNeedsYou - } - } - return nil -} - -func (x *Event) GetAgentRunMerged() *AgentRunMerged { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunMerged); ok { - return x.AgentRunMerged - } - } - return nil -} - -func (x *Event) GetAgentRunDeclined() *AgentRunDeclined { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunDeclined); ok { - return x.AgentRunDeclined - } - } - return nil -} - -func (x *Event) GetAgentRunCancelled() *AgentRunCancelled { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunCancelled); ok { - return x.AgentRunCancelled - } - } - return nil -} - -func (x *Event) GetAgentRunGatePassed() *AgentRunGatePassed { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunGatePassed); ok { - return x.AgentRunGatePassed - } - } - return nil -} - -func (x *Event) GetPullRequestLinkedToAgentRun() *PullRequestLinkedToAgentRun { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestLinkedToAgentRun); ok { - return x.PullRequestLinkedToAgentRun - } - } - return nil -} - -func (x *Event) GetLoopIngested() *LoopIngested { - if x != nil { - if x, ok := x.Payload.(*Event_LoopIngested); ok { - return x.LoopIngested - } - } - return nil -} - -func (x *Event) GetPullRequestReviewRequested() *PullRequestReviewRequested { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestReviewRequested); ok { - return x.PullRequestReviewRequested - } - } - return nil -} - -func (x *Event) GetPullRequestApproved() *PullRequestApproved { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestApproved); ok { - return x.PullRequestApproved - } - } - return nil -} - -func (x *Event) GetPullRequestChangesRequested() *PullRequestChangesRequested { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestChangesRequested); ok { - return x.PullRequestChangesRequested - } - } - return nil -} - -func (x *Event) GetPullRequestReviewDismissed() *PullRequestReviewDismissed { - if x != nil { - if x, ok := x.Payload.(*Event_PullRequestReviewDismissed); ok { - return x.PullRequestReviewDismissed - } - } - return nil -} - -func (x *Event) GetCredentialConnected() *CredentialConnected { - if x != nil { - if x, ok := x.Payload.(*Event_CredentialConnected); ok { - return x.CredentialConnected - } - } - return nil -} - -func (x *Event) GetCredentialRevoked() *CredentialRevoked { - if x != nil { - if x, ok := x.Payload.(*Event_CredentialRevoked); ok { - return x.CredentialRevoked - } - } - return nil -} - -func (x *Event) GetAgentRunAnnotated() *AgentRunAnnotated { - if x != nil { - if x, ok := x.Payload.(*Event_AgentRunAnnotated); ok { - return x.AgentRunAnnotated - } - } - return nil -} - -func (x *Event) GetWorkspaceCreated() *WorkspaceCreated { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceCreated); ok { - return x.WorkspaceCreated - } - } - return nil -} - -func (x *Event) GetMcpGrantWorkspaceBindingChanged() *MCPGrantWorkspaceBindingChanged { - if x != nil { - if x, ok := x.Payload.(*Event_McpGrantWorkspaceBindingChanged); ok { - return x.McpGrantWorkspaceBindingChanged - } - } - return nil -} - -func (x *Event) GetWorkspaceOnboardingCompleted() *WorkspaceOnboardingCompleted { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceOnboardingCompleted); ok { - return x.WorkspaceOnboardingCompleted - } - } - return nil -} - -func (x *Event) GetWorkspaceRenamed() *WorkspaceRenamed { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceRenamed); ok { - return x.WorkspaceRenamed - } - } - return nil -} - -func (x *Event) GetWorkspaceDeleted() *WorkspaceDeleted { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceDeleted); ok { - return x.WorkspaceDeleted - } - } - return nil -} - -func (x *Event) GetApprovedEmailDomainAdded() *ApprovedEmailDomainAdded { - if x != nil { - if x, ok := x.Payload.(*Event_ApprovedEmailDomainAdded); ok { - return x.ApprovedEmailDomainAdded - } - } - return nil -} - -func (x *Event) GetApprovedEmailDomainVerified() *ApprovedEmailDomainVerified { - if x != nil { - if x, ok := x.Payload.(*Event_ApprovedEmailDomainVerified); ok { - return x.ApprovedEmailDomainVerified - } - } - return nil -} - -func (x *Event) GetApprovedEmailDomainDeleted() *ApprovedEmailDomainDeleted { - if x != nil { - if x, ok := x.Payload.(*Event_ApprovedEmailDomainDeleted); ok { - return x.ApprovedEmailDomainDeleted - } - } - return nil -} - -func (x *Event) GetGitlabWebhook() *GitLabWebhook { - if x != nil { - if x, ok := x.Payload.(*Event_GitlabWebhook); ok { - return x.GitlabWebhook - } - } - return nil -} - -func (x *Event) GetWorkspaceLlmCredentialConnected() *WorkspaceLLMCredentialConnected { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceLlmCredentialConnected); ok { - return x.WorkspaceLlmCredentialConnected - } - } - return nil -} - -func (x *Event) GetWorkspaceLlmCredentialRevoked() *WorkspaceLLMCredentialRevoked { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceLlmCredentialRevoked); ok { - return x.WorkspaceLlmCredentialRevoked - } - } - return nil -} - -func (x *Event) GetBitbucketWebhook() *BitbucketWebhook { - if x != nil { - if x, ok := x.Payload.(*Event_BitbucketWebhook); ok { - return x.BitbucketWebhook - } - } - return nil -} - -func (x *Event) GetWorkspaceMemberJoined() *WorkspaceMemberJoined { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceMemberJoined); ok { - return x.WorkspaceMemberJoined - } - } - return nil -} - -func (x *Event) GetWorkspaceMemberLeft() *WorkspaceMemberLeft { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceMemberLeft); ok { - return x.WorkspaceMemberLeft - } - } - return nil -} - -func (x *Event) GetComposioTriggerMessage() *ComposioTriggerMessage { - if x != nil { - if x, ok := x.Payload.(*Event_ComposioTriggerMessage); ok { - return x.ComposioTriggerMessage - } - } - return nil -} - -func (x *Event) GetPlanDifferenceAcknowledged() *PlanDifferenceAcknowledged { - if x != nil { - if x, ok := x.Payload.(*Event_PlanDifferenceAcknowledged); ok { - return x.PlanDifferenceAcknowledged - } - } - return nil -} - -func (x *Event) GetPlanDifferenceAcknowledgementCleared() *PlanDifferenceAcknowledgementCleared { - if x != nil { - if x, ok := x.Payload.(*Event_PlanDifferenceAcknowledgementCleared); ok { - return x.PlanDifferenceAcknowledgementCleared - } - } - return nil -} - -func (x *Event) GetPlanReviewPolicyDecided() *PlanReviewPolicyDecided { - if x != nil { - if x, ok := x.Payload.(*Event_PlanReviewPolicyDecided); ok { - return x.PlanReviewPolicyDecided - } - } - return nil -} - -func (x *Event) GetReviewRestored() *ReviewRestored { - if x != nil { - if x, ok := x.Payload.(*Event_ReviewRestored); ok { - return x.ReviewRestored - } - } - return nil -} - -func (x *Event) GetWorkspaceReviewPolicyUpdated() *WorkspaceReviewPolicyUpdated { - if x != nil { - if x, ok := x.Payload.(*Event_WorkspaceReviewPolicyUpdated); ok { - return x.WorkspaceReviewPolicyUpdated - } - } - return nil -} - -func (x *Event) GetUnknownStoredPayload() *UnknownStoredPayload { - if x != nil { - if x, ok := x.Payload.(*Event_UnknownStoredPayload); ok { - return x.UnknownStoredPayload - } - } - return nil -} - -type isEvent_Payload interface { - isEvent_Payload() -} - -type Event_PlanCreated struct { - PlanCreated *PlanCreated `protobuf:"bytes,10,opt,name=plan_created,json=planCreated,proto3,oneof"` -} - -type Event_PlanUpdated struct { - PlanUpdated *PlanUpdated `protobuf:"bytes,11,opt,name=plan_updated,json=planUpdated,proto3,oneof"` -} - -type Event_PlanDeleted struct { - PlanDeleted *PlanDeleted `protobuf:"bytes,12,opt,name=plan_deleted,json=planDeleted,proto3,oneof"` -} - -type Event_ReviewRequested struct { - ReviewRequested *ReviewRequested `protobuf:"bytes,13,opt,name=review_requested,json=reviewRequested,proto3,oneof"` -} - -type Event_ReviewSubmitted struct { - ReviewSubmitted *ReviewSubmitted `protobuf:"bytes,14,opt,name=review_submitted,json=reviewSubmitted,proto3,oneof"` -} - -type Event_Other struct { - Other *OtherEvent `protobuf:"bytes,15,opt,name=other,proto3,oneof"` -} - -type Event_GithubWebhook struct { - GithubWebhook *GitHubWebhook `protobuf:"bytes,16,opt,name=github_webhook,json=githubWebhook,proto3,oneof"` -} - -type Event_SlackMention struct { - SlackMention *SlackMentionReceived `protobuf:"bytes,17,opt,name=slack_mention,json=slackMention,proto3,oneof"` -} - -type Event_SlackReaction struct { - SlackReaction *SlackReactionAdded `protobuf:"bytes,18,opt,name=slack_reaction,json=slackReaction,proto3,oneof"` -} - -type Event_PullRequestOpened struct { - PullRequestOpened *PullRequestOpened `protobuf:"bytes,19,opt,name=pull_request_opened,json=pullRequestOpened,proto3,oneof"` -} - -type Event_PullRequestSynchronized struct { - PullRequestSynchronized *PullRequestSynchronized `protobuf:"bytes,20,opt,name=pull_request_synchronized,json=pullRequestSynchronized,proto3,oneof"` -} - -type Event_PullRequestUpdated struct { - PullRequestUpdated *PullRequestUpdated `protobuf:"bytes,21,opt,name=pull_request_updated,json=pullRequestUpdated,proto3,oneof"` -} - -type Event_PullRequestClosed struct { - PullRequestClosed *PullRequestClosed `protobuf:"bytes,22,opt,name=pull_request_closed,json=pullRequestClosed,proto3,oneof"` -} - -type Event_PullRequestLinkedToPlan struct { - PullRequestLinkedToPlan *PullRequestLinkedToPlan `protobuf:"bytes,23,opt,name=pull_request_linked_to_plan,json=pullRequestLinkedToPlan,proto3,oneof"` -} - -type Event_PullRequestUnlinkedFromPlan struct { - PullRequestUnlinkedFromPlan *PullRequestUnlinkedFromPlan `protobuf:"bytes,24,opt,name=pull_request_unlinked_from_plan,json=pullRequestUnlinkedFromPlan,proto3,oneof"` -} - -type Event_OrganisationAppInstallationUpserted struct { - OrganisationAppInstallationUpserted *OrganisationAppInstallationUpserted `protobuf:"bytes,25,opt,name=organisation_app_installation_upserted,json=organisationAppInstallationUpserted,proto3,oneof"` -} - -type Event_OrganisationAppInstallationDeleted struct { - OrganisationAppInstallationDeleted *OrganisationAppInstallationDeleted `protobuf:"bytes,26,opt,name=organisation_app_installation_deleted,json=organisationAppInstallationDeleted,proto3,oneof"` -} - -type Event_PlanCheckStarted struct { - PlanCheckStarted *PlanCheckStarted `protobuf:"bytes,27,opt,name=plan_check_started,json=planCheckStarted,proto3,oneof"` -} - -type Event_PlanCheckCompleted struct { - PlanCheckCompleted *PlanCheckCompleted `protobuf:"bytes,28,opt,name=plan_check_completed,json=planCheckCompleted,proto3,oneof"` -} - -type Event_PlanCheckFailed struct { - PlanCheckFailed *PlanCheckFailed `protobuf:"bytes,29,opt,name=plan_check_failed,json=planCheckFailed,proto3,oneof"` -} - -type Event_LoopRunQueued struct { - LoopRunQueued *LoopRunQueued `protobuf:"bytes,30,opt,name=loop_run_queued,json=loopRunQueued,proto3,oneof"` -} - -type Event_LoopRunStarted struct { - LoopRunStarted *LoopRunStarted `protobuf:"bytes,31,opt,name=loop_run_started,json=loopRunStarted,proto3,oneof"` -} - -type Event_LoopRunCompleted struct { - LoopRunCompleted *LoopRunCompleted `protobuf:"bytes,32,opt,name=loop_run_completed,json=loopRunCompleted,proto3,oneof"` -} - -type Event_LoopRunFailed struct { - LoopRunFailed *LoopRunFailed `protobuf:"bytes,33,opt,name=loop_run_failed,json=loopRunFailed,proto3,oneof"` -} - -type Event_LoopRunCancelled struct { - LoopRunCancelled *LoopRunCancelled `protobuf:"bytes,34,opt,name=loop_run_cancelled,json=loopRunCancelled,proto3,oneof"` -} - -type Event_ReviewNoEligibleReviewer struct { - ReviewNoEligibleReviewer *ReviewNoEligibleReviewer `protobuf:"bytes,35,opt,name=review_no_eligible_reviewer,json=reviewNoEligibleReviewer,proto3,oneof"` -} - -type Event_PrincipalCreated struct { - // Principal lifecycle (Phase 1.7 / ENG-4318). - PrincipalCreated *PrincipalCreated `protobuf:"bytes,36,opt,name=principal_created,json=principalCreated,proto3,oneof"` -} - -type Event_PrincipalUpdated struct { - PrincipalUpdated *PrincipalUpdated `protobuf:"bytes,37,opt,name=principal_updated,json=principalUpdated,proto3,oneof"` -} - -type Event_PrincipalTombstoned struct { - PrincipalTombstoned *PrincipalTombstoned `protobuf:"bytes,38,opt,name=principal_tombstoned,json=principalTombstoned,proto3,oneof"` -} - -type Event_IdentityCreated struct { - // Identity lifecycle (Phase 1.7 / ENG-4318). - IdentityCreated *IdentityCreated `protobuf:"bytes,39,opt,name=identity_created,json=identityCreated,proto3,oneof"` -} - -type Event_IdentityDeleted struct { - IdentityDeleted *IdentityDeleted `protobuf:"bytes,40,opt,name=identity_deleted,json=identityDeleted,proto3,oneof"` -} - -type Event_BindingCreated struct { - // Binding lifecycle (Phase 1.7 / ENG-4318). - BindingCreated *BindingCreated `protobuf:"bytes,41,opt,name=binding_created,json=bindingCreated,proto3,oneof"` -} - -type Event_BindingUpdated struct { - BindingUpdated *BindingUpdated `protobuf:"bytes,42,opt,name=binding_updated,json=bindingUpdated,proto3,oneof"` -} - -type Event_BindingDeleted struct { - BindingDeleted *BindingDeleted `protobuf:"bytes,43,opt,name=binding_deleted,json=bindingDeleted,proto3,oneof"` -} - -type Event_ReviewDriveByStarted struct { - // Drive-by review attribution (Phase 1.7 / ENG-4318, D2). - // Replaces the ReviewRequested emission in submit_review.go's - // drive-by branch; ReviewRequested continues to fire on the - // request-time-assignment path. - ReviewDriveByStarted *ReviewDriveByStarted `protobuf:"bytes,44,opt,name=review_drive_by_started,json=reviewDriveByStarted,proto3,oneof"` -} - -type Event_SlackWebhook struct { - // SlackWebhook carries every Slack Events API delivery whose team_id - // resolves to a Brent account via organisation_app_installations. - // Unmapped teams fall through to the legacy translator path instead. - SlackWebhook *SlackWebhook `protobuf:"bytes,45,opt,name=slack_webhook,json=slackWebhook,proto3,oneof"` -} - -type Event_ReviewDeleted struct { - ReviewDeleted *ReviewDeleted `protobuf:"bytes,46,opt,name=review_deleted,json=reviewDeleted,proto3,oneof"` -} - -type Event_PlanRestored struct { - PlanRestored *PlanRestored `protobuf:"bytes,47,opt,name=plan_restored,json=planRestored,proto3,oneof"` -} - -type Event_LinearWebhook struct { - // LinearWebhook carries every Linear webhook delivery whose - // organizationId resolves to a Brent account via - // organisation_app_installations. PermissionChange/teamAccessChanged - // is audit-logged by the lifecycle listener; OAuthApp/revoked - // triggers install + token row deletion inside the producer tx. - LinearWebhook *LinearWebhook `protobuf:"bytes,48,opt,name=linear_webhook,json=linearWebhook,proto3,oneof"` -} - -type Event_PullRequestCommentCreated struct { - PullRequestCommentCreated *PullRequestCommentCreated `protobuf:"bytes,49,opt,name=pull_request_comment_created,json=pullRequestCommentCreated,proto3,oneof"` -} - -type Event_PlanDifferenceRecorded struct { - PlanDifferenceRecorded *PlanDifferenceRecorded `protobuf:"bytes,50,opt,name=plan_difference_recorded,json=planDifferenceRecorded,proto3,oneof"` -} - -type Event_PlanDifferenceUpdated struct { - PlanDifferenceUpdated *PlanDifferenceUpdated `protobuf:"bytes,51,opt,name=plan_difference_updated,json=planDifferenceUpdated,proto3,oneof"` -} - -type Event_PlanDifferenceResolved struct { - PlanDifferenceResolved *PlanDifferenceResolved `protobuf:"bytes,52,opt,name=plan_difference_resolved,json=planDifferenceResolved,proto3,oneof"` -} - -type Event_AgentRunDispatched struct { - AgentRunDispatched *AgentRunDispatched `protobuf:"bytes,53,opt,name=agent_run_dispatched,json=agentRunDispatched,proto3,oneof"` -} - -type Event_AgentRunStarted struct { - AgentRunStarted *AgentRunStarted `protobuf:"bytes,54,opt,name=agent_run_started,json=agentRunStarted,proto3,oneof"` -} - -type Event_AgentRunPullRequestMatched struct { - AgentRunPullRequestMatched *AgentRunPullRequestMatched `protobuf:"bytes,55,opt,name=agent_run_pull_request_matched,json=agentRunPullRequestMatched,proto3,oneof"` -} - -type Event_AgentRunFlaggedNeedsYou struct { - AgentRunFlaggedNeedsYou *AgentRunFlaggedNeedsYou `protobuf:"bytes,56,opt,name=agent_run_flagged_needs_you,json=agentRunFlaggedNeedsYou,proto3,oneof"` -} - -type Event_AgentRunMerged struct { - AgentRunMerged *AgentRunMerged `protobuf:"bytes,57,opt,name=agent_run_merged,json=agentRunMerged,proto3,oneof"` -} - -type Event_AgentRunDeclined struct { - AgentRunDeclined *AgentRunDeclined `protobuf:"bytes,58,opt,name=agent_run_declined,json=agentRunDeclined,proto3,oneof"` -} - -type Event_AgentRunCancelled struct { - AgentRunCancelled *AgentRunCancelled `protobuf:"bytes,59,opt,name=agent_run_cancelled,json=agentRunCancelled,proto3,oneof"` -} - -type Event_AgentRunGatePassed struct { - AgentRunGatePassed *AgentRunGatePassed `protobuf:"bytes,74,opt,name=agent_run_gate_passed,json=agentRunGatePassed,proto3,oneof"` -} - -type Event_PullRequestLinkedToAgentRun struct { - PullRequestLinkedToAgentRun *PullRequestLinkedToAgentRun `protobuf:"bytes,60,opt,name=pull_request_linked_to_agent_run,json=pullRequestLinkedToAgentRun,proto3,oneof"` -} - -type Event_LoopIngested struct { - // LoopIngested records the outcome of ingesting one - // .brent/workflows/*.md file. Internal audit trail only — must not - // appear in customer workflow on: docs (no workflow should match it). - LoopIngested *LoopIngested `protobuf:"bytes,61,opt,name=loop_ingested,json=loopIngested,proto3,oneof"` -} - -type Event_PullRequestReviewRequested struct { - PullRequestReviewRequested *PullRequestReviewRequested `protobuf:"bytes,63,opt,name=pull_request_review_requested,json=pullRequestReviewRequested,proto3,oneof"` -} - -type Event_PullRequestApproved struct { - PullRequestApproved *PullRequestApproved `protobuf:"bytes,64,opt,name=pull_request_approved,json=pullRequestApproved,proto3,oneof"` -} - -type Event_PullRequestChangesRequested struct { - PullRequestChangesRequested *PullRequestChangesRequested `protobuf:"bytes,65,opt,name=pull_request_changes_requested,json=pullRequestChangesRequested,proto3,oneof"` -} - -type Event_PullRequestReviewDismissed struct { - PullRequestReviewDismissed *PullRequestReviewDismissed `protobuf:"bytes,66,opt,name=pull_request_review_dismissed,json=pullRequestReviewDismissed,proto3,oneof"` -} - -type Event_CredentialConnected struct { - // Per-principal integration credentials (BRENT-358). - CredentialConnected *CredentialConnected `protobuf:"bytes,67,opt,name=credential_connected,json=credentialConnected,proto3,oneof"` -} - -type Event_CredentialRevoked struct { - CredentialRevoked *CredentialRevoked `protobuf:"bytes,68,opt,name=credential_revoked,json=credentialRevoked,proto3,oneof"` -} - -type Event_AgentRunAnnotated struct { - // AgentRunAnnotated records an operational signal on a run (e.g. credential - // shared_fallback). Queryable rollout metric for per-author key adoption. - AgentRunAnnotated *AgentRunAnnotated `protobuf:"bytes,69,opt,name=agent_run_annotated,json=agentRunAnnotated,proto3,oneof"` -} - -type Event_WorkspaceCreated struct { - // Workspace lifecycle (Brent Workspaces P1 / BRENT-412). - WorkspaceCreated *WorkspaceCreated `protobuf:"bytes,71,opt,name=workspace_created,json=workspaceCreated,proto3,oneof"` -} - -type Event_McpGrantWorkspaceBindingChanged struct { - // MCP grant-to-workspace binding lifecycle (ENG-5318). - McpGrantWorkspaceBindingChanged *MCPGrantWorkspaceBindingChanged `protobuf:"bytes,73,opt,name=mcp_grant_workspace_binding_changed,json=mcpGrantWorkspaceBindingChanged,proto3,oneof"` -} - -type Event_WorkspaceOnboardingCompleted struct { - // Workspace onboarding completion (BRENT-471). - WorkspaceOnboardingCompleted *WorkspaceOnboardingCompleted `protobuf:"bytes,75,opt,name=workspace_onboarding_completed,json=workspaceOnboardingCompleted,proto3,oneof"` -} - -type Event_WorkspaceRenamed struct { - // Workspace rename (BRENT-464): display_name edited and slug re-derived. - WorkspaceRenamed *WorkspaceRenamed `protobuf:"bytes,76,opt,name=workspace_renamed,json=workspaceRenamed,proto3,oneof"` -} - -type Event_WorkspaceDeleted struct { - // Workspace soft-delete (DeleteWorkspace). - WorkspaceDeleted *WorkspaceDeleted `protobuf:"bytes,77,opt,name=workspace_deleted,json=workspaceDeleted,proto3,oneof"` -} - -type Event_ApprovedEmailDomainAdded struct { - // Approved email domain lifecycle (ENG-5202). No event for resend. - ApprovedEmailDomainAdded *ApprovedEmailDomainAdded `protobuf:"bytes,78,opt,name=approved_email_domain_added,json=approvedEmailDomainAdded,proto3,oneof"` -} - -type Event_ApprovedEmailDomainVerified struct { - ApprovedEmailDomainVerified *ApprovedEmailDomainVerified `protobuf:"bytes,79,opt,name=approved_email_domain_verified,json=approvedEmailDomainVerified,proto3,oneof"` -} - -type Event_ApprovedEmailDomainDeleted struct { - ApprovedEmailDomainDeleted *ApprovedEmailDomainDeleted `protobuf:"bytes,80,opt,name=approved_email_domain_deleted,json=approvedEmailDomainDeleted,proto3,oneof"` -} - -type Event_GitlabWebhook struct { - // GitLabWebhook carries every GitLab webhook delivery routed via - // POST /webhooks/gitlab/{token}, authenticated with the per-install - // X-Gitlab-Token secret from ConnectGitLabResponse.webhook_secret. - // ENG-5416: foundation for GitLab review-loop steel thread (Sicura trial). - GitlabWebhook *GitLabWebhook `protobuf:"bytes,81,opt,name=gitlab_webhook,json=gitlabWebhook,proto3,oneof"` -} - -type Event_WorkspaceLlmCredentialConnected struct { - // Workspace-level LLM provider credentials (ENG-5468). - WorkspaceLlmCredentialConnected *WorkspaceLLMCredentialConnected `protobuf:"bytes,82,opt,name=workspace_llm_credential_connected,json=workspaceLlmCredentialConnected,proto3,oneof"` -} - -type Event_WorkspaceLlmCredentialRevoked struct { - WorkspaceLlmCredentialRevoked *WorkspaceLLMCredentialRevoked `protobuf:"bytes,83,opt,name=workspace_llm_credential_revoked,json=workspaceLlmCredentialRevoked,proto3,oneof"` -} - -type Event_BitbucketWebhook struct { - // BitbucketWebhook carries a Bitbucket PR webhook delivery relayed by the - // Until Forge app and verified via its Forge Invocation Token at the ingest - // endpoint. ENG-5495: foundation for native Bitbucket integration. - BitbucketWebhook *BitbucketWebhook `protobuf:"bytes,84,opt,name=bitbucket_webhook,json=bitbucketWebhook,proto3,oneof"` -} - -type Event_WorkspaceMemberJoined struct { - // Workspace membership lifecycle: a distinct, workspace-scoped audit signal - // for a member joining/leaving, so a domain join surfaces as membership and - // not only as PrincipalCreated (follow-up to the domain-join cut, BRENT-523). - WorkspaceMemberJoined *WorkspaceMemberJoined `protobuf:"bytes,85,opt,name=workspace_member_joined,json=workspaceMemberJoined,proto3,oneof"` -} - -type Event_WorkspaceMemberLeft struct { - WorkspaceMemberLeft *WorkspaceMemberLeft `protobuf:"bytes,86,opt,name=workspace_member_left,json=workspaceMemberLeft,proto3,oneof"` -} - -type Event_ComposioTriggerMessage struct { - // ComposioTriggerMessage carries one inbound Composio Trigger V3 delivery - // (POST /webhooks/composio), attributed to a Brent workspace via - // connected_account_id. First-class typed family (ENG-5624) replacing the - // Composio-first OtherEvent stopgap from the ENG-5611 spike. Toolkit-agnostic: - // workflows discriminate on trigger_slug and read toolkit data via the - // synthetic decoded payload.* map (see embedded_json option). - ComposioTriggerMessage *ComposioTriggerMessage `protobuf:"bytes,87,opt,name=composio_trigger_message,json=composioTriggerMessage,proto3,oneof"` -} - -type Event_PlanDifferenceAcknowledged struct { - PlanDifferenceAcknowledged *PlanDifferenceAcknowledged `protobuf:"bytes,88,opt,name=plan_difference_acknowledged,json=planDifferenceAcknowledged,proto3,oneof"` -} - -type Event_PlanDifferenceAcknowledgementCleared struct { - PlanDifferenceAcknowledgementCleared *PlanDifferenceAcknowledgementCleared `protobuf:"bytes,89,opt,name=plan_difference_acknowledgement_cleared,json=planDifferenceAcknowledgementCleared,proto3,oneof"` -} - -type Event_PlanReviewPolicyDecided struct { - // PlanReviewPolicyDecided fires when a plan is created and the server - // stamps its peer-review requirement (ENG-5637 / BRENT-649). - PlanReviewPolicyDecided *PlanReviewPolicyDecided `protobuf:"bytes,90,opt,name=plan_review_policy_decided,json=planReviewPolicyDecided,proto3,oneof"` -} - -type Event_ReviewRestored struct { - // ReviewRestored fires after plans.Store.RestorePlan revives a - // cascade-soft-deleted review (ENG-5910 / BRENT-762). - ReviewRestored *ReviewRestored `protobuf:"bytes,91,opt,name=review_restored,json=reviewRestored,proto3,oneof"` -} - -type Event_WorkspaceReviewPolicyUpdated struct { - // WorkspaceReviewPolicyUpdated fires when an operator changes a - // workspace's peer-review policy (ENG-6046 / BRENT-824). - WorkspaceReviewPolicyUpdated *WorkspaceReviewPolicyUpdated `protobuf:"bytes,92,opt,name=workspace_review_policy_updated,json=workspaceReviewPolicyUpdated,proto3,oneof"` -} - -type Event_UnknownStoredPayload struct { - // UnknownStoredPayload is a read-path placeholder when a persisted row - // cannot be reconstructed into a typed variant. Never written by - // PersistingListener. - UnknownStoredPayload *UnknownStoredPayload `protobuf:"bytes,70,opt,name=unknown_stored_payload,json=unknownStoredPayload,proto3,oneof"` -} - -func (*Event_PlanCreated) isEvent_Payload() {} - -func (*Event_PlanUpdated) isEvent_Payload() {} - -func (*Event_PlanDeleted) isEvent_Payload() {} - -func (*Event_ReviewRequested) isEvent_Payload() {} - -func (*Event_ReviewSubmitted) isEvent_Payload() {} - -func (*Event_Other) isEvent_Payload() {} - -func (*Event_GithubWebhook) isEvent_Payload() {} - -func (*Event_SlackMention) isEvent_Payload() {} - -func (*Event_SlackReaction) isEvent_Payload() {} - -func (*Event_PullRequestOpened) isEvent_Payload() {} - -func (*Event_PullRequestSynchronized) isEvent_Payload() {} - -func (*Event_PullRequestUpdated) isEvent_Payload() {} - -func (*Event_PullRequestClosed) isEvent_Payload() {} - -func (*Event_PullRequestLinkedToPlan) isEvent_Payload() {} - -func (*Event_PullRequestUnlinkedFromPlan) isEvent_Payload() {} - -func (*Event_OrganisationAppInstallationUpserted) isEvent_Payload() {} - -func (*Event_OrganisationAppInstallationDeleted) isEvent_Payload() {} - -func (*Event_PlanCheckStarted) isEvent_Payload() {} - -func (*Event_PlanCheckCompleted) isEvent_Payload() {} - -func (*Event_PlanCheckFailed) isEvent_Payload() {} - -func (*Event_LoopRunQueued) isEvent_Payload() {} - -func (*Event_LoopRunStarted) isEvent_Payload() {} - -func (*Event_LoopRunCompleted) isEvent_Payload() {} - -func (*Event_LoopRunFailed) isEvent_Payload() {} - -func (*Event_LoopRunCancelled) isEvent_Payload() {} - -func (*Event_ReviewNoEligibleReviewer) isEvent_Payload() {} - -func (*Event_PrincipalCreated) isEvent_Payload() {} - -func (*Event_PrincipalUpdated) isEvent_Payload() {} - -func (*Event_PrincipalTombstoned) isEvent_Payload() {} - -func (*Event_IdentityCreated) isEvent_Payload() {} - -func (*Event_IdentityDeleted) isEvent_Payload() {} - -func (*Event_BindingCreated) isEvent_Payload() {} - -func (*Event_BindingUpdated) isEvent_Payload() {} - -func (*Event_BindingDeleted) isEvent_Payload() {} - -func (*Event_ReviewDriveByStarted) isEvent_Payload() {} - -func (*Event_SlackWebhook) isEvent_Payload() {} - -func (*Event_ReviewDeleted) isEvent_Payload() {} - -func (*Event_PlanRestored) isEvent_Payload() {} - -func (*Event_LinearWebhook) isEvent_Payload() {} - -func (*Event_PullRequestCommentCreated) isEvent_Payload() {} - -func (*Event_PlanDifferenceRecorded) isEvent_Payload() {} - -func (*Event_PlanDifferenceUpdated) isEvent_Payload() {} - -func (*Event_PlanDifferenceResolved) isEvent_Payload() {} - -func (*Event_AgentRunDispatched) isEvent_Payload() {} - -func (*Event_AgentRunStarted) isEvent_Payload() {} - -func (*Event_AgentRunPullRequestMatched) isEvent_Payload() {} - -func (*Event_AgentRunFlaggedNeedsYou) isEvent_Payload() {} - -func (*Event_AgentRunMerged) isEvent_Payload() {} - -func (*Event_AgentRunDeclined) isEvent_Payload() {} - -func (*Event_AgentRunCancelled) isEvent_Payload() {} - -func (*Event_AgentRunGatePassed) isEvent_Payload() {} - -func (*Event_PullRequestLinkedToAgentRun) isEvent_Payload() {} - -func (*Event_LoopIngested) isEvent_Payload() {} - -func (*Event_PullRequestReviewRequested) isEvent_Payload() {} - -func (*Event_PullRequestApproved) isEvent_Payload() {} - -func (*Event_PullRequestChangesRequested) isEvent_Payload() {} - -func (*Event_PullRequestReviewDismissed) isEvent_Payload() {} - -func (*Event_CredentialConnected) isEvent_Payload() {} - -func (*Event_CredentialRevoked) isEvent_Payload() {} - -func (*Event_AgentRunAnnotated) isEvent_Payload() {} - -func (*Event_WorkspaceCreated) isEvent_Payload() {} - -func (*Event_McpGrantWorkspaceBindingChanged) isEvent_Payload() {} - -func (*Event_WorkspaceOnboardingCompleted) isEvent_Payload() {} - -func (*Event_WorkspaceRenamed) isEvent_Payload() {} - -func (*Event_WorkspaceDeleted) isEvent_Payload() {} - -func (*Event_ApprovedEmailDomainAdded) isEvent_Payload() {} - -func (*Event_ApprovedEmailDomainVerified) isEvent_Payload() {} - -func (*Event_ApprovedEmailDomainDeleted) isEvent_Payload() {} - -func (*Event_GitlabWebhook) isEvent_Payload() {} - -func (*Event_WorkspaceLlmCredentialConnected) isEvent_Payload() {} - -func (*Event_WorkspaceLlmCredentialRevoked) isEvent_Payload() {} - -func (*Event_BitbucketWebhook) isEvent_Payload() {} - -func (*Event_WorkspaceMemberJoined) isEvent_Payload() {} - -func (*Event_WorkspaceMemberLeft) isEvent_Payload() {} - -func (*Event_ComposioTriggerMessage) isEvent_Payload() {} - -func (*Event_PlanDifferenceAcknowledged) isEvent_Payload() {} - -func (*Event_PlanDifferenceAcknowledgementCleared) isEvent_Payload() {} - -func (*Event_PlanReviewPolicyDecided) isEvent_Payload() {} - -func (*Event_ReviewRestored) isEvent_Payload() {} - -func (*Event_WorkspaceReviewPolicyUpdated) isEvent_Payload() {} - -func (*Event_UnknownStoredPayload) isEvent_Payload() {} - -// Actor identifies who or what caused an event. Flat shape; type-safety -// lives on the payload fields (e.g. PlanCreated.author_principal_id), not -// on the actor itself. -type Actor struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Discriminator: "human" | "system" | "external". - // - "human": id is a Brent principal_id UUID (e.g. - // "11111111-2222-3333-4444-555555555555"). Events emitted by older - // binaries may still carry the raw Auth0 subject ("auth0|abc123"); - // consumers must accept both forms. TODO(ENG-4265): once the - // author_subject columns are dropped, narrow this to "principal_id - // UUID only". - // - "system": id is a component name (e.g. "brent-backend", - // "executor", "github-webhook"). - // - "external": id is a source-qualified identifier - // (e.g. "github:"). - Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` - // The kind-specific identifier. Interpretation depends on `kind`. - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Actor) Reset() { - *x = Actor{} - mi := &file_brent_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Actor) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Actor) ProtoMessage() {} - -func (x *Actor) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[94] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Actor.ProtoReflect.Descriptor instead. -func (*Actor) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{94} -} - -func (x *Actor) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *Actor) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -// ObjectReference points at the domain object the event is about. -type ObjectReference struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Lowercase domain-object name. Known values today: "plan", "review". - // Future values: "pr", "deployment". Free-string by design — adding - // a new domain object is a producer change, not a proto change. - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - // External (UUID) identifier of the referenced object. - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ObjectReference) Reset() { - *x = ObjectReference{} - mi := &file_brent_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ObjectReference) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ObjectReference) ProtoMessage() {} - -func (x *ObjectReference) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[95] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ObjectReference.ProtoReflect.Descriptor instead. -func (*ObjectReference) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{95} -} - -func (x *ObjectReference) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *ObjectReference) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -// PlanCreated fires after plans.Store.CreatePlan commits. -// -// Aggregate signature it mirrors: -// -// CreatePlan(ctx, accountName, authorSubject, title, content) -> *Plan -type PlanCreated struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the new plan (matches plans.external_id). - PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // Legacy Auth0 subject of the plan author. Only populated on events - // emitted by older binaries; new emitters leave this empty and populate - // author_principal_id instead. TODO(ENG-4265): remove once the storage - // column is dropped. - AuthorSubject string `protobuf:"bytes,2,opt,name=author_subject,json=authorSubject,proto3" json:"author_subject,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - // The full plan body content. Carried so workflows like - // assign_reviewer can scope a review without a separate get_plan tool - // call. Bytes-per-event cost is acceptable at our event rate - // (single-digit/min in dogfood). - Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` - // Stable principal_id UUID (string form) of the plan author. Equal to - // Event.actor.id when the actor is "human" and the author is the - // caller, but kept on the payload so workflows can match without - // inspecting the envelope. - AuthorPrincipalId string `protobuf:"bytes,5,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanCreated) Reset() { - *x = PlanCreated{} - mi := &file_brent_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanCreated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanCreated) ProtoMessage() {} - -func (x *PlanCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[96] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanCreated.ProtoReflect.Descriptor instead. -func (*PlanCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{96} -} - -func (x *PlanCreated) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanCreated) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanCreated) GetAuthorSubject() string { - if x != nil { - return x.AuthorSubject - } - return "" -} - -func (x *PlanCreated) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PlanCreated) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -func (x *PlanCreated) GetAuthorPrincipalId() string { - if x != nil { - return x.AuthorPrincipalId - } - return "" -} - -// PlanUpdated fires after plans.Store.UpdatePlan commits. Carries a -// self-describing before/after diff for changed fields only. -// -// Aggregate signature it mirrors: -// -// UpdatePlan(ctx, planID, accountName, title, content) -> *Plan -// -// Note: the producer must read the prior plan row before the update so -// it can compute changed_fields, previous, and after. UpdatePlanGuarded -// already does this under FOR UPDATE; UpdatePlan adopts the same pattern. -type PlanUpdated struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // Field names whose values changed in this update (e.g. - // ["title", "content"]). Loops match on this to skip irrelevant - // updates cheaply, e.g. `"content" in event.plan_updated.changed_fields`. - ChangedFields []string `protobuf:"bytes,2,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` - // Previous values for the changed fields only, keyed by field name. - // Fields not in `changed_fields` are not present. google.protobuf.Value - // is used so workflows can compare against any field type without a - // proto change for every new plan column. - Previous map[string]*structpb.Value `protobuf:"bytes,3,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Post-update values for the changed fields only, keyed by field name. - // `after` captures state at emission time — not live object state. - After map[string]*structpb.Value `protobuf:"bytes,5,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanUpdated) Reset() { - *x = PlanUpdated{} - mi := &file_brent_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanUpdated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanUpdated) ProtoMessage() {} - -func (x *PlanUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[97] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanUpdated.ProtoReflect.Descriptor instead. -func (*PlanUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{97} -} - -func (x *PlanUpdated) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanUpdated) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanUpdated) GetChangedFields() []string { - if x != nil { - return x.ChangedFields - } - return nil -} - -func (x *PlanUpdated) GetPrevious() map[string]*structpb.Value { - if x != nil { - return x.Previous - } - return nil -} - -func (x *PlanUpdated) GetAfter() map[string]*structpb.Value { - if x != nil { - return x.After - } - return nil -} - -// PlanDeleted fires after plans.Store.SoftDeletePlan commits. The -// underlying SQL is by (plan_id, account_name); the producer reads the -// prior row to populate author_subject before issuing the soft-delete. -// -// Aggregate signature it mirrors: -// -// SoftDeletePlan(ctx, planID, accountName) -> error -type PlanDeleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // Legacy Auth0 subject of the plan author at delete time. Populated - // only when the deleted plan was created before the FK migration - // (i.e. has no author_principal_id); new deletions populate - // author_principal_id instead. TODO(ENG-4265): remove once the storage - // column is dropped. - AuthorSubject string `protobuf:"bytes,2,opt,name=author_subject,json=authorSubject,proto3" json:"author_subject,omitempty"` - // Stable principal_id UUID (string form) of the plan author at delete - // time. Carried so "notify author of deletion" workflows can match / - // route on it without a get_plan round-trip against an already-deleted - // row. - AuthorPrincipalId string `protobuf:"bytes,3,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanDeleted) Reset() { - *x = PlanDeleted{} - mi := &file_brent_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanDeleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanDeleted) ProtoMessage() {} - -func (x *PlanDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[98] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanDeleted.ProtoReflect.Descriptor instead. -func (*PlanDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{98} -} - -func (x *PlanDeleted) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanDeleted) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanDeleted) GetAuthorSubject() string { - if x != nil { - return x.AuthorSubject - } - return "" -} - -func (x *PlanDeleted) GetAuthorPrincipalId() string { - if x != nil { - return x.AuthorPrincipalId - } - return "" -} - -// ReviewDeleted fires after plans.Store.SoftDeletePlan cascade-soft-deletes -// a review row. One event is emitted per review deleted in the same -// transaction as PlanDeleted. -type ReviewDeleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,5,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - ReviewerPrincipalId string `protobuf:"bytes,4,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReviewDeleted) Reset() { - *x = ReviewDeleted{} - mi := &file_brent_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReviewDeleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReviewDeleted) ProtoMessage() {} - -func (x *ReviewDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[99] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReviewDeleted.ProtoReflect.Descriptor instead. -func (*ReviewDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{99} -} - -func (x *ReviewDeleted) GetReviewId() string { - if x != nil { - return x.ReviewId - } - return "" -} - -func (x *ReviewDeleted) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *ReviewDeleted) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *ReviewDeleted) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -// ReviewRestored fires after plans.Store.RestorePlan clears deleted_at on a -// review that was cascade-soft-deleted with the plan (same deleted_at -// timestamp). One event is emitted per revived review in the same -// transaction as PlanRestored. -type ReviewRestored struct { - state protoimpl.MessageState `protogen:"open.v1"` - ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - ReviewerPrincipalId string `protobuf:"bytes,3,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReviewRestored) Reset() { - *x = ReviewRestored{} - mi := &file_brent_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReviewRestored) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReviewRestored) ProtoMessage() {} - -func (x *ReviewRestored) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[100] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReviewRestored.ProtoReflect.Descriptor instead. -func (*ReviewRestored) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{100} -} - -func (x *ReviewRestored) GetReviewId() string { - if x != nil { - return x.ReviewId - } - return "" -} - -func (x *ReviewRestored) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *ReviewRestored) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -func (x *ReviewRestored) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// PlanRestored fires after plans.Store.RestorePlan commits. -type PlanRestored struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,3,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - AuthorPrincipalId string `protobuf:"bytes,2,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanRestored) Reset() { - *x = PlanRestored{} - mi := &file_brent_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanRestored) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanRestored) ProtoMessage() {} - -func (x *PlanRestored) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[101] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanRestored.ProtoReflect.Descriptor instead. -func (*PlanRestored) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{101} -} - -func (x *PlanRestored) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanRestored) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanRestored) GetAuthorPrincipalId() string { - if x != nil { - return x.AuthorPrincipalId - } - return "" -} - -// ReviewRequested fires after reviews.Store.RequestReview commits. -// -// Aggregate signature it mirrors: -// -// RequestReview(ctx, planID, accountName, reviewerSubject) -> *Review -type ReviewRequested struct { - state protoimpl.MessageState `protogen:"open.v1"` - ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // Stable principal_id UUID (string form) of the assigned reviewer. - ReviewerPrincipalId string `protobuf:"bytes,6,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReviewRequested) Reset() { - *x = ReviewRequested{} - mi := &file_brent_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReviewRequested) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReviewRequested) ProtoMessage() {} - -func (x *ReviewRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[102] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReviewRequested.ProtoReflect.Descriptor instead. -func (*ReviewRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{102} -} - -func (x *ReviewRequested) GetReviewId() string { - if x != nil { - return x.ReviewId - } - return "" -} - -func (x *ReviewRequested) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *ReviewRequested) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *ReviewRequested) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -// ReviewSubmitted fires after reviews.Store.SubmitReview commits. -// -// Aggregate signature it mirrors: -// -// SubmitReview(ctx, reviewID, accountName, reviewerSubject, verdict, -// comment) -> *Review -type ReviewSubmitted struct { - state protoimpl.MessageState `protogen:"open.v1"` - ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,9,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // Verdict-driven status: "approved" or "rejected". Mirrors - // reviews.Review.Status. Loops typically filter on this, e.g. - // `match: event.payload.status == "approved"`. - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - // The reviewer's free-text verdict comment. - VerdictComment string `protobuf:"bytes,5,opt,name=verdict_comment,json=verdictComment,proto3" json:"verdict_comment,omitempty"` - // When the review transitioned to its terminal verdict. - DecidedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=decided_at,json=decidedAt,proto3" json:"decided_at,omitempty"` - // Stable principal_id UUID (string form) of the reviewer who submitted - // the verdict. - ReviewerPrincipalId string `protobuf:"bytes,8,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReviewSubmitted) Reset() { - *x = ReviewSubmitted{} - mi := &file_brent_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReviewSubmitted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReviewSubmitted) ProtoMessage() {} - -func (x *ReviewSubmitted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[103] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReviewSubmitted.ProtoReflect.Descriptor instead. -func (*ReviewSubmitted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{103} -} - -func (x *ReviewSubmitted) GetReviewId() string { - if x != nil { - return x.ReviewId - } - return "" -} - -func (x *ReviewSubmitted) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *ReviewSubmitted) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *ReviewSubmitted) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *ReviewSubmitted) GetVerdictComment() string { - if x != nil { - return x.VerdictComment - } - return "" -} - -func (x *ReviewSubmitted) GetDecidedAt() *timestamppb.Timestamp { - if x != nil { - return x.DecidedAt - } - return nil -} - -func (x *ReviewSubmitted) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -// ReviewNoEligibleReviewer fires when the request_review MCP tool refuses -// to assign a reviewer because the calling account has fewer than two -// active human principals (i.e. there is no second person to ask). This -// is the "Strangers using Brent" tarpit edge: a single-seat tenant has -// nobody else to review a plan. -// -// The actor on the surrounding Event is the calling principal (the would- -// be requester). The object reference points at the plan they tried to -// route. Loops can match on this to drop a soft notice into the SPA -// — "Invite a teammate" — rather than letting the failed tool call sit -// silently in chat history. -// -// Persisted to the events table like every other Event: emitted via -// events.Store.AdminWriteEvent in request_review_tool.go, which dispatches -// to PersistingListener. The write is best-effort (store-owned tx, errors -// logged not propagated) so it never blocks the user-facing voice-guide -// error — see the implementation note in request_review_tool.go. -type ReviewNoEligibleReviewer struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The plan UUID the caller tried to route for review. - PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // The principal_id (UUID string) of the calling user — i.e. the - // would-be requester. Equal to Event.actor.id; duplicated here so - // downstream consumers don't have to reach across the envelope. - RequesterPrincipalId string `protobuf:"bytes,2,opt,name=requester_principal_id,json=requesterPrincipalId,proto3" json:"requester_principal_id,omitempty"` - // The count of active human principals visible to the calling - // account at the moment of the tool call. Always 0 or 1 when this - // event fires (the request_review handler only emits when the count - // is below 2). - ActiveHumanPrincipalCount int32 `protobuf:"varint,3,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReviewNoEligibleReviewer) Reset() { - *x = ReviewNoEligibleReviewer{} - mi := &file_brent_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReviewNoEligibleReviewer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReviewNoEligibleReviewer) ProtoMessage() {} - -func (x *ReviewNoEligibleReviewer) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[104] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReviewNoEligibleReviewer.ProtoReflect.Descriptor instead. -func (*ReviewNoEligibleReviewer) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{104} -} - -func (x *ReviewNoEligibleReviewer) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *ReviewNoEligibleReviewer) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *ReviewNoEligibleReviewer) GetRequesterPrincipalId() string { - if x != nil { - return x.RequesterPrincipalId - } - return "" -} - -func (x *ReviewNoEligibleReviewer) GetActiveHumanPrincipalCount() int32 { - if x != nil { - return x.ActiveHumanPrincipalCount - } - return 0 -} - -// PlanReviewPolicyDecided fires when plans.Store creates a plan and -// stamps the server-owned peer-review requirement (ENG-5637 / ENG-6046). -// New plans snapshot workspaces.review_policy; MCP clients cannot set or -// override these fields. Field 5 remains for wire compatibility but is no -// longer the decision source. -type PlanReviewPolicyDecided struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the plan (matches plans.external_id). - PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"). - PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // required | not_required - ReviewRequirement string `protobuf:"bytes,3,opt,name=review_requirement,json=reviewRequirement,proto3" json:"review_requirement,omitempty"` - // another_human_available | no_other_human | existing_plan | - // workspace_policy_required | workspace_policy_disabled - ReviewPolicyReason string `protobuf:"bytes,4,opt,name=review_policy_reason,json=reviewPolicyReason,proto3" json:"review_policy_reason,omitempty"` - // Active human principal count observed when the decision was made - // (observability only for new workspace-policy snapshots). - ActiveHumanPrincipalCount int32 `protobuf:"varint,5,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` - // Workspace review_policy snapshotted for this plan: disabled | required. - // Empty on legacy events that predate ENG-6046. - WorkspaceReviewPolicy string `protobuf:"bytes,6,opt,name=workspace_review_policy,json=workspaceReviewPolicy,proto3" json:"workspace_review_policy,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanReviewPolicyDecided) Reset() { - *x = PlanReviewPolicyDecided{} - mi := &file_brent_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanReviewPolicyDecided) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanReviewPolicyDecided) ProtoMessage() {} - -func (x *PlanReviewPolicyDecided) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[105] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanReviewPolicyDecided.ProtoReflect.Descriptor instead. -func (*PlanReviewPolicyDecided) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{105} -} - -func (x *PlanReviewPolicyDecided) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanReviewPolicyDecided) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanReviewPolicyDecided) GetReviewRequirement() string { - if x != nil { - return x.ReviewRequirement - } - return "" -} - -func (x *PlanReviewPolicyDecided) GetReviewPolicyReason() string { - if x != nil { - return x.ReviewPolicyReason - } - return "" -} - -func (x *PlanReviewPolicyDecided) GetActiveHumanPrincipalCount() int32 { - if x != nil { - return x.ActiveHumanPrincipalCount - } - return 0 -} - -func (x *PlanReviewPolicyDecided) GetWorkspaceReviewPolicy() string { - if x != nil { - return x.WorkspaceReviewPolicy - } - return "" -} - -// WorkspaceReviewPolicyUpdated fires when an operator changes -// workspaces.review_policy (ENG-6046 / BRENT-824). The Event actor is the -// operator; the object reference is the workspace. -type WorkspaceReviewPolicyUpdated struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Previous policy value: disabled | required. - PreviousPolicy string `protobuf:"bytes,1,opt,name=previous_policy,json=previousPolicy,proto3" json:"previous_policy,omitempty"` - // New policy value: disabled | required. - NewPolicy string `protobuf:"bytes,2,opt,name=new_policy,json=newPolicy,proto3" json:"new_policy,omitempty"` - // Active human principal count observed at update time. - ActiveHumanPrincipalCount int32 `protobuf:"varint,3,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceReviewPolicyUpdated) Reset() { - *x = WorkspaceReviewPolicyUpdated{} - mi := &file_brent_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceReviewPolicyUpdated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceReviewPolicyUpdated) ProtoMessage() {} - -func (x *WorkspaceReviewPolicyUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[106] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceReviewPolicyUpdated.ProtoReflect.Descriptor instead. -func (*WorkspaceReviewPolicyUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{106} -} - -func (x *WorkspaceReviewPolicyUpdated) GetPreviousPolicy() string { - if x != nil { - return x.PreviousPolicy - } - return "" -} - -func (x *WorkspaceReviewPolicyUpdated) GetNewPolicy() string { - if x != nil { - return x.NewPolicy - } - return "" -} - -func (x *WorkspaceReviewPolicyUpdated) GetActiveHumanPrincipalCount() int32 { - if x != nil { - return x.ActiveHumanPrincipalCount - } - return 0 -} - -// PrincipalCreated fires after a principal row is inserted by -// principals.Store. Emitted exactly once per principal_id; for the system -// (kind='agent') principal the bootstrap shape sets the actor equal to the -// subject (the system principal is its own creator) per D27 of -// brent-plan-auth-milestone.md. -type PrincipalCreated struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the new principal (matches principals.external_id). - PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - // 'human' | 'agent' | 'group'. Mirrors principals.kind. - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - // Friendly name surfaced in the SPA, Slack pings, and audit log queries. - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PrincipalCreated) Reset() { - *x = PrincipalCreated{} - mi := &file_brent_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PrincipalCreated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrincipalCreated) ProtoMessage() {} - -func (x *PrincipalCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[107] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrincipalCreated.ProtoReflect.Descriptor instead. -func (*PrincipalCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{107} -} - -func (x *PrincipalCreated) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *PrincipalCreated) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *PrincipalCreated) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -// PrincipalUpdated fires after a mutation on principals (display-name refresh, -// admin status changes, shadow lifecycle, etc.). Field diffs use the uniform -// changed_fields / previous / after triple (changed fields only). `after` -// captures post-update values at emission time — not live principal state. -type PrincipalUpdated struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the updated principal. - PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - // Field names whose values changed in this update (e.g. ["display_name"]). - ChangedFields []string `protobuf:"bytes,2,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` - // Previous values for the changed fields only, keyed by field name. - // Fields not in `changed_fields` are not present. - Previous map[string]*structpb.Value `protobuf:"bytes,3,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Post-update values for the changed fields only, keyed by field name. - // Frozen at emission time — not live object state. - After map[string]*structpb.Value `protobuf:"bytes,4,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PrincipalUpdated) Reset() { - *x = PrincipalUpdated{} - mi := &file_brent_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PrincipalUpdated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrincipalUpdated) ProtoMessage() {} - -func (x *PrincipalUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[108] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrincipalUpdated.ProtoReflect.Descriptor instead. -func (*PrincipalUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{108} -} - -func (x *PrincipalUpdated) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *PrincipalUpdated) GetChangedFields() []string { - if x != nil { - return x.ChangedFields - } - return nil -} - -func (x *PrincipalUpdated) GetPrevious() map[string]*structpb.Value { - if x != nil { - return x.Previous - } - return nil -} - -func (x *PrincipalUpdated) GetAfter() map[string]*structpb.Value { - if x != nil { - return x.After - } - return nil -} - -// PrincipalTombstoned fires when a principal transitions to a -// tombstoned status. Reserved for the Friends-of-friends invite flow -// (per docs/designs/project-brent/core-components/friends-of-friends.md); -// no Phase 1 producer emits this today. -type PrincipalTombstoned struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - // 'human' | 'agent' | 'group'. Mirrors principals.kind at tombstone time. - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PrincipalTombstoned) Reset() { - *x = PrincipalTombstoned{} - mi := &file_brent_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PrincipalTombstoned) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrincipalTombstoned) ProtoMessage() {} - -func (x *PrincipalTombstoned) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[109] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrincipalTombstoned.ProtoReflect.Descriptor instead. -func (*PrincipalTombstoned) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{109} -} - -func (x *PrincipalTombstoned) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *PrincipalTombstoned) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -// WorkspaceCreated fires when CreateWorkspace mints a new workspaces row -// (Brent Workspaces P1 / BRENT-412), in the same transaction as the row -// insert and the creator's admin provisioning. -type WorkspaceCreated struct { - state protoimpl.MessageState `protogen:"open.v1"` - // uuid tenant key of the new workspace (matches workspaces.workspace_id). - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - // ASCII URL key derived from display_name at create time. - Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` - // Original user-entered workspace name, preserved verbatim. - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - // principal_id (uuid) of the human provisioned as the workspace's first admin. - AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceCreated) Reset() { - *x = WorkspaceCreated{} - mi := &file_brent_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceCreated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceCreated) ProtoMessage() {} - -func (x *WorkspaceCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[110] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceCreated.ProtoReflect.Descriptor instead. -func (*WorkspaceCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{110} -} - -func (x *WorkspaceCreated) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *WorkspaceCreated) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *WorkspaceCreated) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *WorkspaceCreated) GetAdminPrincipalId() string { - if x != nil { - return x.AdminPrincipalId - } - return "" -} - -// WorkspaceOnboardingCompleted fires when CompleteWorkspaceOnboarding flips a -// workspace's onboarding_completed flag to true (BRENT-471), in the same -// transaction as the row update. Only an active admin member can trigger it. -type WorkspaceOnboardingCompleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - // uuid tenant key of the workspace (matches workspaces.workspace_id). - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - // principal_id (uuid) of the active admin who completed onboarding. - CompletedByPrincipalId string `protobuf:"bytes,2,opt,name=completed_by_principal_id,json=completedByPrincipalId,proto3" json:"completed_by_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceOnboardingCompleted) Reset() { - *x = WorkspaceOnboardingCompleted{} - mi := &file_brent_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceOnboardingCompleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceOnboardingCompleted) ProtoMessage() {} - -func (x *WorkspaceOnboardingCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[111] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceOnboardingCompleted.ProtoReflect.Descriptor instead. -func (*WorkspaceOnboardingCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{111} -} - -func (x *WorkspaceOnboardingCompleted) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *WorkspaceOnboardingCompleted) GetCompletedByPrincipalId() string { - if x != nil { - return x.CompletedByPrincipalId - } - return "" -} - -// WorkspaceRenamed fires when RenameWorkspace edits a workspace's display_name -// and re-derives its slug (BRENT-464), in the same transaction as the row -// update. Only an active admin member can trigger it. old_slug equals new_slug -// when the new name slugified to empty and the existing slug was preserved. -type WorkspaceRenamed struct { - state protoimpl.MessageState `protogen:"open.v1"` - // uuid tenant key of the workspace (matches workspaces.workspace_id). - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - // Slug before the rename. - OldSlug string `protobuf:"bytes,2,opt,name=old_slug,json=oldSlug,proto3" json:"old_slug,omitempty"` - // Slug after the rename (re-derived from new_display_name; equals old_slug - // when the new name had no usable slug). - NewSlug string `protobuf:"bytes,3,opt,name=new_slug,json=newSlug,proto3" json:"new_slug,omitempty"` - // display_name before the rename. - OldDisplayName string `protobuf:"bytes,4,opt,name=old_display_name,json=oldDisplayName,proto3" json:"old_display_name,omitempty"` - // display_name after the rename. - NewDisplayName string `protobuf:"bytes,5,opt,name=new_display_name,json=newDisplayName,proto3" json:"new_display_name,omitempty"` - // principal_id (uuid) of the active admin who performed the rename. - AdminPrincipalId string `protobuf:"bytes,6,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceRenamed) Reset() { - *x = WorkspaceRenamed{} - mi := &file_brent_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceRenamed) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceRenamed) ProtoMessage() {} - -func (x *WorkspaceRenamed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[112] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceRenamed.ProtoReflect.Descriptor instead. -func (*WorkspaceRenamed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{112} -} - -func (x *WorkspaceRenamed) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *WorkspaceRenamed) GetOldSlug() string { - if x != nil { - return x.OldSlug - } - return "" -} - -func (x *WorkspaceRenamed) GetNewSlug() string { - if x != nil { - return x.NewSlug - } - return "" -} - -func (x *WorkspaceRenamed) GetOldDisplayName() string { - if x != nil { - return x.OldDisplayName - } - return "" -} - -func (x *WorkspaceRenamed) GetNewDisplayName() string { - if x != nil { - return x.NewDisplayName - } - return "" -} - -func (x *WorkspaceRenamed) GetAdminPrincipalId() string { - if x != nil { - return x.AdminPrincipalId - } - return "" -} - -// WorkspaceDeleted fires after workspaces.Store.DeleteWorkspace commits. -type WorkspaceDeleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - // Original slug before tombstoning to deleted-{workspace_id}. - Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceDeleted) Reset() { - *x = WorkspaceDeleted{} - mi := &file_brent_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceDeleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceDeleted) ProtoMessage() {} - -func (x *WorkspaceDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[113] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceDeleted.ProtoReflect.Descriptor instead. -func (*WorkspaceDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{113} -} - -func (x *WorkspaceDeleted) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *WorkspaceDeleted) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *WorkspaceDeleted) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -// WorkspaceMemberJoined fires when a human principal becomes an active member -// of a workspace via a join flow — domain auto-approve (JoinByDomain) or invite -// acceptance — in the same transaction as the membership write. NOT emitted for -// the founding admin on CreateWorkspace (that is covered by WorkspaceCreated). -type WorkspaceMemberJoined struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` // "member" | "admin" - Source JoinSource `protobuf:"varint,5,opt,name=source,proto3,enum=until.JoinSource" json:"source,omitempty"` // JOIN_SOURCE_DOMAIN | JOIN_SOURCE_INVITE - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceMemberJoined) Reset() { - *x = WorkspaceMemberJoined{} - mi := &file_brent_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceMemberJoined) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceMemberJoined) ProtoMessage() {} - -func (x *WorkspaceMemberJoined) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[114] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceMemberJoined.ProtoReflect.Descriptor instead. -func (*WorkspaceMemberJoined) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{114} -} - -func (x *WorkspaceMemberJoined) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *WorkspaceMemberJoined) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *WorkspaceMemberJoined) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *WorkspaceMemberJoined) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -func (x *WorkspaceMemberJoined) GetSource() JoinSource { - if x != nil { - return x.Source - } - return JoinSource_JOIN_SOURCE_UNSPECIFIED -} - -// WorkspaceMemberLeft fires when an active member's principal is tombstoned -// (member removal), in the same transaction as the tombstone. NOT emitted when -// an unaccepted invite (shadow) is revoked — that principal never joined. -type WorkspaceMemberLeft struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceMemberLeft) Reset() { - *x = WorkspaceMemberLeft{} - mi := &file_brent_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceMemberLeft) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceMemberLeft) ProtoMessage() {} - -func (x *WorkspaceMemberLeft) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[115] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceMemberLeft.ProtoReflect.Descriptor instead. -func (*WorkspaceMemberLeft) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{115} -} - -func (x *WorkspaceMemberLeft) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *WorkspaceMemberLeft) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *WorkspaceMemberLeft) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -// ApprovedEmailDomainAdded fires when an admin adds an approved email domain -// (ENG-5202), in the same transaction as the row insert. The domain starts -// unverified. -type ApprovedEmailDomainAdded struct { - state protoimpl.MessageState `protogen:"open.v1"` - // uuid tenant key of the workspace (matches workspaces.workspace_id). - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - // External UUID of the workspace_approved_email_domains row. - ApprovedEmailDomainId string `protobuf:"bytes,2,opt,name=approved_email_domain_id,json=approvedEmailDomainId,proto3" json:"approved_email_domain_id,omitempty"` - // The normalized domain that was added. - Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` - // principal_id (uuid) of the active admin who added the domain. - AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ApprovedEmailDomainAdded) Reset() { - *x = ApprovedEmailDomainAdded{} - mi := &file_brent_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ApprovedEmailDomainAdded) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApprovedEmailDomainAdded) ProtoMessage() {} - -func (x *ApprovedEmailDomainAdded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[116] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApprovedEmailDomainAdded.ProtoReflect.Descriptor instead. -func (*ApprovedEmailDomainAdded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{116} -} - -func (x *ApprovedEmailDomainAdded) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *ApprovedEmailDomainAdded) GetApprovedEmailDomainId() string { - if x != nil { - return x.ApprovedEmailDomainId - } - return "" -} - -func (x *ApprovedEmailDomainAdded) GetDomain() string { - if x != nil { - return x.Domain - } - return "" -} - -func (x *ApprovedEmailDomainAdded) GetAdminPrincipalId() string { - if x != nil { - return x.AdminPrincipalId - } - return "" -} - -// ApprovedEmailDomainVerified fires when an admin verifies a domain with its -// emailed code, in the same transaction as the verified_at update. -type ApprovedEmailDomainVerified struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - ApprovedEmailDomainId string `protobuf:"bytes,2,opt,name=approved_email_domain_id,json=approvedEmailDomainId,proto3" json:"approved_email_domain_id,omitempty"` - Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` - // principal_id (uuid) of the active admin who verified the domain. - AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ApprovedEmailDomainVerified) Reset() { - *x = ApprovedEmailDomainVerified{} - mi := &file_brent_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ApprovedEmailDomainVerified) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApprovedEmailDomainVerified) ProtoMessage() {} - -func (x *ApprovedEmailDomainVerified) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[117] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApprovedEmailDomainVerified.ProtoReflect.Descriptor instead. -func (*ApprovedEmailDomainVerified) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{117} -} - -func (x *ApprovedEmailDomainVerified) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *ApprovedEmailDomainVerified) GetApprovedEmailDomainId() string { - if x != nil { - return x.ApprovedEmailDomainId - } - return "" -} - -func (x *ApprovedEmailDomainVerified) GetDomain() string { - if x != nil { - return x.Domain - } - return "" -} - -func (x *ApprovedEmailDomainVerified) GetAdminPrincipalId() string { - if x != nil { - return x.AdminPrincipalId - } - return "" -} - -// ApprovedEmailDomainDeleted fires when an admin deletes an approved email -// domain, in the same transaction as the row delete. -type ApprovedEmailDomainDeleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - ApprovedEmailDomainId string `protobuf:"bytes,2,opt,name=approved_email_domain_id,json=approvedEmailDomainId,proto3" json:"approved_email_domain_id,omitempty"` - Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` - // principal_id (uuid) of the active admin who deleted the domain. - AdminPrincipalId string `protobuf:"bytes,4,opt,name=admin_principal_id,json=adminPrincipalId,proto3" json:"admin_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ApprovedEmailDomainDeleted) Reset() { - *x = ApprovedEmailDomainDeleted{} - mi := &file_brent_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ApprovedEmailDomainDeleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApprovedEmailDomainDeleted) ProtoMessage() {} - -func (x *ApprovedEmailDomainDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[118] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApprovedEmailDomainDeleted.ProtoReflect.Descriptor instead. -func (*ApprovedEmailDomainDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{118} -} - -func (x *ApprovedEmailDomainDeleted) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *ApprovedEmailDomainDeleted) GetApprovedEmailDomainId() string { - if x != nil { - return x.ApprovedEmailDomainId - } - return "" -} - -func (x *ApprovedEmailDomainDeleted) GetDomain() string { - if x != nil { - return x.Domain - } - return "" -} - -func (x *ApprovedEmailDomainDeleted) GetAdminPrincipalId() string { - if x != nil { - return x.AdminPrincipalId - } - return "" -} - -// MCPGrantWorkspaceBindingChanged fires when an opaque MCP grant key is first -// bound to a workspace or when an existing active binding is superseded. -type MCPGrantWorkspaceBindingChanged struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the new mcp_grant_workspace_bindings row. - BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` - // Opaque provider-issued key used to resolve this MCP token family. - GrantKey string `protobuf:"bytes,2,opt,name=grant_key,json=grantKey,proto3" json:"grant_key,omitempty"` - // Workspace id the grant now resolves to. - WorkspaceId string `protobuf:"bytes,3,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - // Auth0 subject observed on the token exchange that created the binding. - Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` - // "created" for first binding, "superseded" when replacing a prior active row. - Action string `protobuf:"bytes,5,opt,name=action,proto3" json:"action,omitempty"` - // External UUID of the superseded binding row, when action is "superseded". - PreviousBindingId string `protobuf:"bytes,6,opt,name=previous_binding_id,json=previousBindingId,proto3" json:"previous_binding_id,omitempty"` - // Workspace id from the superseded binding row. - PreviousWorkspaceId string `protobuf:"bytes,7,opt,name=previous_workspace_id,json=previousWorkspaceId,proto3" json:"previous_workspace_id,omitempty"` - // Subject from the superseded binding row. - PreviousSubject string `protobuf:"bytes,8,opt,name=previous_subject,json=previousSubject,proto3" json:"previous_subject,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *MCPGrantWorkspaceBindingChanged) Reset() { - *x = MCPGrantWorkspaceBindingChanged{} - mi := &file_brent_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *MCPGrantWorkspaceBindingChanged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MCPGrantWorkspaceBindingChanged) ProtoMessage() {} - -func (x *MCPGrantWorkspaceBindingChanged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[119] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MCPGrantWorkspaceBindingChanged.ProtoReflect.Descriptor instead. -func (*MCPGrantWorkspaceBindingChanged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{119} -} - -func (x *MCPGrantWorkspaceBindingChanged) GetBindingId() string { - if x != nil { - return x.BindingId - } - return "" -} - -func (x *MCPGrantWorkspaceBindingChanged) GetGrantKey() string { - if x != nil { - return x.GrantKey - } - return "" -} - -func (x *MCPGrantWorkspaceBindingChanged) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *MCPGrantWorkspaceBindingChanged) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -func (x *MCPGrantWorkspaceBindingChanged) GetAction() string { - if x != nil { - return x.Action - } - return "" -} - -func (x *MCPGrantWorkspaceBindingChanged) GetPreviousBindingId() string { - if x != nil { - return x.PreviousBindingId - } - return "" -} - -func (x *MCPGrantWorkspaceBindingChanged) GetPreviousWorkspaceId() string { - if x != nil { - return x.PreviousWorkspaceId - } - return "" -} - -func (x *MCPGrantWorkspaceBindingChanged) GetPreviousSubject() string { - if x != nil { - return x.PreviousSubject - } - return "" -} - -// IdentityCreated fires after a principal_identities row is inserted by -// the winning first-run insert during onboarding (ProvisionPrincipalTx / -// CreateWorkspace). Lost-race inserters do not emit (the winning transaction -// already wrote one). -type IdentityCreated struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the principal_identities row. - IdentityId string `protobuf:"bytes,1,opt,name=identity_id,json=identityId,proto3" json:"identity_id,omitempty"` - // External UUID of the principal that owns this identity. - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - // 'auth0' | 'oauth_client_credentials'. Mirrors principal_identities.provider. - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - // Provider-side stable subject (e.g. Auth0 'sub' claim). - Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *IdentityCreated) Reset() { - *x = IdentityCreated{} - mi := &file_brent_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *IdentityCreated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdentityCreated) ProtoMessage() {} - -func (x *IdentityCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[120] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdentityCreated.ProtoReflect.Descriptor instead. -func (*IdentityCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{120} -} - -func (x *IdentityCreated) GetIdentityId() string { - if x != nil { - return x.IdentityId - } - return "" -} - -func (x *IdentityCreated) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *IdentityCreated) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *IdentityCreated) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -// IdentityDeleted fires when a principal_identities row is removed (e.g. -// principal-merge or de-provisioning). No Phase 1 producer emits this -// today; reserved for future identity-management surfaces. -type IdentityDeleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - IdentityId string `protobuf:"bytes,1,opt,name=identity_id,json=identityId,proto3" json:"identity_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *IdentityDeleted) Reset() { - *x = IdentityDeleted{} - mi := &file_brent_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *IdentityDeleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IdentityDeleted) ProtoMessage() {} - -func (x *IdentityDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[121] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IdentityDeleted.ProtoReflect.Descriptor instead. -func (*IdentityDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{121} -} - -func (x *IdentityDeleted) GetIdentityId() string { - if x != nil { - return x.IdentityId - } - return "" -} - -func (x *IdentityDeleted) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *IdentityDeleted) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *IdentityDeleted) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -// BindingCreated fires when a principal_bindings row transitions to -// state='verified' as a fresh row — either an UpsertVerifiedBinding -// first-call (onboarding wizard) or the INSERT half of a SetMyBinding -// rotation (which also emits BindingDeleted for the tombstoned old row; -// see D3 of the Phase 1.7 plan). -type BindingCreated struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the principal_bindings row. - BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` - // External UUID of the principal the binding belongs to. - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - // 'github' | 'linear' | 'slack' | 'email'. Mirrors principal_bindings.kind. - Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` - // The looked-up value (Slack member ID, GitHub login, Linear slug, - // email). Mirrors principal_bindings.handle. - Handle string `protobuf:"bytes,4,opt,name=handle,proto3" json:"handle,omitempty"` - // 'verified' on emission today. Carried explicitly for forward - // compatibility with the Friends-of-friends 'claimed' / 'disputed' - // surfaces. - State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *BindingCreated) Reset() { - *x = BindingCreated{} - mi := &file_brent_proto_msgTypes[122] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BindingCreated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BindingCreated) ProtoMessage() {} - -func (x *BindingCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[122] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BindingCreated.ProtoReflect.Descriptor instead. -func (*BindingCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{122} -} - -func (x *BindingCreated) GetBindingId() string { - if x != nil { - return x.BindingId - } - return "" -} - -func (x *BindingCreated) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *BindingCreated) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *BindingCreated) GetHandle() string { - if x != nil { - return x.Handle - } - return "" -} - -func (x *BindingCreated) GetState() string { - if x != nil { - return x.State - } - return "" -} - -// BindingUpdated fires for in-place mutations of a verified binding row -// (subject refresh, admin upsert DO UPDATE, shadow revival). Field diffs -// use the uniform changed_fields / previous / after triple (changed fields -// only). `after` captures post-update values at emission time — not live -// binding state. -type BindingUpdated struct { - state protoimpl.MessageState `protogen:"open.v1"` - BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - ChangedFields []string `protobuf:"bytes,3,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` - // Previous values for changed_fields only, keyed by field name. - Previous map[string]*structpb.Value `protobuf:"bytes,4,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Post-update values for changed_fields only. Frozen at emission time. - After map[string]*structpb.Value `protobuf:"bytes,5,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *BindingUpdated) Reset() { - *x = BindingUpdated{} - mi := &file_brent_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BindingUpdated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BindingUpdated) ProtoMessage() {} - -func (x *BindingUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[123] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BindingUpdated.ProtoReflect.Descriptor instead. -func (*BindingUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{123} -} - -func (x *BindingUpdated) GetBindingId() string { - if x != nil { - return x.BindingId - } - return "" -} - -func (x *BindingUpdated) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *BindingUpdated) GetChangedFields() []string { - if x != nil { - return x.ChangedFields - } - return nil -} - -func (x *BindingUpdated) GetPrevious() map[string]*structpb.Value { - if x != nil { - return x.Previous - } - return nil -} - -func (x *BindingUpdated) GetAfter() map[string]*structpb.Value { - if x != nil { - return x.After - } - return nil -} - -// BindingDeleted fires when a verified binding row transitions to -// state='tombstoned' — either via DeleteMyBinding or the tombstone half of -// a SetMyBinding rotation. -type BindingDeleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - BindingId string `protobuf:"bytes,1,opt,name=binding_id,json=bindingId,proto3" json:"binding_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` - Handle string `protobuf:"bytes,4,opt,name=handle,proto3" json:"handle,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *BindingDeleted) Reset() { - *x = BindingDeleted{} - mi := &file_brent_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BindingDeleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BindingDeleted) ProtoMessage() {} - -func (x *BindingDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[124] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BindingDeleted.ProtoReflect.Descriptor instead. -func (*BindingDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{124} -} - -func (x *BindingDeleted) GetBindingId() string { - if x != nil { - return x.BindingId - } - return "" -} - -func (x *BindingDeleted) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *BindingDeleted) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *BindingDeleted) GetHandle() string { - if x != nil { - return x.Handle - } - return "" -} - -// CredentialConnected fires when principals.Store upserts a per-principal -// integration secret (provider-agnostic; Cursor is provider='cursor'). -type CredentialConnected struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - AccountEmail string `protobuf:"bytes,2,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"` - SecretLast4 string `protobuf:"bytes,3,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CredentialConnected) Reset() { - *x = CredentialConnected{} - mi := &file_brent_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CredentialConnected) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CredentialConnected) ProtoMessage() {} - -func (x *CredentialConnected) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[125] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CredentialConnected.ProtoReflect.Descriptor instead. -func (*CredentialConnected) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{125} -} - -func (x *CredentialConnected) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *CredentialConnected) GetAccountEmail() string { - if x != nil { - return x.AccountEmail - } - return "" -} - -func (x *CredentialConnected) GetSecretLast4() string { - if x != nil { - return x.SecretLast4 - } - return "" -} - -// CredentialRevoked fires when principals.Store deletes a per-principal -// integration secret for a provider. -type CredentialRevoked struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CredentialRevoked) Reset() { - *x = CredentialRevoked{} - mi := &file_brent_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CredentialRevoked) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CredentialRevoked) ProtoMessage() {} - -func (x *CredentialRevoked) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[126] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CredentialRevoked.ProtoReflect.Descriptor instead. -func (*CredentialRevoked) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{126} -} - -func (x *CredentialRevoked) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -// WorkspaceLLMCredentialConnected fires when credentials.Store upserts a -// workspace-level LLM provider key (provider-agnostic; OpenAI is provider='openai'). -type WorkspaceLLMCredentialConnected struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - SecretLast4 string `protobuf:"bytes,2,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceLLMCredentialConnected) Reset() { - *x = WorkspaceLLMCredentialConnected{} - mi := &file_brent_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceLLMCredentialConnected) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceLLMCredentialConnected) ProtoMessage() {} - -func (x *WorkspaceLLMCredentialConnected) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[127] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceLLMCredentialConnected.ProtoReflect.Descriptor instead. -func (*WorkspaceLLMCredentialConnected) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{127} -} - -func (x *WorkspaceLLMCredentialConnected) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *WorkspaceLLMCredentialConnected) GetSecretLast4() string { - if x != nil { - return x.SecretLast4 - } - return "" -} - -// WorkspaceLLMCredentialRevoked fires when credentials.Store deletes a -// workspace-level LLM provider key for a provider. -type WorkspaceLLMCredentialRevoked struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceLLMCredentialRevoked) Reset() { - *x = WorkspaceLLMCredentialRevoked{} - mi := &file_brent_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceLLMCredentialRevoked) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceLLMCredentialRevoked) ProtoMessage() {} - -func (x *WorkspaceLLMCredentialRevoked) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[128] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceLLMCredentialRevoked.ProtoReflect.Descriptor instead. -func (*WorkspaceLLMCredentialRevoked) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{128} -} - -func (x *WorkspaceLLMCredentialRevoked) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -// ReviewDriveByStarted fires from reviews.Store.SubmitReview's drive-by -// branch (D28 attribution: caller != assigned reviewer). Replaces the -// ReviewRequested emission previously fired on this branch; the -// non-drive-by request-time-assignment path continues to emit -// ReviewRequested. -type ReviewDriveByStarted struct { - state protoimpl.MessageState `protogen:"open.v1"` - // External UUID of the review row. - ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - // External UUID of the plan being reviewed. - PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - // Human-readable plan identifier (project_code + id_number, e.g. "BRENT-42"), - // carried so workflow CEL reads plan.friendly_id without a lookup. - PlanFriendlyId string `protobuf:"bytes,5,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // Stable principal_id (UUID string) of the caller — i.e. the person - // submitting the drive-by review. Equal to Event.actor.id; duplicated - // here so downstream consumers don't have to reach across the envelope. - CallerPrincipalId string `protobuf:"bytes,3,opt,name=caller_principal_id,json=callerPrincipalId,proto3" json:"caller_principal_id,omitempty"` - // Stable principal_id (UUID string) of the originally assigned reviewer. - // Different from caller_principal_id by definition (otherwise the call - // would not be a drive-by). - AssignedReviewerPrincipalId string `protobuf:"bytes,4,opt,name=assigned_reviewer_principal_id,json=assignedReviewerPrincipalId,proto3" json:"assigned_reviewer_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReviewDriveByStarted) Reset() { - *x = ReviewDriveByStarted{} - mi := &file_brent_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReviewDriveByStarted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReviewDriveByStarted) ProtoMessage() {} - -func (x *ReviewDriveByStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[129] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReviewDriveByStarted.ProtoReflect.Descriptor instead. -func (*ReviewDriveByStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{129} -} - -func (x *ReviewDriveByStarted) GetReviewId() string { - if x != nil { - return x.ReviewId - } - return "" -} - -func (x *ReviewDriveByStarted) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *ReviewDriveByStarted) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *ReviewDriveByStarted) GetCallerPrincipalId() string { - if x != nil { - return x.CallerPrincipalId - } - return "" -} - -func (x *ReviewDriveByStarted) GetAssignedReviewerPrincipalId() string { - if x != nil { - return x.AssignedReviewerPrincipalId - } - return "" -} - -// OtherEvent is the opaque external-event payload in this proto slice. -// GitHub deliveries use GitHubWebhook (below) and never OtherEvent. -// Slack deliveries use the typed Slack*Event family (SlackMentionReceived, -// SlackReactionAdded); OtherEvent remains available for any future -// untyped external source. -// -// CEL `match:` filters reach into the fields map, e.g.: -// -// event.payload.source == "slack" -// && event.payload.event_kind == "app_mention" -// && event.payload.fields["channel"] == "C12345" -type OtherEvent struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Integration name. Known value today: "github". Future: any source we - // haven't added a typed family for. - Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - // Upstream event identifier, e.g. "release", "issue.opened". - EventKind string `protobuf:"bytes,2,opt,name=event_kind,json=eventKind,proto3" json:"event_kind,omitempty"` - // Per-event values the producer extracted from the inbound payload. - // The available keys vary by (source, event_kind). The - // `brent://workflows/syntax` MCP resource enumerates the supported - // keys for every event_kind. - Fields map[string]string `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *OtherEvent) Reset() { - *x = OtherEvent{} - mi := &file_brent_proto_msgTypes[130] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *OtherEvent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OtherEvent) ProtoMessage() {} - -func (x *OtherEvent) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[130] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OtherEvent.ProtoReflect.Descriptor instead. -func (*OtherEvent) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{130} -} - -func (x *OtherEvent) GetSource() string { - if x != nil { - return x.Source - } - return "" -} - -func (x *OtherEvent) GetEventKind() string { - if x != nil { - return x.EventKind - } - return "" -} - -func (x *OtherEvent) GetFields() map[string]string { - if x != nil { - return x.Fields - } - return nil -} - -// UnknownStoredPayload is returned on read when a persisted events row -// cannot be reconstructed into a typed Event.payload variant. -type UnknownStoredPayload struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Value from events.payload_type — may name a removed or typo'd variant. - StoredPayloadType string `protobuf:"bytes,1,opt,name=stored_payload_type,json=storedPayloadType,proto3" json:"stored_payload_type,omitempty"` - // Raw bytes from events.payload (protojson when written by PersistingListener). - RawPayloadJson []byte `protobuf:"bytes,2,opt,name=raw_payload_json,json=rawPayloadJson,proto3" json:"raw_payload_json,omitempty"` - // Reason code: EMPTY_PAYLOAD_TYPE | UNKNOWN_PAYLOAD_TYPE | PAYLOAD_UNMARSHAL_FAILED - Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UnknownStoredPayload) Reset() { - *x = UnknownStoredPayload{} - mi := &file_brent_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UnknownStoredPayload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnknownStoredPayload) ProtoMessage() {} - -func (x *UnknownStoredPayload) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[131] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UnknownStoredPayload.ProtoReflect.Descriptor instead. -func (*UnknownStoredPayload) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{131} -} - -func (x *UnknownStoredPayload) GetStoredPayloadType() string { - if x != nil { - return x.StoredPayloadType - } - return "" -} - -func (x *UnknownStoredPayload) GetRawPayloadJson() []byte { - if x != nil { - return x.RawPayloadJson - } - return nil -} - -func (x *UnknownStoredPayload) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -// PullRequestOpened fires when pullrequests.Store.Upsert inserts a new -// pull_requests row. Routing snapshot enumerates the fields CEL match -// filters need to dispatch without a DB read. -type PullRequestOpened struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestOpened) Reset() { - *x = PullRequestOpened{} - mi := &file_brent_proto_msgTypes[132] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestOpened) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestOpened) ProtoMessage() {} - -func (x *PullRequestOpened) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[132] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestOpened.ProtoReflect.Descriptor instead. -func (*PullRequestOpened) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{132} -} - -func (x *PullRequestOpened) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestOpened) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestOpened) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestOpened) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestOpened) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequestOpened) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestOpened) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestOpened) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequestOpened) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequestOpened) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestOpened) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestOpened) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestOpened) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestOpened) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -// PullRequestSynchronized fires when Upsert detects that head_sha changed. -type PullRequestSynchronized struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - PreviousHeadSha string `protobuf:"bytes,12,opt,name=previous_head_sha,json=previousHeadSha,proto3" json:"previous_head_sha,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestSynchronized) Reset() { - *x = PullRequestSynchronized{} - mi := &file_brent_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestSynchronized) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestSynchronized) ProtoMessage() {} - -func (x *PullRequestSynchronized) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[133] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestSynchronized.ProtoReflect.Descriptor instead. -func (*PullRequestSynchronized) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{133} -} - -func (x *PullRequestSynchronized) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestSynchronized) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestSynchronized) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestSynchronized) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestSynchronized) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequestSynchronized) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestSynchronized) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestSynchronized) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequestSynchronized) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequestSynchronized) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestSynchronized) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestSynchronized) GetPreviousHeadSha() string { - if x != nil { - return x.PreviousHeadSha - } - return "" -} - -func (x *PullRequestSynchronized) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestSynchronized) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestSynchronized) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -// PullRequestUpdated fires when Upsert detects a change in any tracked -// non-head field. Routing snapshot fields (title, body, branches, etc.) -// remain on the message for convenience; field diffs use the uniform -// changed_fields / previous / after triple (changed fields only). -// `after` captures post-update values at emission time — not live PR state. -type PullRequestUpdated struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - ChangedFields []string `protobuf:"bytes,12,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - // Previous values for changed_fields only, keyed by field name. - Previous map[string]*structpb.Value `protobuf:"bytes,17,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Post-update values for changed_fields only. Frozen at emission time. - After map[string]*structpb.Value `protobuf:"bytes,18,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestUpdated) Reset() { - *x = PullRequestUpdated{} - mi := &file_brent_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestUpdated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestUpdated) ProtoMessage() {} - -func (x *PullRequestUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[134] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestUpdated.ProtoReflect.Descriptor instead. -func (*PullRequestUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{134} -} - -func (x *PullRequestUpdated) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestUpdated) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestUpdated) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestUpdated) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestUpdated) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequestUpdated) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestUpdated) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestUpdated) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequestUpdated) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequestUpdated) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestUpdated) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestUpdated) GetChangedFields() []string { - if x != nil { - return x.ChangedFields - } - return nil -} - -func (x *PullRequestUpdated) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestUpdated) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -func (x *PullRequestUpdated) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestUpdated) GetPrevious() map[string]*structpb.Value { - if x != nil { - return x.Previous - } - return nil -} - -func (x *PullRequestUpdated) GetAfter() map[string]*structpb.Value { - if x != nil { - return x.After - } - return nil -} - -// PullRequestClosed fires when Close transitions state to 'closed'. -type PullRequestClosed struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - Merged bool `protobuf:"varint,12,opt,name=merged,proto3" json:"merged,omitempty"` - MergeCommitSha string `protobuf:"bytes,13,opt,name=merge_commit_sha,json=mergeCommitSha,proto3" json:"merge_commit_sha,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestClosed) Reset() { - *x = PullRequestClosed{} - mi := &file_brent_proto_msgTypes[135] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestClosed) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestClosed) ProtoMessage() {} - -func (x *PullRequestClosed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[135] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestClosed.ProtoReflect.Descriptor instead. -func (*PullRequestClosed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{135} -} - -func (x *PullRequestClosed) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestClosed) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestClosed) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestClosed) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestClosed) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequestClosed) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestClosed) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestClosed) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequestClosed) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequestClosed) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestClosed) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestClosed) GetMerged() bool { - if x != nil { - return x.Merged - } - return false -} - -func (x *PullRequestClosed) GetMergeCommitSha() string { - if x != nil { - return x.MergeCommitSha - } - return "" -} - -func (x *PullRequestClosed) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestClosed) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestClosed) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -// PullRequestLinkedToPlan fires when pullrequests.Store links a PR to a -// plan. The routing snapshot matches the lifecycle events; linked_plan_uuid -// and link_reason carry the post-transition link state. -type PullRequestLinkedToPlan struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,16,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestLinkedToPlan) Reset() { - *x = PullRequestLinkedToPlan{} - mi := &file_brent_proto_msgTypes[136] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestLinkedToPlan) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestLinkedToPlan) ProtoMessage() {} - -func (x *PullRequestLinkedToPlan) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[136] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestLinkedToPlan.ProtoReflect.Descriptor instead. -func (*PullRequestLinkedToPlan) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{136} -} - -func (x *PullRequestLinkedToPlan) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestLinkedToPlan) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestLinkedToPlan) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestLinkedToPlan) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -// PullRequestUnlinkedFromPlan fires when a PR's plan link is cleared or -// replaced. previous_plan_uuid is the plan linked before this event. -type PullRequestUnlinkedFromPlan struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,17,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - PreviousPlanUuid string `protobuf:"bytes,16,opt,name=previous_plan_uuid,json=previousPlanUuid,proto3" json:"previous_plan_uuid,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestUnlinkedFromPlan) Reset() { - *x = PullRequestUnlinkedFromPlan{} - mi := &file_brent_proto_msgTypes[137] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestUnlinkedFromPlan) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestUnlinkedFromPlan) ProtoMessage() {} - -func (x *PullRequestUnlinkedFromPlan) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[137] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestUnlinkedFromPlan.ProtoReflect.Descriptor instead. -func (*PullRequestUnlinkedFromPlan) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{137} -} - -func (x *PullRequestUnlinkedFromPlan) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestUnlinkedFromPlan) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestUnlinkedFromPlan) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -func (x *PullRequestUnlinkedFromPlan) GetPreviousPlanUuid() string { - if x != nil { - return x.PreviousPlanUuid - } - return "" -} - -// PullRequestLinkedToAgentRun fires when pullrequests.Store.LinkAgentRun -// sets pull_requests.agent_run_id after a plan-ID match (ENG-4896). The -// routing snapshot matches the other PR lifecycle events so workflows can -// match on it identically; agent_run_uuid carries the run the PR was linked -// to. -type PullRequestLinkedToAgentRun struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - Author string `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"` - HeadSha string `protobuf:"bytes,7,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - HeadBranch string `protobuf:"bytes,8,opt,name=head_branch,json=headBranch,proto3" json:"head_branch,omitempty"` - BaseBranch string `protobuf:"bytes,9,opt,name=base_branch,json=baseBranch,proto3" json:"base_branch,omitempty"` - IsDraft bool `protobuf:"varint,10,opt,name=is_draft,json=isDraft,proto3" json:"is_draft,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,14,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - LinkReason string `protobuf:"bytes,15,opt,name=link_reason,json=linkReason,proto3" json:"link_reason,omitempty"` - AgentRunUuid string `protobuf:"bytes,16,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestLinkedToAgentRun) Reset() { - *x = PullRequestLinkedToAgentRun{} - mi := &file_brent_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestLinkedToAgentRun) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestLinkedToAgentRun) ProtoMessage() {} - -func (x *PullRequestLinkedToAgentRun) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[138] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestLinkedToAgentRun.ProtoReflect.Descriptor instead. -func (*PullRequestLinkedToAgentRun) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{138} -} - -func (x *PullRequestLinkedToAgentRun) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestLinkedToAgentRun) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetHeadBranch() string { - if x != nil { - return x.HeadBranch - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetBaseBranch() string { - if x != nil { - return x.BaseBranch - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetIsDraft() bool { - if x != nil { - return x.IsDraft - } - return false -} - -func (x *PullRequestLinkedToAgentRun) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetLinkReason() string { - if x != nil { - return x.LinkReason - } - return "" -} - -func (x *PullRequestLinkedToAgentRun) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -// PullRequestReviewRequested fires when an individual reviewer or team is -// assigned to review a tracked pull request. -type PullRequestReviewRequested struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - RequestedTeam string `protobuf:"bytes,8,opt,name=requested_team,json=requestedTeam,proto3" json:"requested_team,omitempty"` - Url string `protobuf:"bytes,9,opt,name=url,proto3" json:"url,omitempty"` - // Stable principal_id UUID (string form) of the requested individual - // reviewer. Exactly one of requested_reviewer_principal_id or - // requested_team is populated. - RequestedReviewerPrincipalId string `protobuf:"bytes,10,opt,name=requested_reviewer_principal_id,json=requestedReviewerPrincipalId,proto3" json:"requested_reviewer_principal_id,omitempty"` - // True when an individual assignee is a bot; principal_id is empty. - RequestedReviewerIsBot bool `protobuf:"varint,11,opt,name=requested_reviewer_is_bot,json=requestedReviewerIsBot,proto3" json:"requested_reviewer_is_bot,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestReviewRequested) Reset() { - *x = PullRequestReviewRequested{} - mi := &file_brent_proto_msgTypes[139] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestReviewRequested) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestReviewRequested) ProtoMessage() {} - -func (x *PullRequestReviewRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[139] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestReviewRequested.ProtoReflect.Descriptor instead. -func (*PullRequestReviewRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{139} -} - -func (x *PullRequestReviewRequested) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestReviewRequested) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestReviewRequested) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestReviewRequested) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestReviewRequested) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestReviewRequested) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestReviewRequested) GetRequestedTeam() string { - if x != nil { - return x.RequestedTeam - } - return "" -} - -func (x *PullRequestReviewRequested) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestReviewRequested) GetRequestedReviewerPrincipalId() string { - if x != nil { - return x.RequestedReviewerPrincipalId - } - return "" -} - -func (x *PullRequestReviewRequested) GetRequestedReviewerIsBot() bool { - if x != nil { - return x.RequestedReviewerIsBot - } - return false -} - -// PullRequestApproved fires when a tracked pull request receives an approving -// review on its current head. -type PullRequestApproved struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - ReviewerIsBot bool `protobuf:"varint,8,opt,name=reviewer_is_bot,json=reviewerIsBot,proto3" json:"reviewer_is_bot,omitempty"` - // Interim vendor review identifier (GitHub database ID today). A Brent PR - // review row will replace this field in a later phase. - ReviewId int64 `protobuf:"varint,9,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - CommitId string `protobuf:"bytes,10,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` - SubmittedAt string `protobuf:"bytes,11,opt,name=submitted_at,json=submittedAt,proto3" json:"submitted_at,omitempty"` - Url string `protobuf:"bytes,12,opt,name=url,proto3" json:"url,omitempty"` - // Stable principal_id UUID (string form) of the human reviewer. Intentionally - // empty when reviewer_is_bot is true. - ReviewerPrincipalId string `protobuf:"bytes,13,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - // GitHub login of the reviewer at submit time. Populated for bot and human - // reviews so Layer 1 replay can detect self-approval without principal lookup. - ReviewerGithubLogin string `protobuf:"bytes,14,opt,name=reviewer_github_login,json=reviewerGithubLogin,proto3" json:"reviewer_github_login,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestApproved) Reset() { - *x = PullRequestApproved{} - mi := &file_brent_proto_msgTypes[140] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestApproved) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestApproved) ProtoMessage() {} - -func (x *PullRequestApproved) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[140] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestApproved.ProtoReflect.Descriptor instead. -func (*PullRequestApproved) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{140} -} - -func (x *PullRequestApproved) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestApproved) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestApproved) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestApproved) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestApproved) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestApproved) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestApproved) GetReviewerIsBot() bool { - if x != nil { - return x.ReviewerIsBot - } - return false -} - -func (x *PullRequestApproved) GetReviewId() int64 { - if x != nil { - return x.ReviewId - } - return 0 -} - -func (x *PullRequestApproved) GetCommitId() string { - if x != nil { - return x.CommitId - } - return "" -} - -func (x *PullRequestApproved) GetSubmittedAt() string { - if x != nil { - return x.SubmittedAt - } - return "" -} - -func (x *PullRequestApproved) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestApproved) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -func (x *PullRequestApproved) GetReviewerGithubLogin() string { - if x != nil { - return x.ReviewerGithubLogin - } - return "" -} - -// PullRequestChangesRequested fires when a tracked pull request receives a -// changes-requested review on its current head. -type PullRequestChangesRequested struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - ReviewerIsBot bool `protobuf:"varint,8,opt,name=reviewer_is_bot,json=reviewerIsBot,proto3" json:"reviewer_is_bot,omitempty"` - ReviewId int64 `protobuf:"varint,9,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - CommitId string `protobuf:"bytes,10,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` - SubmittedAt string `protobuf:"bytes,11,opt,name=submitted_at,json=submittedAt,proto3" json:"submitted_at,omitempty"` - Url string `protobuf:"bytes,12,opt,name=url,proto3" json:"url,omitempty"` - ReviewerPrincipalId string `protobuf:"bytes,13,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestChangesRequested) Reset() { - *x = PullRequestChangesRequested{} - mi := &file_brent_proto_msgTypes[141] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestChangesRequested) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestChangesRequested) ProtoMessage() {} - -func (x *PullRequestChangesRequested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[141] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestChangesRequested.ProtoReflect.Descriptor instead. -func (*PullRequestChangesRequested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{141} -} - -func (x *PullRequestChangesRequested) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestChangesRequested) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestChangesRequested) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestChangesRequested) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestChangesRequested) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestChangesRequested) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestChangesRequested) GetReviewerIsBot() bool { - if x != nil { - return x.ReviewerIsBot - } - return false -} - -func (x *PullRequestChangesRequested) GetReviewId() int64 { - if x != nil { - return x.ReviewId - } - return 0 -} - -func (x *PullRequestChangesRequested) GetCommitId() string { - if x != nil { - return x.CommitId - } - return "" -} - -func (x *PullRequestChangesRequested) GetSubmittedAt() string { - if x != nil { - return x.SubmittedAt - } - return "" -} - -func (x *PullRequestChangesRequested) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestChangesRequested) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -// PullRequestReviewDismissed fires when a prior review on a tracked pull -// request is cleared. -type PullRequestReviewDismissed struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - ReviewId int64 `protobuf:"varint,8,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` - CommitId string `protobuf:"bytes,9,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` - DismissedAt string `protobuf:"bytes,10,opt,name=dismissed_at,json=dismissedAt,proto3" json:"dismissed_at,omitempty"` - Url string `protobuf:"bytes,11,opt,name=url,proto3" json:"url,omitempty"` - ReviewerPrincipalId string `protobuf:"bytes,12,opt,name=reviewer_principal_id,json=reviewerPrincipalId,proto3" json:"reviewer_principal_id,omitempty"` - // True when the author of the dismissed review is a bot; - // reviewer_principal_id is intentionally empty for bot reviewers. - ReviewerIsBot bool `protobuf:"varint,13,opt,name=reviewer_is_bot,json=reviewerIsBot,proto3" json:"reviewer_is_bot,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestReviewDismissed) Reset() { - *x = PullRequestReviewDismissed{} - mi := &file_brent_proto_msgTypes[142] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestReviewDismissed) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestReviewDismissed) ProtoMessage() {} - -func (x *PullRequestReviewDismissed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[142] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestReviewDismissed.ProtoReflect.Descriptor instead. -func (*PullRequestReviewDismissed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{142} -} - -func (x *PullRequestReviewDismissed) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestReviewDismissed) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestReviewDismissed) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestReviewDismissed) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestReviewDismissed) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestReviewDismissed) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestReviewDismissed) GetReviewId() int64 { - if x != nil { - return x.ReviewId - } - return 0 -} - -func (x *PullRequestReviewDismissed) GetCommitId() string { - if x != nil { - return x.CommitId - } - return "" -} - -func (x *PullRequestReviewDismissed) GetDismissedAt() string { - if x != nil { - return x.DismissedAt - } - return "" -} - -func (x *PullRequestReviewDismissed) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *PullRequestReviewDismissed) GetReviewerPrincipalId() string { - if x != nil { - return x.ReviewerPrincipalId - } - return "" -} - -func (x *PullRequestReviewDismissed) GetReviewerIsBot() bool { - if x != nil { - return x.ReviewerIsBot - } - return false -} - -// PullRequestCommentCreated fires when a comment on a tracked PR may -// acknowledge deviation findings. -type PullRequestCommentCreated struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrId string `protobuf:"bytes,1,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - RepoFullName string `protobuf:"bytes,2,opt,name=repo_full_name,json=repoFullName,proto3" json:"repo_full_name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - LinkedPlanUuid string `protobuf:"bytes,5,opt,name=linked_plan_uuid,json=linkedPlanUuid,proto3" json:"linked_plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,11,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - CommentId string `protobuf:"bytes,6,opt,name=comment_id,json=commentId,proto3" json:"comment_id,omitempty"` - CommentSource string `protobuf:"bytes,7,opt,name=comment_source,json=commentSource,proto3" json:"comment_source,omitempty"` - Action string `protobuf:"bytes,8,opt,name=action,proto3" json:"action,omitempty"` - Author string `protobuf:"bytes,9,opt,name=author,proto3" json:"author,omitempty"` - AuthorIsBot bool `protobuf:"varint,10,opt,name=author_is_bot,json=authorIsBot,proto3" json:"author_is_bot,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PullRequestCommentCreated) Reset() { - *x = PullRequestCommentCreated{} - mi := &file_brent_proto_msgTypes[143] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullRequestCommentCreated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullRequestCommentCreated) ProtoMessage() {} - -func (x *PullRequestCommentCreated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[143] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullRequestCommentCreated.ProtoReflect.Descriptor instead. -func (*PullRequestCommentCreated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{143} -} - -func (x *PullRequestCommentCreated) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PullRequestCommentCreated) GetRepoFullName() string { - if x != nil { - return x.RepoFullName - } - return "" -} - -func (x *PullRequestCommentCreated) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *PullRequestCommentCreated) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PullRequestCommentCreated) GetLinkedPlanUuid() string { - if x != nil { - return x.LinkedPlanUuid - } - return "" -} - -func (x *PullRequestCommentCreated) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PullRequestCommentCreated) GetCommentId() string { - if x != nil { - return x.CommentId - } - return "" -} - -func (x *PullRequestCommentCreated) GetCommentSource() string { - if x != nil { - return x.CommentSource - } - return "" -} - -func (x *PullRequestCommentCreated) GetAction() string { - if x != nil { - return x.Action - } - return "" -} - -func (x *PullRequestCommentCreated) GetAuthor() string { - if x != nil { - return x.Author - } - return "" -} - -func (x *PullRequestCommentCreated) GetAuthorIsBot() bool { - if x != nil { - return x.AuthorIsBot - } - return false -} - -// PlanCheckStarted fires when deviationanalyses.Store.BeginAnalysis -// inserts a fresh analysis row (idempotent re-calls do not re-emit). -type PlanCheckStarted struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - LoopRunId string `protobuf:"bytes,5,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanCheckStarted) Reset() { - *x = PlanCheckStarted{} - mi := &file_brent_proto_msgTypes[144] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanCheckStarted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanCheckStarted) ProtoMessage() {} - -func (x *PlanCheckStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[144] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanCheckStarted.ProtoReflect.Descriptor instead. -func (*PlanCheckStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{144} -} - -func (x *PlanCheckStarted) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanCheckStarted) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PlanCheckStarted) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanCheckStarted) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanCheckStarted) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PlanCheckStarted) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *PlanCheckStarted) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -// PlanCheckCompleted fires when deviationanalyses.Store.CompleteAnalysis -// commits. check_conclusion and findings carry the four-state model for -// workflow branching (success | failure | neutral). -type DifferenceSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` - Acknowledged bool `protobuf:"varint,2,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"` - AckSource string `protobuf:"bytes,3,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` - AckRef string `protobuf:"bytes,4,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` - AckReasoningQuote string `protobuf:"bytes,5,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DifferenceSummary) Reset() { - *x = DifferenceSummary{} - mi := &file_brent_proto_msgTypes[145] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DifferenceSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DifferenceSummary) ProtoMessage() {} - -func (x *DifferenceSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[145] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DifferenceSummary.ProtoReflect.Descriptor instead. -func (*DifferenceSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{145} -} - -func (x *DifferenceSummary) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *DifferenceSummary) GetAcknowledged() bool { - if x != nil { - return x.Acknowledged - } - return false -} - -func (x *DifferenceSummary) GetAckSource() string { - if x != nil { - return x.AckSource - } - return "" -} - -func (x *DifferenceSummary) GetAckRef() string { - if x != nil { - return x.AckRef - } - return "" -} - -func (x *DifferenceSummary) GetAckReasoningQuote() string { - if x != nil { - return x.AckReasoningQuote - } - return "" -} - -type PlanCheckCompleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,12,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - DifferenceCountByTag map[string]int64 `protobuf:"bytes,7,rep,name=difference_count_by_tag,json=differenceCountByTag,proto3" json:"difference_count_by_tag,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` - PlanCheckOutcome string `protobuf:"bytes,9,opt,name=plan_check_outcome,json=planCheckOutcome,proto3" json:"plan_check_outcome,omitempty"` - AppliedBlockingDifferenceTags []string `protobuf:"bytes,10,rep,name=applied_blocking_difference_tags,json=appliedBlockingDifferenceTags,proto3" json:"applied_blocking_difference_tags,omitempty"` - Differences []*DifferenceSummary `protobuf:"bytes,11,rep,name=differences,proto3" json:"differences,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanCheckCompleted) Reset() { - *x = PlanCheckCompleted{} - mi := &file_brent_proto_msgTypes[146] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanCheckCompleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanCheckCompleted) ProtoMessage() {} - -func (x *PlanCheckCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[146] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanCheckCompleted.ProtoReflect.Descriptor instead. -func (*PlanCheckCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{146} -} - -func (x *PlanCheckCompleted) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanCheckCompleted) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PlanCheckCompleted) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanCheckCompleted) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanCheckCompleted) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PlanCheckCompleted) GetDifferenceCountByTag() map[string]int64 { - if x != nil { - return x.DifferenceCountByTag - } - return nil -} - -func (x *PlanCheckCompleted) GetCompletedAt() *timestamppb.Timestamp { - if x != nil { - return x.CompletedAt - } - return nil -} - -func (x *PlanCheckCompleted) GetPlanCheckOutcome() string { - if x != nil { - return x.PlanCheckOutcome - } - return "" -} - -func (x *PlanCheckCompleted) GetAppliedBlockingDifferenceTags() []string { - if x != nil { - return x.AppliedBlockingDifferenceTags - } - return nil -} - -func (x *PlanCheckCompleted) GetDifferences() []*DifferenceSummary { - if x != nil { - return x.Differences - } - return nil -} - -// PlanCheckFailed fires when deviationanalyses.Store.FailAnalysis commits. -type PlanCheckFailed struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanCheckId string `protobuf:"bytes,1,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - PrId string `protobuf:"bytes,2,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,7,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - HeadSha string `protobuf:"bytes,4,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"` - FailedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=failed_at,json=failedAt,proto3" json:"failed_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanCheckFailed) Reset() { - *x = PlanCheckFailed{} - mi := &file_brent_proto_msgTypes[147] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanCheckFailed) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanCheckFailed) ProtoMessage() {} - -func (x *PlanCheckFailed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[147] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanCheckFailed.ProtoReflect.Descriptor instead. -func (*PlanCheckFailed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{147} -} - -func (x *PlanCheckFailed) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanCheckFailed) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *PlanCheckFailed) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *PlanCheckFailed) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *PlanCheckFailed) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *PlanCheckFailed) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -func (x *PlanCheckFailed) GetFailedAt() *timestamppb.Timestamp { - if x != nil { - return x.FailedAt - } - return nil -} - -// PlanDifferenceRecorded fires when deviationanalyses.Store.RecordFinding commits. -type PlanDifferenceRecorded struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` - PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` - Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` - RecordedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=recorded_at,json=recordedAt,proto3" json:"recorded_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanDifferenceRecorded) Reset() { - *x = PlanDifferenceRecorded{} - mi := &file_brent_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanDifferenceRecorded) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanDifferenceRecorded) ProtoMessage() {} - -func (x *PlanDifferenceRecorded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[148] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanDifferenceRecorded.ProtoReflect.Descriptor instead. -func (*PlanDifferenceRecorded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{148} -} - -func (x *PlanDifferenceRecorded) GetPlanDifferenceId() string { - if x != nil { - return x.PlanDifferenceId - } - return "" -} - -func (x *PlanDifferenceRecorded) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanDifferenceRecorded) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -func (x *PlanDifferenceRecorded) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -func (x *PlanDifferenceRecorded) GetRecordedAt() *timestamppb.Timestamp { - if x != nil { - return x.RecordedAt - } - return nil -} - -// PlanDifferenceUpdated fires when deviationanalyses.Store.UpdateFinding -// commits. Routing snapshot fields (tag, summary) remain on the message; -// field diffs use the uniform changed_fields / previous / after triple -// (changed fields only). `after` captures post-update values at emission -// time — not live finding state. -type PlanDifferenceUpdated struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` - PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` - Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary,omitempty"` - ChangedFields []string `protobuf:"bytes,5,rep,name=changed_fields,json=changedFields,proto3" json:"changed_fields,omitempty"` - // Previous values for changed_fields only, keyed by field name. - Previous map[string]*structpb.Value `protobuf:"bytes,6,rep,name=previous,proto3" json:"previous,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Post-update values for changed_fields only. Frozen at emission time. - After map[string]*structpb.Value `protobuf:"bytes,7,rep,name=after,proto3" json:"after,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanDifferenceUpdated) Reset() { - *x = PlanDifferenceUpdated{} - mi := &file_brent_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanDifferenceUpdated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanDifferenceUpdated) ProtoMessage() {} - -func (x *PlanDifferenceUpdated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[149] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanDifferenceUpdated.ProtoReflect.Descriptor instead. -func (*PlanDifferenceUpdated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{149} -} - -func (x *PlanDifferenceUpdated) GetPlanDifferenceId() string { - if x != nil { - return x.PlanDifferenceId - } - return "" -} - -func (x *PlanDifferenceUpdated) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanDifferenceUpdated) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -func (x *PlanDifferenceUpdated) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -func (x *PlanDifferenceUpdated) GetChangedFields() []string { - if x != nil { - return x.ChangedFields - } - return nil -} - -func (x *PlanDifferenceUpdated) GetPrevious() map[string]*structpb.Value { - if x != nil { - return x.Previous - } - return nil -} - -func (x *PlanDifferenceUpdated) GetAfter() map[string]*structpb.Value { - if x != nil { - return x.After - } - return nil -} - -// PlanDifferenceResolved fires when deviationanalyses.Store.ResolveFinding commits. -type PlanDifferenceResolved struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` - PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` - Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` - ResolutionCommit string `protobuf:"bytes,5,opt,name=resolution_commit,json=resolutionCommit,proto3" json:"resolution_commit,omitempty"` - ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=resolved_at,json=resolvedAt,proto3" json:"resolved_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanDifferenceResolved) Reset() { - *x = PlanDifferenceResolved{} - mi := &file_brent_proto_msgTypes[150] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanDifferenceResolved) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanDifferenceResolved) ProtoMessage() {} - -func (x *PlanDifferenceResolved) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[150] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanDifferenceResolved.ProtoReflect.Descriptor instead. -func (*PlanDifferenceResolved) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{150} -} - -func (x *PlanDifferenceResolved) GetPlanDifferenceId() string { - if x != nil { - return x.PlanDifferenceId - } - return "" -} - -func (x *PlanDifferenceResolved) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanDifferenceResolved) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -func (x *PlanDifferenceResolved) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -func (x *PlanDifferenceResolved) GetResolutionCommit() string { - if x != nil { - return x.ResolutionCommit - } - return "" -} - -func (x *PlanDifferenceResolved) GetResolvedAt() *timestamppb.Timestamp { - if x != nil { - return x.ResolvedAt - } - return nil -} - -// PlanDifferenceAcknowledged fires when a finding transitions from -// unacknowledged to acknowledged. -type PlanDifferenceAcknowledged struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` - PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` - // Empty for legacy findings created before slug support. - Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` - // issue_comment | review_comment | commit_message | pr_description. - AckSource string `protobuf:"bytes,5,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` - AckRef string `protobuf:"bytes,6,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` - AckReasoningQuote string `protobuf:"bytes,7,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` - AcknowledgedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=acknowledged_at,json=acknowledgedAt,proto3" json:"acknowledged_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanDifferenceAcknowledged) Reset() { - *x = PlanDifferenceAcknowledged{} - mi := &file_brent_proto_msgTypes[151] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanDifferenceAcknowledged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanDifferenceAcknowledged) ProtoMessage() {} - -func (x *PlanDifferenceAcknowledged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[151] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanDifferenceAcknowledged.ProtoReflect.Descriptor instead. -func (*PlanDifferenceAcknowledged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{151} -} - -func (x *PlanDifferenceAcknowledged) GetPlanDifferenceId() string { - if x != nil { - return x.PlanDifferenceId - } - return "" -} - -func (x *PlanDifferenceAcknowledged) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanDifferenceAcknowledged) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -func (x *PlanDifferenceAcknowledged) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *PlanDifferenceAcknowledged) GetAckSource() string { - if x != nil { - return x.AckSource - } - return "" -} - -func (x *PlanDifferenceAcknowledged) GetAckRef() string { - if x != nil { - return x.AckRef - } - return "" -} - -func (x *PlanDifferenceAcknowledged) GetAckReasoningQuote() string { - if x != nil { - return x.AckReasoningQuote - } - return "" -} - -func (x *PlanDifferenceAcknowledged) GetAcknowledgedAt() *timestamppb.Timestamp { - if x != nil { - return x.AcknowledgedAt - } - return nil -} - -// PlanDifferenceAcknowledgementCleared fires when a finding transitions -// from acknowledged to unacknowledged. Acknowledgement fields preserve the -// provenance that was removed by the mutation. -type PlanDifferenceAcknowledgementCleared struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanDifferenceId string `protobuf:"bytes,1,opt,name=plan_difference_id,json=planDifferenceId,proto3" json:"plan_difference_id,omitempty"` - PlanCheckId string `protobuf:"bytes,2,opt,name=plan_check_id,json=planCheckId,proto3" json:"plan_check_id,omitempty"` - Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` - // Empty for legacy findings created before slug support. - Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` - AckSource string `protobuf:"bytes,5,opt,name=ack_source,json=ackSource,proto3" json:"ack_source,omitempty"` - AckRef string `protobuf:"bytes,6,opt,name=ack_ref,json=ackRef,proto3" json:"ack_ref,omitempty"` - AckReasoningQuote string `protobuf:"bytes,7,opt,name=ack_reasoning_quote,json=ackReasoningQuote,proto3" json:"ack_reasoning_quote,omitempty"` - ClearedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=cleared_at,json=clearedAt,proto3" json:"cleared_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PlanDifferenceAcknowledgementCleared) Reset() { - *x = PlanDifferenceAcknowledgementCleared{} - mi := &file_brent_proto_msgTypes[152] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PlanDifferenceAcknowledgementCleared) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlanDifferenceAcknowledgementCleared) ProtoMessage() {} - -func (x *PlanDifferenceAcknowledgementCleared) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[152] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlanDifferenceAcknowledgementCleared.ProtoReflect.Descriptor instead. -func (*PlanDifferenceAcknowledgementCleared) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{152} -} - -func (x *PlanDifferenceAcknowledgementCleared) GetPlanDifferenceId() string { - if x != nil { - return x.PlanDifferenceId - } - return "" -} - -func (x *PlanDifferenceAcknowledgementCleared) GetPlanCheckId() string { - if x != nil { - return x.PlanCheckId - } - return "" -} - -func (x *PlanDifferenceAcknowledgementCleared) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -func (x *PlanDifferenceAcknowledgementCleared) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *PlanDifferenceAcknowledgementCleared) GetAckSource() string { - if x != nil { - return x.AckSource - } - return "" -} - -func (x *PlanDifferenceAcknowledgementCleared) GetAckRef() string { - if x != nil { - return x.AckRef - } - return "" -} - -func (x *PlanDifferenceAcknowledgementCleared) GetAckReasoningQuote() string { - if x != nil { - return x.AckReasoningQuote - } - return "" -} - -func (x *PlanDifferenceAcknowledgementCleared) GetClearedAt() *timestamppb.Timestamp { - if x != nil { - return x.ClearedAt - } - return nil -} - -// AgentRunDispatched fires when agentruns.Store.ConfirmDispatched commits. -// The pending row is written earlier by Dispatch (no event). -type AgentRunDispatched struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,9,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"` - Harness string `protobuf:"bytes,4,opt,name=harness,proto3" json:"harness,omitempty"` - Model string `protobuf:"bytes,5,opt,name=model,proto3" json:"model,omitempty"` - Branch string `protobuf:"bytes,6,opt,name=branch,proto3" json:"branch,omitempty"` - RunHandle string `protobuf:"bytes,7,opt,name=run_handle,json=runHandle,proto3" json:"run_handle,omitempty"` - RunLogUrl string `protobuf:"bytes,8,opt,name=run_log_url,json=runLogUrl,proto3" json:"run_log_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunDispatched) Reset() { - *x = AgentRunDispatched{} - mi := &file_brent_proto_msgTypes[153] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunDispatched) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunDispatched) ProtoMessage() {} - -func (x *AgentRunDispatched) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[153] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunDispatched.ProtoReflect.Descriptor instead. -func (*AgentRunDispatched) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{153} -} - -func (x *AgentRunDispatched) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunDispatched) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunDispatched) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *AgentRunDispatched) GetAttempt() int32 { - if x != nil { - return x.Attempt - } - return 0 -} - -func (x *AgentRunDispatched) GetHarness() string { - if x != nil { - return x.Harness - } - return "" -} - -func (x *AgentRunDispatched) GetModel() string { - if x != nil { - return x.Model - } - return "" -} - -func (x *AgentRunDispatched) GetBranch() string { - if x != nil { - return x.Branch - } - return "" -} - -func (x *AgentRunDispatched) GetRunHandle() string { - if x != nil { - return x.RunHandle - } - return "" -} - -func (x *AgentRunDispatched) GetRunLogUrl() string { - if x != nil { - return x.RunLogUrl - } - return "" -} - -// AgentRunStarted fires on the first dispatched -> working transition. -type AgentRunStarted struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - PlanUuid string `protobuf:"bytes,2,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,3,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunStarted) Reset() { - *x = AgentRunStarted{} - mi := &file_brent_proto_msgTypes[154] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunStarted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunStarted) ProtoMessage() {} - -func (x *AgentRunStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[154] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunStarted.ProtoReflect.Descriptor instead. -func (*AgentRunStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{154} -} - -func (x *AgentRunStarted) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunStarted) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunStarted) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// AgentRunPullRequestMatched fires when a PR is attached to the run. -type AgentRunPullRequestMatched struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - PrUuid string `protobuf:"bytes,2,opt,name=pr_uuid,json=prUuid,proto3" json:"pr_uuid,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunPullRequestMatched) Reset() { - *x = AgentRunPullRequestMatched{} - mi := &file_brent_proto_msgTypes[155] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunPullRequestMatched) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunPullRequestMatched) ProtoMessage() {} - -func (x *AgentRunPullRequestMatched) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[155] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunPullRequestMatched.ProtoReflect.Descriptor instead. -func (*AgentRunPullRequestMatched) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{155} -} - -func (x *AgentRunPullRequestMatched) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunPullRequestMatched) GetPrUuid() string { - if x != nil { - return x.PrUuid - } - return "" -} - -func (x *AgentRunPullRequestMatched) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunPullRequestMatched) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// AgentRunFlaggedNeedsYou fires when Brent surfaces a run as needing attention. -type AgentRunFlaggedNeedsYou struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunFlaggedNeedsYou) Reset() { - *x = AgentRunFlaggedNeedsYou{} - mi := &file_brent_proto_msgTypes[156] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunFlaggedNeedsYou) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunFlaggedNeedsYou) ProtoMessage() {} - -func (x *AgentRunFlaggedNeedsYou) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[156] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunFlaggedNeedsYou.ProtoReflect.Descriptor instead. -func (*AgentRunFlaggedNeedsYou) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{156} -} - -func (x *AgentRunFlaggedNeedsYou) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunFlaggedNeedsYou) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -func (x *AgentRunFlaggedNeedsYou) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunFlaggedNeedsYou) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// AgentRunGatePassed fires when the deviation gate passes (success/neutral conclusion) -// but the PR is not yet merged. The run is terminal for watchdog purposes but awaits -// a human merge on GitHub. -type AgentRunGatePassed struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - PrUuid string `protobuf:"bytes,2,opt,name=pr_uuid,json=prUuid,proto3" json:"pr_uuid,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunGatePassed) Reset() { - *x = AgentRunGatePassed{} - mi := &file_brent_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunGatePassed) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunGatePassed) ProtoMessage() {} - -func (x *AgentRunGatePassed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[157] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunGatePassed.ProtoReflect.Descriptor instead. -func (*AgentRunGatePassed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{157} -} - -func (x *AgentRunGatePassed) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunGatePassed) GetPrUuid() string { - if x != nil { - return x.PrUuid - } - return "" -} - -func (x *AgentRunGatePassed) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunGatePassed) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// AgentRunMerged fires when the PR is actually merged on GitHub. -type AgentRunMerged struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - PrUuid string `protobuf:"bytes,2,opt,name=pr_uuid,json=prUuid,proto3" json:"pr_uuid,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunMerged) Reset() { - *x = AgentRunMerged{} - mi := &file_brent_proto_msgTypes[158] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunMerged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunMerged) ProtoMessage() {} - -func (x *AgentRunMerged) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[158] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunMerged.ProtoReflect.Descriptor instead. -func (*AgentRunMerged) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{158} -} - -func (x *AgentRunMerged) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunMerged) GetPrUuid() string { - if x != nil { - return x.PrUuid - } - return "" -} - -func (x *AgentRunMerged) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunMerged) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// AgentRunCancelled fires on user-initiated stop (distinct from needs_you). -type AgentRunCancelled struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` - PlanUuid string `protobuf:"bytes,3,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,4,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunCancelled) Reset() { - *x = AgentRunCancelled{} - mi := &file_brent_proto_msgTypes[159] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunCancelled) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunCancelled) ProtoMessage() {} - -func (x *AgentRunCancelled) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[159] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunCancelled.ProtoReflect.Descriptor instead. -func (*AgentRunCancelled) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{159} -} - -func (x *AgentRunCancelled) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunCancelled) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -func (x *AgentRunCancelled) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunCancelled) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// AgentRunDeclined fires when the dispatch gate decides not to launch. -// No agent_runs row is written. -type AgentRunDeclined struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanUuid string `protobuf:"bytes,1,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,3,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunDeclined) Reset() { - *x = AgentRunDeclined{} - mi := &file_brent_proto_msgTypes[160] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunDeclined) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunDeclined) ProtoMessage() {} - -func (x *AgentRunDeclined) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[160] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunDeclined.ProtoReflect.Descriptor instead. -func (*AgentRunDeclined) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{160} -} - -func (x *AgentRunDeclined) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunDeclined) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *AgentRunDeclined) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -// AgentRunAnnotated records an operational signal on an agent run row. -type AgentRunAnnotated struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentRunUuid string `protobuf:"bytes,1,opt,name=agent_run_uuid,json=agentRunUuid,proto3" json:"agent_run_uuid,omitempty"` - Signal string `protobuf:"bytes,2,opt,name=signal,proto3" json:"signal,omitempty"` - AuthorPrincipalId string `protobuf:"bytes,3,opt,name=author_principal_id,json=authorPrincipalId,proto3" json:"author_principal_id,omitempty"` - Provider string `protobuf:"bytes,4,opt,name=provider,proto3" json:"provider,omitempty"` - PlanUuid string `protobuf:"bytes,5,opt,name=plan_uuid,json=planUuid,proto3" json:"plan_uuid,omitempty"` - PlanFriendlyId string `protobuf:"bytes,6,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentRunAnnotated) Reset() { - *x = AgentRunAnnotated{} - mi := &file_brent_proto_msgTypes[161] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentRunAnnotated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRunAnnotated) ProtoMessage() {} - -func (x *AgentRunAnnotated) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[161] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRunAnnotated.ProtoReflect.Descriptor instead. -func (*AgentRunAnnotated) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{161} -} - -func (x *AgentRunAnnotated) GetAgentRunUuid() string { - if x != nil { - return x.AgentRunUuid - } - return "" -} - -func (x *AgentRunAnnotated) GetSignal() string { - if x != nil { - return x.Signal - } - return "" -} - -func (x *AgentRunAnnotated) GetAuthorPrincipalId() string { - if x != nil { - return x.AuthorPrincipalId - } - return "" -} - -func (x *AgentRunAnnotated) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *AgentRunAnnotated) GetPlanUuid() string { - if x != nil { - return x.PlanUuid - } - return "" -} - -func (x *AgentRunAnnotated) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -// LoopIngested fires when the workflow ingest worker finishes processing -// one .brent/workflows/*.md file at a commit. outcome is "loaded", -// "failed_parse", or "deleted" (string, not enum — CEL-matchable and -// consistent with ReviewSubmitted.status). error carries the failure reason -// when outcome is failed_parse; for deleted outcomes it is "removed_from_repo". -type LoopIngested struct { - state protoimpl.MessageState `protogen:"open.v1"` - SourceRepoFullName string `protobuf:"bytes,1,opt,name=source_repo_full_name,json=sourceRepoFullName,proto3" json:"source_repo_full_name,omitempty"` - SourcePath string `protobuf:"bytes,2,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"` - CommitSha string `protobuf:"bytes,3,opt,name=commit_sha,json=commitSha,proto3" json:"commit_sha,omitempty"` - Outcome string `protobuf:"bytes,4,opt,name=outcome,proto3" json:"outcome,omitempty"` - Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` - LoopExternalId *string `protobuf:"bytes,6,opt,name=loop_external_id,json=loopExternalId,proto3,oneof" json:"loop_external_id,omitempty"` - Name *string `protobuf:"bytes,7,opt,name=name,proto3,oneof" json:"name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopIngested) Reset() { - *x = LoopIngested{} - mi := &file_brent_proto_msgTypes[162] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopIngested) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopIngested) ProtoMessage() {} - -func (x *LoopIngested) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[162] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopIngested.ProtoReflect.Descriptor instead. -func (*LoopIngested) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{162} -} - -func (x *LoopIngested) GetSourceRepoFullName() string { - if x != nil { - return x.SourceRepoFullName - } - return "" -} - -func (x *LoopIngested) GetSourcePath() string { - if x != nil { - return x.SourcePath - } - return "" -} - -func (x *LoopIngested) GetCommitSha() string { - if x != nil { - return x.CommitSha - } - return "" -} - -func (x *LoopIngested) GetOutcome() string { - if x != nil { - return x.Outcome - } - return "" -} - -func (x *LoopIngested) GetError() string { - if x != nil { - return x.Error - } - return "" -} - -func (x *LoopIngested) GetLoopExternalId() string { - if x != nil && x.LoopExternalId != nil { - return *x.LoopExternalId - } - return "" -} - -func (x *LoopIngested) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -// LoopRunQueued fires when workflows.Store inserts a workflow_runs row. -type LoopRunQueued struct { - state protoimpl.MessageState `protogen:"open.v1"` - LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - QueuedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=queued_at,json=queuedAt,proto3" json:"queued_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRunQueued) Reset() { - *x = LoopRunQueued{} - mi := &file_brent_proto_msgTypes[163] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRunQueued) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRunQueued) ProtoMessage() {} - -func (x *LoopRunQueued) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[163] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRunQueued.ProtoReflect.Descriptor instead. -func (*LoopRunQueued) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{163} -} - -func (x *LoopRunQueued) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *LoopRunQueued) GetLoopName() string { - if x != nil { - return x.LoopName - } - return "" -} - -func (x *LoopRunQueued) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopRunQueued) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *LoopRunQueued) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *LoopRunQueued) GetQueuedAt() *timestamppb.Timestamp { - if x != nil { - return x.QueuedAt - } - return nil -} - -// LoopRunStarted fires when a run transitions to running. -type LoopRunStarted struct { - state protoimpl.MessageState `protogen:"open.v1"` - LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRunStarted) Reset() { - *x = LoopRunStarted{} - mi := &file_brent_proto_msgTypes[164] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRunStarted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRunStarted) ProtoMessage() {} - -func (x *LoopRunStarted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[164] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRunStarted.ProtoReflect.Descriptor instead. -func (*LoopRunStarted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{164} -} - -func (x *LoopRunStarted) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *LoopRunStarted) GetLoopName() string { - if x != nil { - return x.LoopName - } - return "" -} - -func (x *LoopRunStarted) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopRunStarted) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *LoopRunStarted) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *LoopRunStarted) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -// LoopRunCompleted fires when a run reaches completed terminal status. -type LoopRunCompleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRunCompleted) Reset() { - *x = LoopRunCompleted{} - mi := &file_brent_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRunCompleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRunCompleted) ProtoMessage() {} - -func (x *LoopRunCompleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[165] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRunCompleted.ProtoReflect.Descriptor instead. -func (*LoopRunCompleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{165} -} - -func (x *LoopRunCompleted) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *LoopRunCompleted) GetLoopName() string { - if x != nil { - return x.LoopName - } - return "" -} - -func (x *LoopRunCompleted) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopRunCompleted) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *LoopRunCompleted) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *LoopRunCompleted) GetCompletedAt() *timestamppb.Timestamp { - if x != nil { - return x.CompletedAt - } - return nil -} - -// LoopRunFailed fires when a run reaches failed terminal status. -type LoopRunFailed struct { - state protoimpl.MessageState `protogen:"open.v1"` - LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - ErrorMessage string `protobuf:"bytes,6,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` - FailedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=failed_at,json=failedAt,proto3" json:"failed_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRunFailed) Reset() { - *x = LoopRunFailed{} - mi := &file_brent_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRunFailed) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRunFailed) ProtoMessage() {} - -func (x *LoopRunFailed) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[166] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRunFailed.ProtoReflect.Descriptor instead. -func (*LoopRunFailed) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{166} -} - -func (x *LoopRunFailed) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *LoopRunFailed) GetLoopName() string { - if x != nil { - return x.LoopName - } - return "" -} - -func (x *LoopRunFailed) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopRunFailed) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *LoopRunFailed) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *LoopRunFailed) GetErrorMessage() string { - if x != nil { - return x.ErrorMessage - } - return "" -} - -func (x *LoopRunFailed) GetFailedAt() *timestamppb.Timestamp { - if x != nil { - return x.FailedAt - } - return nil -} - -// LoopRunCancelled fires when a run reaches cancelled terminal status. -type LoopRunCancelled struct { - state protoimpl.MessageState `protogen:"open.v1"` - LoopRunId string `protobuf:"bytes,1,opt,name=loop_run_id,json=loopRunId,proto3" json:"loop_run_id,omitempty"` - LoopName string `protobuf:"bytes,2,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - PrId string `protobuf:"bytes,4,opt,name=pr_id,json=prId,proto3" json:"pr_id,omitempty"` - HeadSha string `protobuf:"bytes,5,opt,name=head_sha,json=headSha,proto3" json:"head_sha,omitempty"` - CancelReason string `protobuf:"bytes,6,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"` - CancelledAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=cancelled_at,json=cancelledAt,proto3" json:"cancelled_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRunCancelled) Reset() { - *x = LoopRunCancelled{} - mi := &file_brent_proto_msgTypes[167] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRunCancelled) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRunCancelled) ProtoMessage() {} - -func (x *LoopRunCancelled) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[167] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRunCancelled.ProtoReflect.Descriptor instead. -func (*LoopRunCancelled) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{167} -} - -func (x *LoopRunCancelled) GetLoopRunId() string { - if x != nil { - return x.LoopRunId - } - return "" -} - -func (x *LoopRunCancelled) GetLoopName() string { - if x != nil { - return x.LoopName - } - return "" -} - -func (x *LoopRunCancelled) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopRunCancelled) GetPrId() string { - if x != nil { - return x.PrId - } - return "" -} - -func (x *LoopRunCancelled) GetHeadSha() string { - if x != nil { - return x.HeadSha - } - return "" -} - -func (x *LoopRunCancelled) GetCancelReason() string { - if x != nil { - return x.CancelReason - } - return "" -} - -func (x *LoopRunCancelled) GetCancelledAt() *timestamppb.Timestamp { - if x != nil { - return x.CancelledAt - } - return nil -} - -// SlackWebhook is the single payload carrying every mapped Slack Events -// API delivery. event_payload is the signature-validated raw JSON body (the -// same bytes VerifySignature ran against). event_type is the inner -// event type from the envelope (e.g. "app_uninstalled", -// "tokens_revoked", "app_mention"). account_name and team_id are the -// Brent routing outcome from organisation_app_installations. -type SlackWebhook struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Slack event_id from the outer event_callback envelope. - DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` - // Inner event type (e.g. app_mention, app_uninstalled, tokens_revoked). - EventType string `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - // Brent account that owns the mapped Slack workspace install. - AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // Slack workspace team_id from the outer envelope. - TeamId string `protobuf:"bytes,4,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` - // The signature-validated raw JSON delivery body. Annotated embedded_json - // so protojson emits readable JSON (not base64) and CEL discovers the - // synthetic decoded `payload` field automatically. See embedded_json option. - EventPayload string `protobuf:"bytes,5,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SlackWebhook) Reset() { - *x = SlackWebhook{} - mi := &file_brent_proto_msgTypes[168] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SlackWebhook) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SlackWebhook) ProtoMessage() {} - -func (x *SlackWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[168] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SlackWebhook.ProtoReflect.Descriptor instead. -func (*SlackWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{168} -} - -func (x *SlackWebhook) GetDeliveryId() string { - if x != nil { - return x.DeliveryId - } - return "" -} - -func (x *SlackWebhook) GetEventType() string { - if x != nil { - return x.EventType - } - return "" -} - -func (x *SlackWebhook) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *SlackWebhook) GetTeamId() string { - if x != nil { - return x.TeamId - } - return "" -} - -func (x *SlackWebhook) GetEventPayload() string { - if x != nil { - return x.EventPayload - } - return "" -} - -// LinearWebhook is the single payload carrying every mapped Linear -// webhook delivery. event_payload is the signature-validated raw JSON body -// (the same bytes that the Linear-Signature HMAC ran against). -// event_type and event_action are the body.type and body.action -// strings (e.g. "PermissionChange"/"teamAccessChanged", -// "OAuthApp"/"revoked"). account_name and organization_id are the -// Brent routing outcome from organisation_app_installations -// (provider='linear', external_workspace_id=). -// Unmapped deliveries return a 404 from the webhook handler and no -// event row is written (resolve-before-write). -// -// Loop CEL: the environment exposes a synthetic decoded -// event.linear_webhook.payload.* field (dyn) that mirrors the delivery -// JSON body; the raw event_payload string is hidden from CEL — use the -// decoded form for field access, same as GitHubWebhook. -type LinearWebhook struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Linear-Delivery header (UUID assigned by Linear). - DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` - // body.type ("PermissionChange" | "OAuthApp" | ...). - EventType string `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - // body.action ("teamAccessChanged" | "revoked" | ...). - EventAction string `protobuf:"bytes,3,opt,name=event_action,json=eventAction,proto3" json:"event_action,omitempty"` - // Brent account that owns the mapped Linear workspace install. - AccountName string `protobuf:"bytes,4,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // body.organizationId — Linear workspace identifier carried on every - // webhook delivery; stored on the install row as external_workspace_id. - OrganizationId string `protobuf:"bytes,5,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` - // The signature-validated raw JSON delivery body. Annotated embedded_json - // so protojson emits readable JSON (not base64) and CEL discovers the - // synthetic decoded `payload` field automatically. See embedded_json option. - EventPayload string `protobuf:"bytes,6,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LinearWebhook) Reset() { - *x = LinearWebhook{} - mi := &file_brent_proto_msgTypes[169] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LinearWebhook) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LinearWebhook) ProtoMessage() {} - -func (x *LinearWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[169] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LinearWebhook.ProtoReflect.Descriptor instead. -func (*LinearWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{169} -} - -func (x *LinearWebhook) GetDeliveryId() string { - if x != nil { - return x.DeliveryId - } - return "" -} - -func (x *LinearWebhook) GetEventType() string { - if x != nil { - return x.EventType - } - return "" -} - -func (x *LinearWebhook) GetEventAction() string { - if x != nil { - return x.EventAction - } - return "" -} - -func (x *LinearWebhook) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LinearWebhook) GetOrganizationId() string { - if x != nil { - return x.OrganizationId - } - return "" -} - -func (x *LinearWebhook) GetEventPayload() string { - if x != nil { - return x.EventPayload - } - return "" -} - -// ComposioTriggerMessage carries one inbound Composio Trigger V3 delivery -// (POST /webhooks/composio), attributed to a Brent workspace via -// connected_account_id. First-class typed family (ENG-5624) replacing the -// Composio-first OtherEvent stopgap from the ENG-5611 spike. Toolkit-agnostic: -// workflows discriminate on trigger_slug and read toolkit data via the -// synthetic decoded payload.* map (see embedded_json option). -type ComposioTriggerMessage struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Webhook-Id header — unique per delivery/redelivery. Loops key their - // thread on this; trigger_id is stable across deliveries and must not be a - // thread key. - DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` - // Composio trigger slug, e.g. "JIRA_NEW_ISSUE_TRIGGER". Direct CEL field. - TriggerSlug string `protobuf:"bytes,2,opt,name=trigger_slug,json=triggerSlug,proto3" json:"trigger_slug,omitempty"` - // Composio trigger instance id (stable across deliveries). - TriggerId string `protobuf:"bytes,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"` - // connected_account_id mapping to a Brent workspace via - // organisation_app_installations (provider = mcp-aggregator). - ConnectedAccountId string `protobuf:"bytes,4,opt,name=connected_account_id,json=connectedAccountId,proto3" json:"connected_account_id,omitempty"` - // Raw Composio delivery `data` JSON. Annotated embedded_json so CEL - // discovers the synthetic decoded `payload` field automatically, e.g. - // event.composio_trigger_message.payload.issue_key. - // - // Retention/sensitivity: persisted verbatim in events.payload jsonb under - // the same table retention as GitHubWebhook/LinearWebhook event_payload - // (see adr-embedded-json-in-events). No field-level redaction in this phase. - EventPayload string `protobuf:"bytes,5,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ComposioTriggerMessage) Reset() { - *x = ComposioTriggerMessage{} - mi := &file_brent_proto_msgTypes[170] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ComposioTriggerMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ComposioTriggerMessage) ProtoMessage() {} - -func (x *ComposioTriggerMessage) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[170] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ComposioTriggerMessage.ProtoReflect.Descriptor instead. -func (*ComposioTriggerMessage) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{170} -} - -func (x *ComposioTriggerMessage) GetDeliveryId() string { - if x != nil { - return x.DeliveryId - } - return "" -} - -func (x *ComposioTriggerMessage) GetTriggerSlug() string { - if x != nil { - return x.TriggerSlug - } - return "" -} - -func (x *ComposioTriggerMessage) GetTriggerId() string { - if x != nil { - return x.TriggerId - } - return "" -} - -func (x *ComposioTriggerMessage) GetConnectedAccountId() string { - if x != nil { - return x.ConnectedAccountId - } - return "" -} - -func (x *ComposioTriggerMessage) GetEventPayload() string { - if x != nil { - return x.EventPayload - } - return "" -} - -// GitHubWebhook is the single payload carrying every GitHub webhook -// delivery. event_payload is the signature-validated raw JSON body -// (the same bytes ValidatePayload ran against). event_type is the -// X-GitHub-Event header captured at the producer (e.g. "pull_request", -// "check_suite", "push"). Loop authors match the header via -// event.github_webhook.event_type and the delivery body via the synthetic -// decoded event.github_webhook.payload.* map (see embedded_json option — -// the raw event_payload string is hidden from CEL). Decode is lazy and -// memoised by delivery_id so a single delivery hitting N matching -// workflows pays the JSON-decode cost once. -type GitHubWebhook struct { - state protoimpl.MessageState `protogen:"open.v1"` - // X-GitHub-Delivery (UUID assigned by GitHub). - DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` - // The signature-validated raw JSON delivery body — the same bytes - // ValidatePayload ran against. Annotated embedded_json so CEL discovers - // the synthetic decoded `payload` field automatically. See embedded_json - // option. - EventPayload string `protobuf:"bytes,2,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` - // The X-GitHub-Event header captured at the producer (e.g. - // "pull_request", "check_suite", "push", "release"). Direct CEL - // field — workflows discriminate event kind without parsing the body. - EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GitHubWebhook) Reset() { - *x = GitHubWebhook{} - mi := &file_brent_proto_msgTypes[171] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GitHubWebhook) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GitHubWebhook) ProtoMessage() {} - -func (x *GitHubWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[171] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GitHubWebhook.ProtoReflect.Descriptor instead. -func (*GitHubWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{171} -} - -func (x *GitHubWebhook) GetDeliveryId() string { - if x != nil { - return x.DeliveryId - } - return "" -} - -func (x *GitHubWebhook) GetEventPayload() string { - if x != nil { - return x.EventPayload - } - return "" -} - -func (x *GitHubWebhook) GetEventType() string { - if x != nil { - return x.EventType - } - return "" -} - -// GitLabWebhook is the single payload carrying every GitLab webhook -// delivery. Deliveries arrive at POST /webhooks/gitlab/{token} and -// authenticate via the per-install X-Gitlab-Token secret (issued at -// ConnectGitLab time). event_payload is the secret-token-validated raw -// JSON body. event_type is the X-Gitlab-Event header captured at the -// producer (e.g. "Merge Request Hook", "Push Hook"). Loop authors -// match via event.gitlab_webhook.event_type and the delivery body via -// the synthetic decoded event.gitlab_webhook.payload.* map (see -// embedded_json option — the raw event_payload string is hidden from CEL). -// -// Unlike GitHub's HMAC body signature, GitLab v18 uses the -// X-Gitlab-Token secret-token scheme: the per-install secret is sent -// verbatim in the header and compared constant-time on the receiver. -// Transport integrity rests on TLS; redelivery dedup rests on the -// Idempotency-Key ledger (gitlab_event_deliveries table). -type GitLabWebhook struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Idempotency-Key header (stable across GitLab retries). - DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` - // The secret-token-validated raw JSON delivery body. Annotated - // embedded_json so CEL discovers the synthetic decoded `payload` - // field automatically. See embedded_json option. - EventPayload string `protobuf:"bytes,2,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` - // The X-Gitlab-Event header captured at the producer (e.g. - // "Merge Request Hook", "Push Hook", "Pipeline Hook"). Direct CEL - // field — workflows discriminate event kind without parsing the body. - EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - // The organisation_app_installations.id resolved from the URL path - // token at ingress. Propagated authoritatively so downstream listeners - // do not need to re-derive the install from payload fields. - AccountIntegrationId int64 `protobuf:"varint,4,opt,name=account_integration_id,json=accountIntegrationId,proto3" json:"account_integration_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GitLabWebhook) Reset() { - *x = GitLabWebhook{} - mi := &file_brent_proto_msgTypes[172] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GitLabWebhook) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GitLabWebhook) ProtoMessage() {} - -func (x *GitLabWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[172] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GitLabWebhook.ProtoReflect.Descriptor instead. -func (*GitLabWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{172} -} - -func (x *GitLabWebhook) GetDeliveryId() string { - if x != nil { - return x.DeliveryId - } - return "" -} - -func (x *GitLabWebhook) GetEventPayload() string { - if x != nil { - return x.EventPayload - } - return "" -} - -func (x *GitLabWebhook) GetEventType() string { - if x != nil { - return x.EventType - } - return "" -} - -func (x *GitLabWebhook) GetAccountIntegrationId() int64 { - if x != nil { - return x.AccountIntegrationId - } - return 0 -} - -// BitbucketWebhook carries a Bitbucket PR webhook delivery relayed by the Brent -// Forge app and verified via its Forge Invocation Token at the ingest endpoint. -// Mirrors GitLabWebhook; account_integration_id is the resolved internal -// organisation_app_installations.id set at ingress. -type BitbucketWebhook struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Stable delivery id (dedup key across Forge retries). - DeliveryId string `protobuf:"bytes,1,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"` - // The FIT-verified raw JSON delivery body. Annotated embedded_json so CEL - // discovers the synthetic decoded `payload` field automatically. - EventPayload string `protobuf:"bytes,2,opt,name=event_payload,json=eventPayload,proto3" json:"event_payload,omitempty"` - // The Bitbucket event key captured at the producer (e.g. - // "pullrequest:created", "pullrequest:updated"). Direct CEL field — - // workflows discriminate event kind without parsing the body. - EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - // The organisation_app_installations.id resolved from the Bitbucket - // workspace UUID at ingress. Propagated authoritatively so downstream - // listeners do not need to re-derive the install from payload fields. - AccountIntegrationId int64 `protobuf:"varint,4,opt,name=account_integration_id,json=accountIntegrationId,proto3" json:"account_integration_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *BitbucketWebhook) Reset() { - *x = BitbucketWebhook{} - mi := &file_brent_proto_msgTypes[173] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BitbucketWebhook) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BitbucketWebhook) ProtoMessage() {} - -func (x *BitbucketWebhook) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[173] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BitbucketWebhook.ProtoReflect.Descriptor instead. -func (*BitbucketWebhook) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{173} -} - -func (x *BitbucketWebhook) GetDeliveryId() string { - if x != nil { - return x.DeliveryId - } - return "" -} - -func (x *BitbucketWebhook) GetEventPayload() string { - if x != nil { - return x.EventPayload - } - return "" -} - -func (x *BitbucketWebhook) GetEventType() string { - if x != nil { - return x.EventType - } - return "" -} - -func (x *BitbucketWebhook) GetAccountIntegrationId() int64 { - if x != nil { - return x.AccountIntegrationId - } - return 0 -} - -// EmbeddedJsonCELFixture exists only to unit-test generic (embedded_json) -// discovery in workflows/cel_cache_test.go. No production producer writes it. -type EmbeddedJsonCELFixture struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Document string `protobuf:"bytes,2,opt,name=document,proto3" json:"document,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *EmbeddedJsonCELFixture) Reset() { - *x = EmbeddedJsonCELFixture{} - mi := &file_brent_proto_msgTypes[174] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *EmbeddedJsonCELFixture) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EmbeddedJsonCELFixture) ProtoMessage() {} - -func (x *EmbeddedJsonCELFixture) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[174] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EmbeddedJsonCELFixture.ProtoReflect.Descriptor instead. -func (*EmbeddedJsonCELFixture) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{174} -} - -func (x *EmbeddedJsonCELFixture) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *EmbeddedJsonCELFixture) GetDocument() string { - if x != nil { - return x.Document - } - return "" -} - -// SlackMentionReceived is emitted by the slack/ aggregate's -// eventTranslator when the Brent bot is @mentioned in a Slack message. -// Loop on: blocks match against the proto message name -// "SlackMentionReceived" verbatim (see workflows.EventTypeName). -type SlackMentionReceived struct { - state protoimpl.MessageState `protogen:"open.v1"` - // team_id is the Slack workspace ID (from the outer event_callback - // envelope, injected by the eventTranslator from slack.Config.TeamID). - TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` - // channel_id is the Slack channel ID where the mention occurred - // (e.g. "C0LAN2Q65"). - ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - // channel_name is the human-readable channel name, resolved via a - // conversations.info Slack API call. Empty string when the call fails - // or when the channel has no resolvable name (DMs, missing scope); the - // WriteEvent call proceeds regardless. - ChannelName string `protobuf:"bytes,3,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"` - // user_id is the Slack user ID of the person who sent the mention. - UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - // message_ts is the Slack message timestamp (the "ts" field). - MessageTs string `protobuf:"bytes,5,opt,name=message_ts,json=messageTs,proto3" json:"message_ts,omitempty"` - // text is the full text of the message containing the mention. - Text string `protobuf:"bytes,6,opt,name=text,proto3" json:"text,omitempty"` - // thread_ts is the thread parent timestamp when the mention is inside - // a thread; empty string for top-level messages. - ThreadTs string `protobuf:"bytes,7,opt,name=thread_ts,json=threadTs,proto3" json:"thread_ts,omitempty"` - // mentioned_user_ids lists every Slack user ID found as a <@UXXXXXX> - // pattern in the message text, including the bot's own user ID. - // Loop authors can filter the bot out via CEL if needed. - MentionedUserIds []string `protobuf:"bytes,8,rep,name=mentioned_user_ids,json=mentionedUserIds,proto3" json:"mentioned_user_ids,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SlackMentionReceived) Reset() { - *x = SlackMentionReceived{} - mi := &file_brent_proto_msgTypes[175] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SlackMentionReceived) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SlackMentionReceived) ProtoMessage() {} - -func (x *SlackMentionReceived) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[175] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SlackMentionReceived.ProtoReflect.Descriptor instead. -func (*SlackMentionReceived) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{175} -} - -func (x *SlackMentionReceived) GetTeamId() string { - if x != nil { - return x.TeamId - } - return "" -} - -func (x *SlackMentionReceived) GetChannelId() string { - if x != nil { - return x.ChannelId - } - return "" -} - -func (x *SlackMentionReceived) GetChannelName() string { - if x != nil { - return x.ChannelName - } - return "" -} - -func (x *SlackMentionReceived) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *SlackMentionReceived) GetMessageTs() string { - if x != nil { - return x.MessageTs - } - return "" -} - -func (x *SlackMentionReceived) GetText() string { - if x != nil { - return x.Text - } - return "" -} - -func (x *SlackMentionReceived) GetThreadTs() string { - if x != nil { - return x.ThreadTs - } - return "" -} - -func (x *SlackMentionReceived) GetMentionedUserIds() []string { - if x != nil { - return x.MentionedUserIds - } - return nil -} - -// OrganisationAppInstallationUpserted fires after organisations.Store -// commits an UpsertOrganisationAppInstallation for an account+provider. -type OrganisationAppInstallationUpserted struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - ExternalWorkspaceId string `protobuf:"bytes,2,opt,name=external_workspace_id,json=externalWorkspaceId,proto3" json:"external_workspace_id,omitempty"` - ExternalPrincipalId string `protobuf:"bytes,3,opt,name=external_principal_id,json=externalPrincipalId,proto3" json:"external_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *OrganisationAppInstallationUpserted) Reset() { - *x = OrganisationAppInstallationUpserted{} - mi := &file_brent_proto_msgTypes[176] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *OrganisationAppInstallationUpserted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrganisationAppInstallationUpserted) ProtoMessage() {} - -func (x *OrganisationAppInstallationUpserted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[176] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrganisationAppInstallationUpserted.ProtoReflect.Descriptor instead. -func (*OrganisationAppInstallationUpserted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{176} -} - -func (x *OrganisationAppInstallationUpserted) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *OrganisationAppInstallationUpserted) GetExternalWorkspaceId() string { - if x != nil { - return x.ExternalWorkspaceId - } - return "" -} - -func (x *OrganisationAppInstallationUpserted) GetExternalPrincipalId() string { - if x != nil { - return x.ExternalPrincipalId - } - return "" -} - -// OrganisationAppInstallationDeleted fires after organisations.Store -// removes an install row (by account+provider or by provider+principal). -type OrganisationAppInstallationDeleted struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - ExternalPrincipalId string `protobuf:"bytes,2,opt,name=external_principal_id,json=externalPrincipalId,proto3" json:"external_principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *OrganisationAppInstallationDeleted) Reset() { - *x = OrganisationAppInstallationDeleted{} - mi := &file_brent_proto_msgTypes[177] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *OrganisationAppInstallationDeleted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrganisationAppInstallationDeleted) ProtoMessage() {} - -func (x *OrganisationAppInstallationDeleted) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[177] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrganisationAppInstallationDeleted.ProtoReflect.Descriptor instead. -func (*OrganisationAppInstallationDeleted) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{177} -} - -func (x *OrganisationAppInstallationDeleted) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *OrganisationAppInstallationDeleted) GetExternalPrincipalId() string { - if x != nil { - return x.ExternalPrincipalId - } - return "" -} - -// SlackReactionAdded is emitted by the slack/ aggregate's eventTranslator -// when a reaction is added to a message originally posted by the Brent bot. -// Reactions on messages NOT posted by the configured bot user are filtered -// in the translator and do not produce this event. -type SlackReactionAdded struct { - state protoimpl.MessageState `protogen:"open.v1"` - // team_id is the Slack workspace ID. - TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` - // channel_id is the channel containing the reacted message. - ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - // user_id is the Slack user ID who added the reaction. - UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - // message_ts is the timestamp of the reacted-to message (item.ts). - MessageTs string `protobuf:"bytes,4,opt,name=message_ts,json=messageTs,proto3" json:"message_ts,omitempty"` - // reaction is the emoji name without colons (e.g. "thumbsup"). - Reaction string `protobuf:"bytes,5,opt,name=reaction,proto3" json:"reaction,omitempty"` - // item_user_id is the Slack user ID of the message author. At the - // translator filter this is always == the configured bot user ID. - ItemUserId string `protobuf:"bytes,6,opt,name=item_user_id,json=itemUserId,proto3" json:"item_user_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SlackReactionAdded) Reset() { - *x = SlackReactionAdded{} - mi := &file_brent_proto_msgTypes[178] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SlackReactionAdded) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SlackReactionAdded) ProtoMessage() {} - -func (x *SlackReactionAdded) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[178] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SlackReactionAdded.ProtoReflect.Descriptor instead. -func (*SlackReactionAdded) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{178} -} - -func (x *SlackReactionAdded) GetTeamId() string { - if x != nil { - return x.TeamId - } - return "" -} - -func (x *SlackReactionAdded) GetChannelId() string { - if x != nil { - return x.ChannelId - } - return "" -} - -func (x *SlackReactionAdded) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *SlackReactionAdded) GetMessageTs() string { - if x != nil { - return x.MessageTs - } - return "" -} - -func (x *SlackReactionAdded) GetReaction() string { - if x != nil { - return x.Reaction - } - return "" -} - -func (x *SlackReactionAdded) GetItemUserId() string { - if x != nil { - return x.ItemUserId - } - return "" -} - -type ListLoopsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Empty string = caller's account from JWT (backward compatible). - // When set, return only workflows for that account_name (admin filtering). - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListLoopsRequest) Reset() { - *x = ListLoopsRequest{} - mi := &file_brent_proto_msgTypes[179] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListLoopsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListLoopsRequest) ProtoMessage() {} - -func (x *ListLoopsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[179] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListLoopsRequest.ProtoReflect.Descriptor instead. -func (*ListLoopsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{179} -} - -func (x *ListLoopsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type ListLoopsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Loops []*LoopSummary `protobuf:"bytes,1,rep,name=loops,proto3" json:"loops,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListLoopsResponse) Reset() { - *x = ListLoopsResponse{} - mi := &file_brent_proto_msgTypes[180] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListLoopsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListLoopsResponse) ProtoMessage() {} - -func (x *ListLoopsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[180] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListLoopsResponse.ProtoReflect.Descriptor instead. -func (*ListLoopsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{180} -} - -func (x *ListLoopsResponse) GetLoops() []*LoopSummary { - if x != nil { - return x.Loops - } - return nil -} - -// LoopSummary carries the columns brent-area51 renders in the workflow -// list view. body_template and on_yaml are intentionally excluded — both can -// run to multiple kB per row, and the list view only shows name + description -// + provenance + the configured model. Use GetLoop to fetch the full -// definition. -type LoopSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - SourceRepoFullName string `protobuf:"bytes,5,opt,name=source_repo_full_name,json=sourceRepoFullName,proto3" json:"source_repo_full_name,omitempty"` - SourcePath string `protobuf:"bytes,6,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"` - SourceCommitSha string `protobuf:"bytes,7,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Latest ingest outcome: "loaded" or "failed_parse". Mirrors workflows.status. - Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` - // Human-readable reason the latest commit failed to load; empty when loaded. - ErrorMessage string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` - // Per-workflow OpenAI model declared in front matter; empty means the default (gpt-5.4). - Model string `protobuf:"bytes,12,opt,name=model,proto3" json:"model,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopSummary) Reset() { - *x = LoopSummary{} - mi := &file_brent_proto_msgTypes[181] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopSummary) ProtoMessage() {} - -func (x *LoopSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[181] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopSummary.ProtoReflect.Descriptor instead. -func (*LoopSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{181} -} - -func (x *LoopSummary) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *LoopSummary) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopSummary) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *LoopSummary) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *LoopSummary) GetSourceRepoFullName() string { - if x != nil { - return x.SourceRepoFullName - } - return "" -} - -func (x *LoopSummary) GetSourcePath() string { - if x != nil { - return x.SourcePath - } - return "" -} - -func (x *LoopSummary) GetSourceCommitSha() string { - if x != nil { - return x.SourceCommitSha - } - return "" -} - -func (x *LoopSummary) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *LoopSummary) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *LoopSummary) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *LoopSummary) GetErrorMessage() string { - if x != nil { - return x.ErrorMessage - } - return "" -} - -func (x *LoopSummary) GetModel() string { - if x != nil { - return x.Model - } - return "" -} - -type GetLoopRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // UUID of the workflow to fetch. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetLoopRequest) Reset() { - *x = GetLoopRequest{} - mi := &file_brent_proto_msgTypes[182] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetLoopRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLoopRequest) ProtoMessage() {} - -func (x *GetLoopRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[182] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLoopRequest.ProtoReflect.Descriptor instead. -func (*GetLoopRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{182} -} - -func (x *GetLoopRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type GetLoopResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Loop *Loop `protobuf:"bytes,1,opt,name=loop,proto3" json:"loop,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetLoopResponse) Reset() { - *x = GetLoopResponse{} - mi := &file_brent_proto_msgTypes[183] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetLoopResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLoopResponse) ProtoMessage() {} - -func (x *GetLoopResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[183] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLoopResponse.ProtoReflect.Descriptor instead. -func (*GetLoopResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{183} -} - -func (x *GetLoopResponse) GetLoop() *Loop { - if x != nil { - return x.Loop - } - return nil -} - -// Loop is the full workflow-definition aggregate as the debug UI and -// MCP read tools consume it. Mirrors workflows.Loop row-for-row; -// adds body_template + on_yaml on top of LoopSummary. -type Loop struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - // Raw `on:` YAML block from the file's front-matter. The CEL match - // expressions inside are parsed at trigger time by the workflow enqueuer. - OnYaml string `protobuf:"bytes,5,opt,name=on_yaml,json=onYaml,proto3" json:"on_yaml,omitempty"` - // Markdown body — the prompt template the Executor renders against the - // run's event payload. - BodyTemplate string `protobuf:"bytes,6,opt,name=body_template,json=bodyTemplate,proto3" json:"body_template,omitempty"` - SourceRepoFullName string `protobuf:"bytes,7,opt,name=source_repo_full_name,json=sourceRepoFullName,proto3" json:"source_repo_full_name,omitempty"` - SourcePath string `protobuf:"bytes,8,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"` - SourceCommitSha string `protobuf:"bytes,9,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Latest ingest outcome: "loaded" or "failed_parse". Mirrors workflows.status. - Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"` - // Human-readable reason the latest commit failed to load; empty when loaded. - ErrorMessage string `protobuf:"bytes,13,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` - // Per-workflow OpenAI model declared in front matter; empty means the default (gpt-5.4). - Model string `protobuf:"bytes,14,opt,name=model,proto3" json:"model,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Loop) Reset() { - *x = Loop{} - mi := &file_brent_proto_msgTypes[184] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Loop) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Loop) ProtoMessage() {} - -func (x *Loop) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[184] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Loop.ProtoReflect.Descriptor instead. -func (*Loop) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{184} -} - -func (x *Loop) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Loop) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *Loop) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Loop) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *Loop) GetOnYaml() string { - if x != nil { - return x.OnYaml - } - return "" -} - -func (x *Loop) GetBodyTemplate() string { - if x != nil { - return x.BodyTemplate - } - return "" -} - -func (x *Loop) GetSourceRepoFullName() string { - if x != nil { - return x.SourceRepoFullName - } - return "" -} - -func (x *Loop) GetSourcePath() string { - if x != nil { - return x.SourcePath - } - return "" -} - -func (x *Loop) GetSourceCommitSha() string { - if x != nil { - return x.SourceCommitSha - } - return "" -} - -func (x *Loop) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *Loop) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *Loop) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *Loop) GetErrorMessage() string { - if x != nil { - return x.ErrorMessage - } - return "" -} - -func (x *Loop) GetModel() string { - if x != nil { - return x.Model - } - return "" -} - -type ListLoopRunsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Optional filter by workflow definition name. When set, only runs whose - // workflow_runs.name column matches are returned. Mirrors the - // (account_name, name) tuple linking workflow_runs to workflows; no FK - // column exists. - LoopName string `protobuf:"bytes,1,opt,name=loop_name,json=loopName,proto3" json:"loop_name,omitempty"` - // Soft cap on result count. Server clamps to [1, 200]; 0 means default 50. - Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - // Opaque cursor token from a prior ListLoopRunsResponse.next_cursor. - // Empty string means "start from newest". Cursor encodes the (created_at, - // external_id) tuple of the last row of the previous page. - AfterCursor string `protobuf:"bytes,3,opt,name=after_cursor,json=afterCursor,proto3" json:"after_cursor,omitempty"` - // Optional filter by run status (e.g. "pending", "running", "completed", - // "failed", "cancelled"). Empty means "no filter". The matched value is - // the workflow_runs.status column verbatim — see Brent's run-status - // vocabulary in services/brent-backend/workflows/README.md. - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - // Empty string = all accounts (cross-tenant operator listing). When set, - // return only runs for that account_name. Mirrors ListPlansRequest.account_name. - AccountName string `protobuf:"bytes,5,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListLoopRunsRequest) Reset() { - *x = ListLoopRunsRequest{} - mi := &file_brent_proto_msgTypes[185] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListLoopRunsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListLoopRunsRequest) ProtoMessage() {} - -func (x *ListLoopRunsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[185] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListLoopRunsRequest.ProtoReflect.Descriptor instead. -func (*ListLoopRunsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{185} -} - -func (x *ListLoopRunsRequest) GetLoopName() string { - if x != nil { - return x.LoopName - } - return "" -} - -func (x *ListLoopRunsRequest) GetLimit() uint32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ListLoopRunsRequest) GetAfterCursor() string { - if x != nil { - return x.AfterCursor - } - return "" -} - -func (x *ListLoopRunsRequest) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *ListLoopRunsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type ListLoopRunsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Runs []*LoopRunSummary `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"` - // Set when more rows exist beyond the current page. Pass this verbatim - // as the next request's after_cursor. - NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListLoopRunsResponse) Reset() { - *x = ListLoopRunsResponse{} - mi := &file_brent_proto_msgTypes[186] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListLoopRunsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListLoopRunsResponse) ProtoMessage() {} - -func (x *ListLoopRunsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[186] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListLoopRunsResponse.ProtoReflect.Descriptor instead. -func (*ListLoopRunsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{186} -} - -func (x *ListLoopRunsResponse) GetRuns() []*LoopRunSummary { - if x != nil { - return x.Runs - } - return nil -} - -func (x *ListLoopRunsResponse) GetNextCursor() string { - if x != nil { - return x.NextCursor - } - return "" -} - -// LoopRunSummary carries the columns the run-list view renders. -// Excludes prompt and the (potentially large) triggering_event_payload — -// fetch the full run via GetLoopRun. -type LoopRunSummary struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` - Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` - // What triggered this run (e.g. "plan_created", "review_submitted", - // "webhook", "execute_workflow"). - TriggerKind string `protobuf:"bytes,7,opt,name=trigger_kind,json=triggerKind,proto3" json:"trigger_kind,omitempty"` - // Friendly identifier of the linked plan (e.g. BRENT-42), or unset when none. - PlanFriendlyId *string `protobuf:"bytes,8,opt,name=plan_friendly_id,json=planFriendlyId,proto3,oneof" json:"plan_friendly_id,omitempty"` - ReviewId *string `protobuf:"bytes,9,opt,name=review_id,json=reviewId,proto3,oneof" json:"review_id,omitempty"` - // Set only on failure; carries the human-readable error message. - ErrorMessage *string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` - // Denormalised event-type discriminator (e.g. "PlanCreated", - // "GitHubWebhook"). Empty for legacy / imperative runs. - TriggeringEventType string `protobuf:"bytes,12,opt,name=triggering_event_type,json=triggeringEventType,proto3" json:"triggering_event_type,omitempty"` - // SHA of the workflows row at trigger time; provenance breadcrumb. - LoopSourceCommitSha string `protobuf:"bytes,13,opt,name=loop_source_commit_sha,json=loopSourceCommitSha,proto3" json:"loop_source_commit_sha,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Thread key computed from the triggering event. Empty when the - // workflow has no thread.key expression. - ThreadKey *string `protobuf:"bytes,18,opt,name=thread_key,json=threadKey,proto3,oneof" json:"thread_key,omitempty"` - // OpenAI response_id captured from a prior thread sibling at enqueue time. - // Non-empty when this run resumes the conversation via previous_response_id. - PreviousResponseId string `protobuf:"bytes,19,opt,name=previous_response_id,json=previousResponseId,proto3" json:"previous_response_id,omitempty"` - // external_id of the workflow_runs row this run resumed from; unset when fresh. - ResumedFromRunId *string `protobuf:"bytes,20,opt,name=resumed_from_run_id,json=resumedFromRunId,proto3,oneof" json:"resumed_from_run_id,omitempty"` - // Plan reference (plans.external_id). For brent-area51 navigation only. - // plan_friendly_id (field 8) remains the plan identifier (friendly ID) for display. - PlanUuid *string `protobuf:"bytes,21,opt,name=plan_uuid,json=planUuid,proto3,oneof" json:"plan_uuid,omitempty"` - // workflows.external_id for navigation to /workflows/$workflowId. Unset when - // the parent workflow definition cannot be resolved. - LoopId *string `protobuf:"bytes,22,opt,name=loop_id,json=loopId,proto3,oneof" json:"loop_id,omitempty"` - // pull_requests.external_id when the run is PR-attributed. - PrId *string `protobuf:"bytes,23,opt,name=pr_id,json=prId,proto3,oneof" json:"pr_id,omitempty"` - // Denormalised from pull_requests when pr_id is set (e.g. - // "overmindtech/workspace" and 5729 → "overmindtech/workspace#5729"). - PrRepoFullName *string `protobuf:"bytes,24,opt,name=pr_repo_full_name,json=prRepoFullName,proto3,oneof" json:"pr_repo_full_name,omitempty"` - PrNumber *int32 `protobuf:"varint,25,opt,name=pr_number,json=prNumber,proto3,oneof" json:"pr_number,omitempty"` - // OpenAI model snapshotted onto workflow_runs at enqueue; empty means the - // run used the default (gpt-5.4). Distinct from the parent workflow - // definition's configured model (LoopSummary.model). - Model string `protobuf:"bytes,26,opt,name=model,proto3" json:"model,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRunSummary) Reset() { - *x = LoopRunSummary{} - mi := &file_brent_proto_msgTypes[187] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRunSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRunSummary) ProtoMessage() {} - -func (x *LoopRunSummary) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[187] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRunSummary.ProtoReflect.Descriptor instead. -func (*LoopRunSummary) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{187} -} - -func (x *LoopRunSummary) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *LoopRunSummary) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopRunSummary) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *LoopRunSummary) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *LoopRunSummary) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *LoopRunSummary) GetTriggerKind() string { - if x != nil { - return x.TriggerKind - } - return "" -} - -func (x *LoopRunSummary) GetPlanFriendlyId() string { - if x != nil && x.PlanFriendlyId != nil { - return *x.PlanFriendlyId - } - return "" -} - -func (x *LoopRunSummary) GetReviewId() string { - if x != nil && x.ReviewId != nil { - return *x.ReviewId - } - return "" -} - -func (x *LoopRunSummary) GetErrorMessage() string { - if x != nil && x.ErrorMessage != nil { - return *x.ErrorMessage - } - return "" -} - -func (x *LoopRunSummary) GetTriggeringEventType() string { - if x != nil { - return x.TriggeringEventType - } - return "" -} - -func (x *LoopRunSummary) GetLoopSourceCommitSha() string { - if x != nil { - return x.LoopSourceCommitSha - } - return "" -} - -func (x *LoopRunSummary) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -func (x *LoopRunSummary) GetCompletedAt() *timestamppb.Timestamp { - if x != nil { - return x.CompletedAt - } - return nil -} - -func (x *LoopRunSummary) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *LoopRunSummary) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *LoopRunSummary) GetThreadKey() string { - if x != nil && x.ThreadKey != nil { - return *x.ThreadKey - } - return "" -} - -func (x *LoopRunSummary) GetPreviousResponseId() string { - if x != nil { - return x.PreviousResponseId - } - return "" -} - -func (x *LoopRunSummary) GetResumedFromRunId() string { - if x != nil && x.ResumedFromRunId != nil { - return *x.ResumedFromRunId - } - return "" -} - -func (x *LoopRunSummary) GetPlanUuid() string { - if x != nil && x.PlanUuid != nil { - return *x.PlanUuid - } - return "" -} - -func (x *LoopRunSummary) GetLoopId() string { - if x != nil && x.LoopId != nil { - return *x.LoopId - } - return "" -} - -func (x *LoopRunSummary) GetPrId() string { - if x != nil && x.PrId != nil { - return *x.PrId - } - return "" -} - -func (x *LoopRunSummary) GetPrRepoFullName() string { - if x != nil && x.PrRepoFullName != nil { - return *x.PrRepoFullName - } - return "" -} - -func (x *LoopRunSummary) GetPrNumber() int32 { - if x != nil && x.PrNumber != nil { - return *x.PrNumber - } - return 0 -} - -func (x *LoopRunSummary) GetModel() string { - if x != nil { - return x.Model - } - return "" -} - -type GetLoopRunRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetLoopRunRequest) Reset() { - *x = GetLoopRunRequest{} - mi := &file_brent_proto_msgTypes[188] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetLoopRunRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLoopRunRequest) ProtoMessage() {} - -func (x *GetLoopRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[188] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLoopRunRequest.ProtoReflect.Descriptor instead. -func (*GetLoopRunRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{188} -} - -func (x *GetLoopRunRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type GetLoopRunThreadHistoryRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // external_id of the current workflow run (ancestors only in the response). - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetLoopRunThreadHistoryRequest) Reset() { - *x = GetLoopRunThreadHistoryRequest{} - mi := &file_brent_proto_msgTypes[189] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetLoopRunThreadHistoryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLoopRunThreadHistoryRequest) ProtoMessage() {} - -func (x *GetLoopRunThreadHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[189] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLoopRunThreadHistoryRequest.ProtoReflect.Descriptor instead. -func (*GetLoopRunThreadHistoryRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{189} -} - -func (x *GetLoopRunThreadHistoryRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type LoopRunThreadSegment struct { - state protoimpl.MessageState `protogen:"open.v1"` - Run *LoopRunSummary `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` - Steps []*ExecuteLoopResponse `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRunThreadSegment) Reset() { - *x = LoopRunThreadSegment{} - mi := &file_brent_proto_msgTypes[190] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRunThreadSegment) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRunThreadSegment) ProtoMessage() {} - -func (x *LoopRunThreadSegment) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[190] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRunThreadSegment.ProtoReflect.Descriptor instead. -func (*LoopRunThreadSegment) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{190} -} - -func (x *LoopRunThreadSegment) GetRun() *LoopRunSummary { - if x != nil { - return x.Run - } - return nil -} - -func (x *LoopRunThreadSegment) GetSteps() []*ExecuteLoopResponse { - if x != nil { - return x.Steps - } - return nil -} - -type GetLoopRunThreadHistoryResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Ancestor runs only, oldest segment first. Current run steps use WatchRun. - Segments []*LoopRunThreadSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` - // True when chain depth or per-run step caps were hit. - Truncated bool `protobuf:"varint,2,opt,name=truncated,proto3" json:"truncated,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetLoopRunThreadHistoryResponse) Reset() { - *x = GetLoopRunThreadHistoryResponse{} - mi := &file_brent_proto_msgTypes[191] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetLoopRunThreadHistoryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLoopRunThreadHistoryResponse) ProtoMessage() {} - -func (x *GetLoopRunThreadHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[191] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLoopRunThreadHistoryResponse.ProtoReflect.Descriptor instead. -func (*GetLoopRunThreadHistoryResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{191} -} - -func (x *GetLoopRunThreadHistoryResponse) GetSegments() []*LoopRunThreadSegment { - if x != nil { - return x.Segments - } - return nil -} - -func (x *GetLoopRunThreadHistoryResponse) GetTruncated() bool { - if x != nil { - return x.Truncated - } - return false -} - -type GetLoopRunResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Run *LoopRun `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"` - // Set when the parent workflow definition is resolvable by - // (account_name, name). Unset for legacy / imperative runs whose name - // doesn't match any active workflows row (e.g. one-shot manual runs). - Loop *LoopSummary `protobuf:"bytes,2,opt,name=loop,proto3,oneof" json:"loop,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetLoopRunResponse) Reset() { - *x = GetLoopRunResponse{} - mi := &file_brent_proto_msgTypes[192] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetLoopRunResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLoopRunResponse) ProtoMessage() {} - -func (x *GetLoopRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[192] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLoopRunResponse.ProtoReflect.Descriptor instead. -func (*GetLoopRunResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{192} -} - -func (x *GetLoopRunResponse) GetRun() *LoopRun { - if x != nil { - return x.Run - } - return nil -} - -func (x *GetLoopRunResponse) GetLoop() *LoopSummary { - if x != nil { - return x.Loop - } - return nil -} - -// LoopRun is the full run row as the debug UI and MCP tools consume it. -// Carries everything in LoopRunSummary plus prompt + the typed Event -// payload that triggered it + low-level diagnostic fields. -type LoopRun struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` - Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` - TriggerKind string `protobuf:"bytes,7,opt,name=trigger_kind,json=triggerKind,proto3" json:"trigger_kind,omitempty"` - // Friendly identifier of the linked plan (e.g. BRENT-42), or unset when none. - PlanFriendlyId *string `protobuf:"bytes,8,opt,name=plan_friendly_id,json=planFriendlyId,proto3,oneof" json:"plan_friendly_id,omitempty"` - ReviewId *string `protobuf:"bytes,9,opt,name=review_id,json=reviewId,proto3,oneof" json:"review_id,omitempty"` - // Set only on failure; carries the human-readable error message. Same - // semantics as LoopRunSummary.error_message. - ErrorMessage *string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` - TriggeringEventType string `protobuf:"bytes,12,opt,name=triggering_event_type,json=triggeringEventType,proto3" json:"triggering_event_type,omitempty"` - LoopSourceCommitSha string `protobuf:"bytes,13,opt,name=loop_source_commit_sha,json=loopSourceCommitSha,proto3" json:"loop_source_commit_sha,omitempty"` - StartedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` - CompletedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // The full agent prompt for this run. Empty for state-transition workflows - // that use registered prompts at run time. - Prompt string `protobuf:"bytes,18,opt,name=prompt,proto3" json:"prompt,omitempty"` - // Brent binary version at enqueue time; empty for non-webhook runs. - BrentVersion string `protobuf:"bytes,20,opt,name=brent_version,json=brentVersion,proto3" json:"brent_version,omitempty"` - // OpenAI response_id of the final agent turn; empty until the run reaches - // QA mode. - ResponseId string `protobuf:"bytes,21,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"` - // True once a cancel has been requested. The worker observes this to - // decide cancelled-vs-failed terminal status. - CancelRequested bool `protobuf:"varint,22,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"` - // The typed Event payload that triggered this run, decoded from the JSONB - // snapshot in workflow_runs.triggering_event_payload. Unset for legacy / - // imperative runs. - TriggeringEventPayload *Event `protobuf:"bytes,23,opt,name=triggering_event_payload,json=triggeringEventPayload,proto3,oneof" json:"triggering_event_payload,omitempty"` - // Thread key computed from the triggering event. Empty when the - // workflow has no thread.key expression. - ThreadKey *string `protobuf:"bytes,24,opt,name=thread_key,json=threadKey,proto3,oneof" json:"thread_key,omitempty"` - // OpenAI response_id captured from a prior thread sibling at enqueue time. - PreviousResponseId string `protobuf:"bytes,25,opt,name=previous_response_id,json=previousResponseId,proto3" json:"previous_response_id,omitempty"` - // external_id of the workflow_runs row this run resumed from; unset when fresh. - ResumedFromRunId *string `protobuf:"bytes,26,opt,name=resumed_from_run_id,json=resumedFromRunId,proto3,oneof" json:"resumed_from_run_id,omitempty"` - // Plan reference (plans.external_id). For brent-area51 navigation only. - // plan_friendly_id (field 8) remains the plan identifier (friendly ID) for display. - PlanUuid *string `protobuf:"bytes,27,opt,name=plan_uuid,json=planUuid,proto3,oneof" json:"plan_uuid,omitempty"` - // pull_requests.external_id when the run is PR-attributed. - PrId *string `protobuf:"bytes,28,opt,name=pr_id,json=prId,proto3,oneof" json:"pr_id,omitempty"` - // OpenAI model snapshotted onto workflow_runs at enqueue; empty means the - // run used the default (gpt-5.4). Distinct from the parent workflow - // definition's configured model when GetLoopRun.workflow is set. - Model string `protobuf:"bytes,29,opt,name=model,proto3" json:"model,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoopRun) Reset() { - *x = LoopRun{} - mi := &file_brent_proto_msgTypes[193] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoopRun) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopRun) ProtoMessage() {} - -func (x *LoopRun) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[193] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopRun.ProtoReflect.Descriptor instead. -func (*LoopRun) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{193} -} - -func (x *LoopRun) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *LoopRun) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *LoopRun) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *LoopRun) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *LoopRun) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *LoopRun) GetTriggerKind() string { - if x != nil { - return x.TriggerKind - } - return "" -} - -func (x *LoopRun) GetPlanFriendlyId() string { - if x != nil && x.PlanFriendlyId != nil { - return *x.PlanFriendlyId - } - return "" -} - -func (x *LoopRun) GetReviewId() string { - if x != nil && x.ReviewId != nil { - return *x.ReviewId - } - return "" -} - -func (x *LoopRun) GetErrorMessage() string { - if x != nil && x.ErrorMessage != nil { - return *x.ErrorMessage - } - return "" -} - -func (x *LoopRun) GetTriggeringEventType() string { - if x != nil { - return x.TriggeringEventType - } - return "" -} - -func (x *LoopRun) GetLoopSourceCommitSha() string { - if x != nil { - return x.LoopSourceCommitSha - } - return "" -} - -func (x *LoopRun) GetStartedAt() *timestamppb.Timestamp { - if x != nil { - return x.StartedAt - } - return nil -} - -func (x *LoopRun) GetCompletedAt() *timestamppb.Timestamp { - if x != nil { - return x.CompletedAt - } - return nil -} - -func (x *LoopRun) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *LoopRun) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *LoopRun) GetPrompt() string { - if x != nil { - return x.Prompt - } - return "" -} - -func (x *LoopRun) GetBrentVersion() string { - if x != nil { - return x.BrentVersion - } - return "" -} - -func (x *LoopRun) GetResponseId() string { - if x != nil { - return x.ResponseId - } - return "" -} - -func (x *LoopRun) GetCancelRequested() bool { - if x != nil { - return x.CancelRequested - } - return false -} - -func (x *LoopRun) GetTriggeringEventPayload() *Event { - if x != nil { - return x.TriggeringEventPayload - } - return nil -} - -func (x *LoopRun) GetThreadKey() string { - if x != nil && x.ThreadKey != nil { - return *x.ThreadKey - } - return "" -} - -func (x *LoopRun) GetPreviousResponseId() string { - if x != nil { - return x.PreviousResponseId - } - return "" -} - -func (x *LoopRun) GetResumedFromRunId() string { - if x != nil && x.ResumedFromRunId != nil { - return *x.ResumedFromRunId - } - return "" -} - -func (x *LoopRun) GetPlanUuid() string { - if x != nil && x.PlanUuid != nil { - return *x.PlanUuid - } - return "" -} - -func (x *LoopRun) GetPrId() string { - if x != nil && x.PrId != nil { - return *x.PrId - } - return "" -} - -func (x *LoopRun) GetModel() string { - if x != nil { - return x.Model - } - return "" -} - -type GetPrincipalStatusRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPrincipalStatusRequest) Reset() { - *x = GetPrincipalStatusRequest{} - mi := &file_brent_proto_msgTypes[194] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPrincipalStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPrincipalStatusRequest) ProtoMessage() {} - -func (x *GetPrincipalStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[194] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPrincipalStatusRequest.ProtoReflect.Descriptor instead. -func (*GetPrincipalStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{194} -} - -type GetPrincipalStatusResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - State PrincipalStatusState `protobuf:"varint,1,opt,name=state,proto3,enum=until.PrincipalStatusState" json:"state,omitempty"` - // Populated when state = READY. Omitted when NEEDS_ONBOARDING. - Principal *Principal `protobuf:"bytes,2,opt,name=principal,proto3,oneof" json:"principal,omitempty"` - // Populated when state = READY. One entry per supported provider. - Integrations []*IntegrationStatus `protobuf:"bytes,3,rep,name=integrations,proto3" json:"integrations,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPrincipalStatusResponse) Reset() { - *x = GetPrincipalStatusResponse{} - mi := &file_brent_proto_msgTypes[195] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPrincipalStatusResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPrincipalStatusResponse) ProtoMessage() {} - -func (x *GetPrincipalStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[195] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPrincipalStatusResponse.ProtoReflect.Descriptor instead. -func (*GetPrincipalStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{195} -} - -func (x *GetPrincipalStatusResponse) GetState() PrincipalStatusState { - if x != nil { - return x.State - } - return PrincipalStatusState_PRINCIPAL_STATUS_STATE_UNSPECIFIED -} - -func (x *GetPrincipalStatusResponse) GetPrincipal() *Principal { - if x != nil { - return x.Principal - } - return nil -} - -func (x *GetPrincipalStatusResponse) GetIntegrations() []*IntegrationStatus { - if x != nil { - return x.Integrations - } - return nil -} - -type GetIntegrationConnectURLRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` - Intent IntegrationIntent `protobuf:"varint,2,opt,name=intent,proto3,enum=until.IntegrationIntent" json:"intent,omitempty"` - // Instance discriminator for aggregator providers (e.g. the Composio toolkit - // slug for MCP_AGGREGATOR). Required when provider needs per-instance routing; - // ignored by single-instance providers (GitHub/Linear/Slack). - InstanceSlug string `protobuf:"bytes,3,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetIntegrationConnectURLRequest) Reset() { - *x = GetIntegrationConnectURLRequest{} - mi := &file_brent_proto_msgTypes[196] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetIntegrationConnectURLRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetIntegrationConnectURLRequest) ProtoMessage() {} - -func (x *GetIntegrationConnectURLRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[196] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetIntegrationConnectURLRequest.ProtoReflect.Descriptor instead. -func (*GetIntegrationConnectURLRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{196} -} - -func (x *GetIntegrationConnectURLRequest) GetProvider() IntegrationProvider { - if x != nil { - return x.Provider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *GetIntegrationConnectURLRequest) GetIntent() IntegrationIntent { - if x != nil { - return x.Intent - } - return IntegrationIntent_INTEGRATION_INTENT_UNSPECIFIED -} - -func (x *GetIntegrationConnectURLRequest) GetInstanceSlug() string { - if x != nil { - return x.InstanceSlug - } - return "" -} - -type GetIntegrationConnectURLResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetIntegrationConnectURLResponse) Reset() { - *x = GetIntegrationConnectURLResponse{} - mi := &file_brent_proto_msgTypes[197] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetIntegrationConnectURLResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetIntegrationConnectURLResponse) ProtoMessage() {} - -func (x *GetIntegrationConnectURLResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[197] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetIntegrationConnectURLResponse.ProtoReflect.Descriptor instead. -func (*GetIntegrationConnectURLResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{197} -} - -func (x *GetIntegrationConnectURLResponse) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -type DisconnectIntegrationRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` - // Instance discriminator for aggregator providers (the Composio toolkit slug - // for MCP_AGGREGATOR) and a compatibility endpoint slug for BYO HTTP MCP. - // Required for MCP_AGGREGATOR; ignored by other single-instance providers. - InstanceSlug string `protobuf:"bytes,2,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` - // Opaque connected BYO HTTP MCP install UUID. Empty for other providers and - // for older clients, which continue to use instance_slug. - InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DisconnectIntegrationRequest) Reset() { - *x = DisconnectIntegrationRequest{} - mi := &file_brent_proto_msgTypes[198] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DisconnectIntegrationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DisconnectIntegrationRequest) ProtoMessage() {} - -func (x *DisconnectIntegrationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[198] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DisconnectIntegrationRequest.ProtoReflect.Descriptor instead. -func (*DisconnectIntegrationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{198} -} - -func (x *DisconnectIntegrationRequest) GetProvider() IntegrationProvider { - if x != nil { - return x.Provider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *DisconnectIntegrationRequest) GetInstanceSlug() string { - if x != nil { - return x.InstanceSlug - } - return "" -} - -func (x *DisconnectIntegrationRequest) GetInstanceId() string { - if x != nil { - return x.InstanceId - } - return "" -} - -type DisconnectIntegrationResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DisconnectIntegrationResponse) Reset() { - *x = DisconnectIntegrationResponse{} - mi := &file_brent_proto_msgTypes[199] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DisconnectIntegrationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DisconnectIntegrationResponse) ProtoMessage() {} - -func (x *DisconnectIntegrationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[199] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DisconnectIntegrationResponse.ProtoReflect.Descriptor instead. -func (*DisconnectIntegrationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{199} -} - -type ConnectByoHttpMcpRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Required HTTPS MCP endpoint URL. - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - // Optional static bearer token for endpoint authentication. - BearerToken string `protobuf:"bytes,2,opt,name=bearer_token,json=bearerToken,proto3" json:"bearer_token,omitempty"` - // Optional PEM CA bundle for self-signed internal endpoints. - CaBundlePem string `protobuf:"bytes,3,opt,name=ca_bundle_pem,json=caBundlePem,proto3" json:"ca_bundle_pem,omitempty"` - // Optional pre-registered OAuth client for endpoints whose authorization - // server does not support Dynamic Client Registration (RFC 7591). - OauthClientId string `protobuf:"bytes,4,opt,name=oauth_client_id,json=oauthClientId,proto3" json:"oauth_client_id,omitempty"` - OauthClientSecret string `protobuf:"bytes,5,opt,name=oauth_client_secret,json=oauthClientSecret,proto3" json:"oauth_client_secret,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ConnectByoHttpMcpRequest) Reset() { - *x = ConnectByoHttpMcpRequest{} - mi := &file_brent_proto_msgTypes[200] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ConnectByoHttpMcpRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectByoHttpMcpRequest) ProtoMessage() {} - -func (x *ConnectByoHttpMcpRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[200] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectByoHttpMcpRequest.ProtoReflect.Descriptor instead. -func (*ConnectByoHttpMcpRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{200} -} - -func (x *ConnectByoHttpMcpRequest) GetEndpoint() string { - if x != nil { - return x.Endpoint - } - return "" -} - -func (x *ConnectByoHttpMcpRequest) GetBearerToken() string { - if x != nil { - return x.BearerToken - } - return "" -} - -func (x *ConnectByoHttpMcpRequest) GetCaBundlePem() string { - if x != nil { - return x.CaBundlePem - } - return "" -} - -func (x *ConnectByoHttpMcpRequest) GetOauthClientId() string { - if x != nil { - return x.OauthClientId - } - return "" -} - -func (x *ConnectByoHttpMcpRequest) GetOauthClientSecret() string { - if x != nil { - return x.OauthClientSecret - } - return "" -} - -type ConnectByoHttpMcpResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Number of tools the endpoint advertised on the smoke tools/list call. - DiscoveredToolCount uint32 `protobuf:"varint,1,opt,name=discovered_tool_count,json=discoveredToolCount,proto3" json:"discovered_tool_count,omitempty"` - // Set when the endpoint advertises RFC 9728 PRM: the SPA redirects here to - // complete the OAuth dance. Empty => static-bearer path already committed. - OauthAuthorizeUrl string `protobuf:"bytes,2,opt,name=oauth_authorize_url,json=oauthAuthorizeUrl,proto3" json:"oauth_authorize_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ConnectByoHttpMcpResponse) Reset() { - *x = ConnectByoHttpMcpResponse{} - mi := &file_brent_proto_msgTypes[201] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ConnectByoHttpMcpResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectByoHttpMcpResponse) ProtoMessage() {} - -func (x *ConnectByoHttpMcpResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[201] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectByoHttpMcpResponse.ProtoReflect.Descriptor instead. -func (*ConnectByoHttpMcpResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{201} -} - -func (x *ConnectByoHttpMcpResponse) GetDiscoveredToolCount() uint32 { - if x != nil { - return x.DiscoveredToolCount - } - return 0 -} - -func (x *ConnectByoHttpMcpResponse) GetOauthAuthorizeUrl() string { - if x != nil { - return x.OauthAuthorizeUrl - } - return "" -} - -type GetGitLabConnectionRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetGitLabConnectionRequest) Reset() { - *x = GetGitLabConnectionRequest{} - mi := &file_brent_proto_msgTypes[202] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetGitLabConnectionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGitLabConnectionRequest) ProtoMessage() {} - -func (x *GetGitLabConnectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[202] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGitLabConnectionRequest.ProtoReflect.Descriptor instead. -func (*GetGitLabConnectionRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{202} -} - -type GetGitLabConnectionResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Connected bool `protobuf:"varint,1,opt,name=connected,proto3" json:"connected,omitempty"` - // Normalized GitLab base URL when connected. - BaseUrl string `protobuf:"bytes,2,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` - ConnectedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=connected_at,json=connectedAt,proto3" json:"connected_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetGitLabConnectionResponse) Reset() { - *x = GetGitLabConnectionResponse{} - mi := &file_brent_proto_msgTypes[203] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetGitLabConnectionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGitLabConnectionResponse) ProtoMessage() {} - -func (x *GetGitLabConnectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[203] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGitLabConnectionResponse.ProtoReflect.Descriptor instead. -func (*GetGitLabConnectionResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{203} -} - -func (x *GetGitLabConnectionResponse) GetConnected() bool { - if x != nil { - return x.Connected - } - return false -} - -func (x *GetGitLabConnectionResponse) GetBaseUrl() string { - if x != nil { - return x.BaseUrl - } - return "" -} - -func (x *GetGitLabConnectionResponse) GetConnectedAt() *timestamppb.Timestamp { - if x != nil { - return x.ConnectedAt - } - return nil -} - -type ConnectGitLabRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - BaseUrl string `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` - AccessToken string `protobuf:"bytes,2,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ConnectGitLabRequest) Reset() { - *x = ConnectGitLabRequest{} - mi := &file_brent_proto_msgTypes[204] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ConnectGitLabRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectGitLabRequest) ProtoMessage() {} - -func (x *ConnectGitLabRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[204] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectGitLabRequest.ProtoReflect.Descriptor instead. -func (*ConnectGitLabRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{204} -} - -func (x *ConnectGitLabRequest) GetBaseUrl() string { - if x != nil { - return x.BaseUrl - } - return "" -} - -func (x *ConnectGitLabRequest) GetAccessToken() string { - if x != nil { - return x.AccessToken - } - return "" -} - -type ConnectGitLabResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - WebhookUrl string `protobuf:"bytes,1,opt,name=webhook_url,json=webhookUrl,proto3" json:"webhook_url,omitempty"` - // One-time secret for the X-Gitlab-Token header; not retrievable after connect. - WebhookSecret string `protobuf:"bytes,2,opt,name=webhook_secret,json=webhookSecret,proto3" json:"webhook_secret,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ConnectGitLabResponse) Reset() { - *x = ConnectGitLabResponse{} - mi := &file_brent_proto_msgTypes[205] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ConnectGitLabResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectGitLabResponse) ProtoMessage() {} - -func (x *ConnectGitLabResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[205] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectGitLabResponse.ProtoReflect.Descriptor instead. -func (*ConnectGitLabResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{205} -} - -func (x *ConnectGitLabResponse) GetWebhookUrl() string { - if x != nil { - return x.WebhookUrl - } - return "" -} - -func (x *ConnectGitLabResponse) GetWebhookSecret() string { - if x != nil { - return x.WebhookSecret - } - return "" -} - -type SaveGitLabSigningTokenRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The signing token GitLab generated for the webhook (format: "whsec_"). - // Used to verify the HMAC-SHA256 webhook-signature header on inbound deliveries. - SigningToken string `protobuf:"bytes,1,opt,name=signing_token,json=signingToken,proto3" json:"signing_token,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SaveGitLabSigningTokenRequest) Reset() { - *x = SaveGitLabSigningTokenRequest{} - mi := &file_brent_proto_msgTypes[206] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SaveGitLabSigningTokenRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SaveGitLabSigningTokenRequest) ProtoMessage() {} - -func (x *SaveGitLabSigningTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[206] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SaveGitLabSigningTokenRequest.ProtoReflect.Descriptor instead. -func (*SaveGitLabSigningTokenRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{206} -} - -func (x *SaveGitLabSigningTokenRequest) GetSigningToken() string { - if x != nil { - return x.SigningToken - } - return "" -} - -type SaveGitLabSigningTokenResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SaveGitLabSigningTokenResponse) Reset() { - *x = SaveGitLabSigningTokenResponse{} - mi := &file_brent_proto_msgTypes[207] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SaveGitLabSigningTokenResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SaveGitLabSigningTokenResponse) ProtoMessage() {} - -func (x *SaveGitLabSigningTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[207] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SaveGitLabSigningTokenResponse.ProtoReflect.Descriptor instead. -func (*SaveGitLabSigningTokenResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{207} -} - -type GitHubPendingInstall struct { - state protoimpl.MessageState `protogen:"open.v1"` - OrgName string `protobuf:"bytes,1,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"` - OrgId int64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` - RequestedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` - // GitHub login of the user who requested installation (admin-wait flow). - RequestedBy string `protobuf:"bytes,4,opt,name=requested_by,json=requestedBy,proto3" json:"requested_by,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GitHubPendingInstall) Reset() { - *x = GitHubPendingInstall{} - mi := &file_brent_proto_msgTypes[208] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GitHubPendingInstall) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GitHubPendingInstall) ProtoMessage() {} - -func (x *GitHubPendingInstall) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[208] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GitHubPendingInstall.ProtoReflect.Descriptor instead. -func (*GitHubPendingInstall) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{208} -} - -func (x *GitHubPendingInstall) GetOrgName() string { - if x != nil { - return x.OrgName - } - return "" -} - -func (x *GitHubPendingInstall) GetOrgId() int64 { - if x != nil { - return x.OrgId - } - return 0 -} - -func (x *GitHubPendingInstall) GetRequestedAt() *timestamppb.Timestamp { - if x != nil { - return x.RequestedAt - } - return nil -} - -func (x *GitHubPendingInstall) GetRequestedBy() string { - if x != nil { - return x.RequestedBy - } - return "" -} - -type IntegrationStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider IntegrationProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` - // Tenant has completed the provider org/workspace install OAuth flow. - OrgInstalled bool `protobuf:"varint,2,opt,name=org_installed,json=orgInstalled,proto3" json:"org_installed,omitempty"` - // Caller has a verified principal_bindings row for this provider kind. - // For GitHub, org_installed alone completes the connections wizard step; - // user_bound remains false until set_my_binding or a LINK OAuth flow. - UserBound bool `protobuf:"varint,3,opt,name=user_bound,json=userBound,proto3" json:"user_bound,omitempty"` - // GitHub admin-wait rows awaiting org admin approval (provider = GITHUB only). - GithubPending []*GitHubPendingInstall `protobuf:"bytes,4,rep,name=github_pending,json=githubPending,proto3" json:"github_pending,omitempty"` - // Time at which the current workspace connection was first established. - ConnectedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=connected_at,json=connectedAt,proto3" json:"connected_at,omitempty"` - // Provider-owned page where an administrator can manage this connection. - ManageUrl string `protobuf:"bytes,6,opt,name=manage_url,json=manageUrl,proto3" json:"manage_url,omitempty"` - // Coarse readiness for Integrations UI (button state / spinner / healthy / fix-me). - // Always set (never UNSPECIFIED) for every IntegrationStatus from GetPrincipalStatus. - Status IntegrationConnectionStatus `protobuf:"varint,7,opt,name=status,proto3,enum=until.IntegrationConnectionStatus" json:"status,omitempty"` - // Short label (a few words, max 32 chars) for the current status. - // Examples: "Not connected", "Connected", "Awaiting approval", "Needs reconnect". - Summary string `protobuf:"bytes,8,opt,name=summary,proto3" json:"summary,omitempty"` - // Longer explanation / next step shown under the label (max 160 chars). - // Examples: - // - // "This integration is not connected for this workspace." - // "An org admin must approve the GitHub App install before repositories are available." - // "Linked, but no usable Forge token is stored. Reconnect Bitbucket to open pull requests." - Detail string `protobuf:"bytes,9,opt,name=detail,proto3" json:"detail,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *IntegrationStatus) Reset() { - *x = IntegrationStatus{} - mi := &file_brent_proto_msgTypes[209] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *IntegrationStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IntegrationStatus) ProtoMessage() {} - -func (x *IntegrationStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[209] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IntegrationStatus.ProtoReflect.Descriptor instead. -func (*IntegrationStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{209} -} - -func (x *IntegrationStatus) GetProvider() IntegrationProvider { - if x != nil { - return x.Provider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *IntegrationStatus) GetOrgInstalled() bool { - if x != nil { - return x.OrgInstalled - } - return false -} - -func (x *IntegrationStatus) GetUserBound() bool { - if x != nil { - return x.UserBound - } - return false -} - -func (x *IntegrationStatus) GetGithubPending() []*GitHubPendingInstall { - if x != nil { - return x.GithubPending - } - return nil -} - -func (x *IntegrationStatus) GetConnectedAt() *timestamppb.Timestamp { - if x != nil { - return x.ConnectedAt - } - return nil -} - -func (x *IntegrationStatus) GetManageUrl() string { - if x != nil { - return x.ManageUrl - } - return "" -} - -func (x *IntegrationStatus) GetStatus() IntegrationConnectionStatus { - if x != nil { - return x.Status - } - return IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED -} - -func (x *IntegrationStatus) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -func (x *IntegrationStatus) GetDetail() string { - if x != nil { - return x.Detail - } - return "" -} - -type GetWorkspaceIntegrationRolesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetWorkspaceIntegrationRolesRequest) Reset() { - *x = GetWorkspaceIntegrationRolesRequest{} - mi := &file_brent_proto_msgTypes[210] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetWorkspaceIntegrationRolesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetWorkspaceIntegrationRolesRequest) ProtoMessage() {} - -func (x *GetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[210] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. -func (*GetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{210} -} - -type GetWorkspaceIntegrationRolesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Chosen source-control provider, or UNSPECIFIED if not yet configured. - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` - // Present when the workspace has a connected install for the current - // git_provider and the registry can build a safe manage URL. - GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetWorkspaceIntegrationRolesResponse) Reset() { - *x = GetWorkspaceIntegrationRolesResponse{} - mi := &file_brent_proto_msgTypes[211] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetWorkspaceIntegrationRolesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetWorkspaceIntegrationRolesResponse) ProtoMessage() {} - -func (x *GetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[211] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. -func (*GetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{211} -} - -func (x *GetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { - if x != nil { - return x.GitProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *GetWorkspaceIntegrationRolesResponse) GetGitManageUrl() string { - if x != nil { - return x.GitManageUrl - } - return "" -} - -type SetWorkspaceIntegrationRolesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // git_provider UNSPECIFIED is rejected once a git provider has ever been set - // OR while a git install is connected (cannot clear required role without - // disconnect). - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetWorkspaceIntegrationRolesRequest) Reset() { - *x = SetWorkspaceIntegrationRolesRequest{} - mi := &file_brent_proto_msgTypes[212] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetWorkspaceIntegrationRolesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetWorkspaceIntegrationRolesRequest) ProtoMessage() {} - -func (x *SetWorkspaceIntegrationRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[212] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetWorkspaceIntegrationRolesRequest.ProtoReflect.Descriptor instead. -func (*SetWorkspaceIntegrationRolesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{212} -} - -func (x *SetWorkspaceIntegrationRolesRequest) GetGitProvider() IntegrationProvider { - if x != nil { - return x.GitProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -type SetWorkspaceIntegrationRolesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - GitProvider IntegrationProvider `protobuf:"varint,1,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` - GitManageUrl string `protobuf:"bytes,4,opt,name=git_manage_url,json=gitManageUrl,proto3" json:"git_manage_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetWorkspaceIntegrationRolesResponse) Reset() { - *x = SetWorkspaceIntegrationRolesResponse{} - mi := &file_brent_proto_msgTypes[213] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetWorkspaceIntegrationRolesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetWorkspaceIntegrationRolesResponse) ProtoMessage() {} - -func (x *SetWorkspaceIntegrationRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[213] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetWorkspaceIntegrationRolesResponse.ProtoReflect.Descriptor instead. -func (*SetWorkspaceIntegrationRolesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{213} -} - -func (x *SetWorkspaceIntegrationRolesResponse) GetGitProvider() IntegrationProvider { - if x != nil { - return x.GitProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *SetWorkspaceIntegrationRolesResponse) GetGitManageUrl() string { - if x != nil { - return x.GitManageUrl - } - return "" -} - -// Principal is the wire representation of a row in the `principals` -// table. The `external_id` is the canonical reference used in -// `plans.author_principal_id` etc. once the principal-FK migration and -// manifesto guard land (plan: brent-plan-auth-milestone, phase 1.3). -type Principal struct { - state protoimpl.MessageState `protogen:"open.v1"` - ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // 'human' | 'agent' | 'group' (the friends-using-brent milestone - // writes human + agent only). - Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` - // 'active' | 'shadow' | 'tombstoned' (the friends-using-brent - // milestone writes 'active' only). - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Auth0/IdP profile picture URL from principal_identities; absent/empty → initials. - PictureUrl *string `protobuf:"bytes,8,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Principal) Reset() { - *x = Principal{} - mi := &file_brent_proto_msgTypes[214] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Principal) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Principal) ProtoMessage() {} - -func (x *Principal) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[214] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Principal.ProtoReflect.Descriptor instead. -func (*Principal) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{214} -} - -func (x *Principal) GetExternalId() string { - if x != nil { - return x.ExternalId - } - return "" -} - -func (x *Principal) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *Principal) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *Principal) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *Principal) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *Principal) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *Principal) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *Principal) GetPictureUrl() string { - if x != nil && x.PictureUrl != nil { - return *x.PictureUrl - } - return "" -} - -// Workspace is a tenant the caller belongs to. workspace_id is the uuid tenant -// key — the PK, the wire id, and the brent-workspace-id header value (no -// separate surrogate). role is the caller's membership role in THIS workspace -// (from principals.role), not a workspace attribute. -type Workspace struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // uuid tenant key (PK, wire id, header value) - Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` // ASCII URL key (e.g. "acme") - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // original user-entered name, verbatim (may be non-Latin) - Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` // caller's role in THIS workspace: "admin" | "member" - PictureUrl *string `protobuf:"bytes,5,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` // nullable until P3 (branding) - ThemeColor *string `protobuf:"bytes,6,opt,name=theme_color,json=themeColor,proto3,oneof" json:"theme_color,omitempty"` // nullable until P3 (branding) - // True once the workspace creator has completed the onboarding wizard. - // Defaults false on a freshly-minted workspace; set by - // CompleteWorkspaceOnboarding. Read by the SPA to gate home/settings. - OnboardingCompleted bool `protobuf:"varint,7,opt,name=onboarding_completed,json=onboardingCompleted,proto3" json:"onboarding_completed,omitempty"` - // Slugs this workspace previously used, recorded when RenameWorkspace changed - // the slug (ordered oldest-first by when each was superseded). Lets the SPA - // redirect a bookmarked/shared /w/{oldSlug} to the current slug after a rename - // instead of silently bouncing to the resolver. Empty when never renamed. - PreviousSlugs []string `protobuf:"bytes,8,rep,name=previous_slugs,json=previousSlugs,proto3" json:"previous_slugs,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Workspace) Reset() { - *x = Workspace{} - mi := &file_brent_proto_msgTypes[215] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Workspace) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Workspace) ProtoMessage() {} - -func (x *Workspace) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[215] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Workspace.ProtoReflect.Descriptor instead. -func (*Workspace) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{215} -} - -func (x *Workspace) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *Workspace) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *Workspace) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *Workspace) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -func (x *Workspace) GetPictureUrl() string { - if x != nil && x.PictureUrl != nil { - return *x.PictureUrl - } - return "" -} - -func (x *Workspace) GetThemeColor() string { - if x != nil && x.ThemeColor != nil { - return *x.ThemeColor - } - return "" -} - -func (x *Workspace) GetOnboardingCompleted() bool { - if x != nil { - return x.OnboardingCompleted - } - return false -} - -func (x *Workspace) GetPreviousSlugs() []string { - if x != nil { - return x.PreviousSlugs - } - return nil -} - -type CreateWorkspaceRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CreateWorkspaceRequest) Reset() { - *x = CreateWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[216] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CreateWorkspaceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateWorkspaceRequest) ProtoMessage() {} - -func (x *CreateWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[216] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateWorkspaceRequest.ProtoReflect.Descriptor instead. -func (*CreateWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{216} -} - -func (x *CreateWorkspaceRequest) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -type CreateWorkspaceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CreateWorkspaceResponse) Reset() { - *x = CreateWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[217] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CreateWorkspaceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateWorkspaceResponse) ProtoMessage() {} - -func (x *CreateWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[217] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateWorkspaceResponse.ProtoReflect.Descriptor instead. -func (*CreateWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{217} -} - -func (x *CreateWorkspaceResponse) GetWorkspace() *Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type ListMyWorkspacesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListMyWorkspacesRequest) Reset() { - *x = ListMyWorkspacesRequest{} - mi := &file_brent_proto_msgTypes[218] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListMyWorkspacesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMyWorkspacesRequest) ProtoMessage() {} - -func (x *ListMyWorkspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[218] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMyWorkspacesRequest.ProtoReflect.Descriptor instead. -func (*ListMyWorkspacesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{218} -} - -type ListMyWorkspacesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspaces []*Workspace `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListMyWorkspacesResponse) Reset() { - *x = ListMyWorkspacesResponse{} - mi := &file_brent_proto_msgTypes[219] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListMyWorkspacesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMyWorkspacesResponse) ProtoMessage() {} - -func (x *ListMyWorkspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[219] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMyWorkspacesResponse.ProtoReflect.Descriptor instead. -func (*ListMyWorkspacesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{219} -} - -func (x *ListMyWorkspacesResponse) GetWorkspaces() []*Workspace { - if x != nil { - return x.Workspaces - } - return nil -} - -type DiscoverLoginRecoveryCandidatesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DiscoverLoginRecoveryCandidatesRequest) Reset() { - *x = DiscoverLoginRecoveryCandidatesRequest{} - mi := &file_brent_proto_msgTypes[220] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DiscoverLoginRecoveryCandidatesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DiscoverLoginRecoveryCandidatesRequest) ProtoMessage() {} - -func (x *DiscoverLoginRecoveryCandidatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[220] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DiscoverLoginRecoveryCandidatesRequest.ProtoReflect.Descriptor instead. -func (*DiscoverLoginRecoveryCandidatesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{220} -} - -// A single recovery candidate. Exposes only the allowlisted Auth0 connection -// name (for restarting authentication) and the active workspace count — never -// workspace IDs, names, roles, members, email, Auth0 user IDs, or tokens. -type LoginRecoveryCandidate struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider LoginProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=until.LoginProvider" json:"provider,omitempty"` - Auth0Connection string `protobuf:"bytes,2,opt,name=auth0_connection,json=auth0Connection,proto3" json:"auth0_connection,omitempty"` - ActiveWorkspaceCount uint32 `protobuf:"varint,3,opt,name=active_workspace_count,json=activeWorkspaceCount,proto3" json:"active_workspace_count,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LoginRecoveryCandidate) Reset() { - *x = LoginRecoveryCandidate{} - mi := &file_brent_proto_msgTypes[221] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LoginRecoveryCandidate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoginRecoveryCandidate) ProtoMessage() {} - -func (x *LoginRecoveryCandidate) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[221] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoginRecoveryCandidate.ProtoReflect.Descriptor instead. -func (*LoginRecoveryCandidate) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{221} -} - -func (x *LoginRecoveryCandidate) GetProvider() LoginProvider { - if x != nil { - return x.Provider - } - return LoginProvider_LOGIN_PROVIDER_UNSPECIFIED -} - -func (x *LoginRecoveryCandidate) GetAuth0Connection() string { - if x != nil { - return x.Auth0Connection - } - return "" -} - -func (x *LoginRecoveryCandidate) GetActiveWorkspaceCount() uint32 { - if x != nil { - return x.ActiveWorkspaceCount - } - return 0 -} - -type DiscoverLoginRecoveryCandidatesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The caller's arriving provider when it is one of the supported social - // providers; UNSPECIFIED (with empty candidates) when the arriving - // connection is unsupported. - ArrivingProvider LoginProvider `protobuf:"varint,1,opt,name=arriving_provider,json=arrivingProvider,proto3,enum=until.LoginProvider" json:"arriving_provider,omitempty"` - Candidates []*LoginRecoveryCandidate `protobuf:"bytes,2,rep,name=candidates,proto3" json:"candidates,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DiscoverLoginRecoveryCandidatesResponse) Reset() { - *x = DiscoverLoginRecoveryCandidatesResponse{} - mi := &file_brent_proto_msgTypes[222] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DiscoverLoginRecoveryCandidatesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DiscoverLoginRecoveryCandidatesResponse) ProtoMessage() {} - -func (x *DiscoverLoginRecoveryCandidatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[222] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DiscoverLoginRecoveryCandidatesResponse.ProtoReflect.Descriptor instead. -func (*DiscoverLoginRecoveryCandidatesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{222} -} - -func (x *DiscoverLoginRecoveryCandidatesResponse) GetArrivingProvider() LoginProvider { - if x != nil { - return x.ArrivingProvider - } - return LoginProvider_LOGIN_PROVIDER_UNSPECIFIED -} - -func (x *DiscoverLoginRecoveryCandidatesResponse) GetCandidates() []*LoginRecoveryCandidate { - if x != nil { - return x.Candidates - } - return nil -} - -type RenameWorkspaceRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // New workspace name. Stored verbatim as display_name; the URL slug is - // re-derived from it (empty-slug names keep the current slug). The target - // workspace is the Brent-Workspace-Id header, not a field, so this cannot - // rename another workspace. - DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RenameWorkspaceRequest) Reset() { - *x = RenameWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[223] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RenameWorkspaceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RenameWorkspaceRequest) ProtoMessage() {} - -func (x *RenameWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[223] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RenameWorkspaceRequest.ProtoReflect.Descriptor instead. -func (*RenameWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{223} -} - -func (x *RenameWorkspaceRequest) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -type RenameWorkspaceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RenameWorkspaceResponse) Reset() { - *x = RenameWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[224] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RenameWorkspaceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RenameWorkspaceResponse) ProtoMessage() {} - -func (x *RenameWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[224] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RenameWorkspaceResponse.ProtoReflect.Descriptor instead. -func (*RenameWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{224} -} - -func (x *RenameWorkspaceResponse) GetWorkspace() *Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type DeleteWorkspaceRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The workspace to delete. The caller must be an active admin member; - // verified server-side from the Auth0 subject. - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteWorkspaceRequest) Reset() { - *x = DeleteWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[225] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteWorkspaceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteWorkspaceRequest) ProtoMessage() {} - -func (x *DeleteWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[225] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteWorkspaceRequest.ProtoReflect.Descriptor instead. -func (*DeleteWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{225} -} - -func (x *DeleteWorkspaceRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -type DeleteWorkspaceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteWorkspaceResponse) Reset() { - *x = DeleteWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[226] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteWorkspaceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteWorkspaceResponse) ProtoMessage() {} - -func (x *DeleteWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[226] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteWorkspaceResponse.ProtoReflect.Descriptor instead. -func (*DeleteWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{226} -} - -type ListJoinableWorkspacesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListJoinableWorkspacesRequest) Reset() { - *x = ListJoinableWorkspacesRequest{} - mi := &file_brent_proto_msgTypes[227] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListJoinableWorkspacesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListJoinableWorkspacesRequest) ProtoMessage() {} - -func (x *ListJoinableWorkspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[227] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListJoinableWorkspacesRequest.ProtoReflect.Descriptor instead. -func (*ListJoinableWorkspacesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{227} -} - -type ListJoinableWorkspacesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspaces []*JoinableWorkspace `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListJoinableWorkspacesResponse) Reset() { - *x = ListJoinableWorkspacesResponse{} - mi := &file_brent_proto_msgTypes[228] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListJoinableWorkspacesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListJoinableWorkspacesResponse) ProtoMessage() {} - -func (x *ListJoinableWorkspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[228] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListJoinableWorkspacesResponse.ProtoReflect.Descriptor instead. -func (*ListJoinableWorkspacesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{228} -} - -func (x *ListJoinableWorkspacesResponse) GetWorkspaces() []*JoinableWorkspace { - if x != nil { - return x.Workspaces - } - return nil -} - -// A workspace the caller can join, with the data the join card renders. -type JoinableWorkspace struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - PictureUrl *string `protobuf:"bytes,4,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` // derived branding URL; absent → fallback logo - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - CreatedByName string `protobuf:"bytes,6,opt,name=created_by_name,json=createdByName,proto3" json:"created_by_name,omitempty"` // creator's live display name; empty if the creator has left - MemberPreviews []*JoinableWorkspaceMember `protobuf:"bytes,7,rep,name=member_previews,json=memberPreviews,proto3" json:"member_previews,omitempty"` // up to 4 active human members - MemberCount uint32 `protobuf:"varint,8,opt,name=member_count,json=memberCount,proto3" json:"member_count,omitempty"` // total active human members (drives "+N") - Source JoinSource `protobuf:"varint,9,opt,name=source,proto3,enum=until.JoinSource" json:"source,omitempty"` // why this workspace is joinable (DOMAIN or INVITE) - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *JoinableWorkspace) Reset() { - *x = JoinableWorkspace{} - mi := &file_brent_proto_msgTypes[229] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *JoinableWorkspace) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinableWorkspace) ProtoMessage() {} - -func (x *JoinableWorkspace) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[229] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinableWorkspace.ProtoReflect.Descriptor instead. -func (*JoinableWorkspace) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{229} -} - -func (x *JoinableWorkspace) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *JoinableWorkspace) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *JoinableWorkspace) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *JoinableWorkspace) GetPictureUrl() string { - if x != nil && x.PictureUrl != nil { - return *x.PictureUrl - } - return "" -} - -func (x *JoinableWorkspace) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *JoinableWorkspace) GetCreatedByName() string { - if x != nil { - return x.CreatedByName - } - return "" -} - -func (x *JoinableWorkspace) GetMemberPreviews() []*JoinableWorkspaceMember { - if x != nil { - return x.MemberPreviews - } - return nil -} - -func (x *JoinableWorkspace) GetMemberCount() uint32 { - if x != nil { - return x.MemberCount - } - return 0 -} - -func (x *JoinableWorkspace) GetSource() JoinSource { - if x != nil { - return x.Source - } - return JoinSource_JOIN_SOURCE_UNSPECIFIED -} - -type JoinableWorkspaceMember struct { - state protoimpl.MessageState `protogen:"open.v1"` - DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - // Auth0/IdP profile picture when the member has synced; absent/empty → initials. - PictureUrl *string `protobuf:"bytes,2,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *JoinableWorkspaceMember) Reset() { - *x = JoinableWorkspaceMember{} - mi := &file_brent_proto_msgTypes[230] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *JoinableWorkspaceMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinableWorkspaceMember) ProtoMessage() {} - -func (x *JoinableWorkspaceMember) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[230] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinableWorkspaceMember.ProtoReflect.Descriptor instead. -func (*JoinableWorkspaceMember) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{230} -} - -func (x *JoinableWorkspaceMember) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *JoinableWorkspaceMember) GetPictureUrl() string { - if x != nil && x.PictureUrl != nil { - return *x.PictureUrl - } - return "" -} - -type JoinWorkspaceRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *JoinWorkspaceRequest) Reset() { - *x = JoinWorkspaceRequest{} - mi := &file_brent_proto_msgTypes[231] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *JoinWorkspaceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinWorkspaceRequest) ProtoMessage() {} - -func (x *JoinWorkspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[231] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinWorkspaceRequest.ProtoReflect.Descriptor instead. -func (*JoinWorkspaceRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{231} -} - -func (x *JoinWorkspaceRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -type JoinWorkspaceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` // reuses the existing Workspace message; carries slug for navigation - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *JoinWorkspaceResponse) Reset() { - *x = JoinWorkspaceResponse{} - mi := &file_brent_proto_msgTypes[232] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *JoinWorkspaceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinWorkspaceResponse) ProtoMessage() {} - -func (x *JoinWorkspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[232] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinWorkspaceResponse.ProtoReflect.Descriptor instead. -func (*JoinWorkspaceResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{232} -} - -func (x *JoinWorkspaceResponse) GetWorkspace() *Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -// ApprovedEmailDomain is the client view of one approved email domain (ENG-5202). -// verified is derived from the row's verified_at; added_by_name is the adder's -// live display name (empty when the adder has left the workspace). -type ApprovedEmailDomain struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` - Verified bool `protobuf:"varint,3,opt,name=verified,proto3" json:"verified,omitempty"` - AddedByName string `protobuf:"bytes,4,opt,name=added_by_name,json=addedByName,proto3" json:"added_by_name,omitempty"` - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // The email address the verification code was sent to. Stored on every row and - // surfaced so the frontend can name the exact address in the verify dialog. - VerificationEmail string `protobuf:"bytes,6,opt,name=verification_email,json=verificationEmail,proto3" json:"verification_email,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ApprovedEmailDomain) Reset() { - *x = ApprovedEmailDomain{} - mi := &file_brent_proto_msgTypes[233] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ApprovedEmailDomain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApprovedEmailDomain) ProtoMessage() {} - -func (x *ApprovedEmailDomain) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[233] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApprovedEmailDomain.ProtoReflect.Descriptor instead. -func (*ApprovedEmailDomain) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{233} -} - -func (x *ApprovedEmailDomain) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *ApprovedEmailDomain) GetDomain() string { - if x != nil { - return x.Domain - } - return "" -} - -func (x *ApprovedEmailDomain) GetVerified() bool { - if x != nil { - return x.Verified - } - return false -} - -func (x *ApprovedEmailDomain) GetAddedByName() string { - if x != nil { - return x.AddedByName - } - return "" -} - -func (x *ApprovedEmailDomain) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *ApprovedEmailDomain) GetVerificationEmail() string { - if x != nil { - return x.VerificationEmail - } - return "" -} - -type ListApprovedEmailDomainsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListApprovedEmailDomainsRequest) Reset() { - *x = ListApprovedEmailDomainsRequest{} - mi := &file_brent_proto_msgTypes[234] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListApprovedEmailDomainsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListApprovedEmailDomainsRequest) ProtoMessage() {} - -func (x *ListApprovedEmailDomainsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[234] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListApprovedEmailDomainsRequest.ProtoReflect.Descriptor instead. -func (*ListApprovedEmailDomainsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{234} -} - -type ListApprovedEmailDomainsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Domains []*ApprovedEmailDomain `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListApprovedEmailDomainsResponse) Reset() { - *x = ListApprovedEmailDomainsResponse{} - mi := &file_brent_proto_msgTypes[235] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListApprovedEmailDomainsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListApprovedEmailDomainsResponse) ProtoMessage() {} - -func (x *ListApprovedEmailDomainsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[235] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListApprovedEmailDomainsResponse.ProtoReflect.Descriptor instead. -func (*ListApprovedEmailDomainsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{235} -} - -func (x *ListApprovedEmailDomainsResponse) GetDomains() []*ApprovedEmailDomain { - if x != nil { - return x.Domains - } - return nil -} - -type AddApprovedEmailDomainRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The bare domain to approve (e.g. "company.com"). Normalized and validated - // server-side; public providers are rejected. - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` - // An email address at the domain that receives the verification code. Its - // domain must exactly equal `domain`. - VerificationEmail string `protobuf:"bytes,2,opt,name=verification_email,json=verificationEmail,proto3" json:"verification_email,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AddApprovedEmailDomainRequest) Reset() { - *x = AddApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[236] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AddApprovedEmailDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddApprovedEmailDomainRequest) ProtoMessage() {} - -func (x *AddApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[236] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. -func (*AddApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{236} -} - -func (x *AddApprovedEmailDomainRequest) GetDomain() string { - if x != nil { - return x.Domain - } - return "" -} - -func (x *AddApprovedEmailDomainRequest) GetVerificationEmail() string { - if x != nil { - return x.VerificationEmail - } - return "" -} - -type AddApprovedEmailDomainResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Domain *ApprovedEmailDomain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AddApprovedEmailDomainResponse) Reset() { - *x = AddApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[237] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AddApprovedEmailDomainResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddApprovedEmailDomainResponse) ProtoMessage() {} - -func (x *AddApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[237] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. -func (*AddApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{237} -} - -func (x *AddApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { - if x != nil { - return x.Domain - } - return nil -} - -type VerifyApprovedEmailDomainRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The approved email domain id to verify (scoped to the header workspace). - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // The verification code emailed to the verification address. - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *VerifyApprovedEmailDomainRequest) Reset() { - *x = VerifyApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[238] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *VerifyApprovedEmailDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifyApprovedEmailDomainRequest) ProtoMessage() {} - -func (x *VerifyApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[238] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifyApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. -func (*VerifyApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{238} -} - -func (x *VerifyApprovedEmailDomainRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *VerifyApprovedEmailDomainRequest) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -type VerifyApprovedEmailDomainResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Domain *ApprovedEmailDomain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *VerifyApprovedEmailDomainResponse) Reset() { - *x = VerifyApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[239] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *VerifyApprovedEmailDomainResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifyApprovedEmailDomainResponse) ProtoMessage() {} - -func (x *VerifyApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[239] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifyApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. -func (*VerifyApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{239} -} - -func (x *VerifyApprovedEmailDomainResponse) GetDomain() *ApprovedEmailDomain { - if x != nil { - return x.Domain - } - return nil -} - -type ResendApprovedEmailDomainCodeRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The unverified approved email domain id to resend a code for. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ResendApprovedEmailDomainCodeRequest) Reset() { - *x = ResendApprovedEmailDomainCodeRequest{} - mi := &file_brent_proto_msgTypes[240] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ResendApprovedEmailDomainCodeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResendApprovedEmailDomainCodeRequest) ProtoMessage() {} - -func (x *ResendApprovedEmailDomainCodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[240] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResendApprovedEmailDomainCodeRequest.ProtoReflect.Descriptor instead. -func (*ResendApprovedEmailDomainCodeRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{240} -} - -func (x *ResendApprovedEmailDomainCodeRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type ResendApprovedEmailDomainCodeResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ResendApprovedEmailDomainCodeResponse) Reset() { - *x = ResendApprovedEmailDomainCodeResponse{} - mi := &file_brent_proto_msgTypes[241] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ResendApprovedEmailDomainCodeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResendApprovedEmailDomainCodeResponse) ProtoMessage() {} - -func (x *ResendApprovedEmailDomainCodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[241] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResendApprovedEmailDomainCodeResponse.ProtoReflect.Descriptor instead. -func (*ResendApprovedEmailDomainCodeResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{241} -} - -// ResendVerificationEmailRequest carries no fields: the recipient identity is -// resolved server-side from the caller's JWT. -type ResendVerificationEmailRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ResendVerificationEmailRequest) Reset() { - *x = ResendVerificationEmailRequest{} - mi := &file_brent_proto_msgTypes[242] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ResendVerificationEmailRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResendVerificationEmailRequest) ProtoMessage() {} - -func (x *ResendVerificationEmailRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[242] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResendVerificationEmailRequest.ProtoReflect.Descriptor instead. -func (*ResendVerificationEmailRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{242} -} - -type ResendVerificationEmailResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ResendVerificationEmailResponse) Reset() { - *x = ResendVerificationEmailResponse{} - mi := &file_brent_proto_msgTypes[243] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ResendVerificationEmailResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResendVerificationEmailResponse) ProtoMessage() {} - -func (x *ResendVerificationEmailResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[243] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResendVerificationEmailResponse.ProtoReflect.Descriptor instead. -func (*ResendVerificationEmailResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{243} -} - -type DeleteApprovedEmailDomainRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The approved email domain id to delete (scoped to the header workspace). - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteApprovedEmailDomainRequest) Reset() { - *x = DeleteApprovedEmailDomainRequest{} - mi := &file_brent_proto_msgTypes[244] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteApprovedEmailDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteApprovedEmailDomainRequest) ProtoMessage() {} - -func (x *DeleteApprovedEmailDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[244] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteApprovedEmailDomainRequest.ProtoReflect.Descriptor instead. -func (*DeleteApprovedEmailDomainRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{244} -} - -func (x *DeleteApprovedEmailDomainRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type DeleteApprovedEmailDomainResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteApprovedEmailDomainResponse) Reset() { - *x = DeleteApprovedEmailDomainResponse{} - mi := &file_brent_proto_msgTypes[245] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteApprovedEmailDomainResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteApprovedEmailDomainResponse) ProtoMessage() {} - -func (x *DeleteApprovedEmailDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[245] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteApprovedEmailDomainResponse.ProtoReflect.Descriptor instead. -func (*DeleteApprovedEmailDomainResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{245} -} - -// WorkspaceLLMCredentialStatus is the metadata-only view of a stored workspace -// LLM key. Never includes the secret; only last-4 and timestamps. -type WorkspaceLLMCredentialStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The provider the key belongs to (e.g. "openai"). - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - // True when a key is stored for this provider. - Connected bool `protobuf:"varint,2,opt,name=connected,proto3" json:"connected,omitempty"` - // Last four characters of the stored secret, for display confirmation. - SecretLast4 string `protobuf:"bytes,3,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` - // When the key was last validated against the provider API. Unset when the - // key has never been validated (e.g. stored during a transient probe failure). - LastValidatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_validated_at,json=lastValidatedAt,proto3" json:"last_validated_at,omitempty"` - // When the credential row was last written (created or replaced). - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceLLMCredentialStatus) Reset() { - *x = WorkspaceLLMCredentialStatus{} - mi := &file_brent_proto_msgTypes[246] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceLLMCredentialStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceLLMCredentialStatus) ProtoMessage() {} - -func (x *WorkspaceLLMCredentialStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[246] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceLLMCredentialStatus.ProtoReflect.Descriptor instead. -func (*WorkspaceLLMCredentialStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{246} -} - -func (x *WorkspaceLLMCredentialStatus) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *WorkspaceLLMCredentialStatus) GetConnected() bool { - if x != nil { - return x.Connected - } - return false -} - -func (x *WorkspaceLLMCredentialStatus) GetSecretLast4() string { - if x != nil { - return x.SecretLast4 - } - return "" -} - -func (x *WorkspaceLLMCredentialStatus) GetLastValidatedAt() *timestamppb.Timestamp { - if x != nil { - return x.LastValidatedAt - } - return nil -} - -func (x *WorkspaceLLMCredentialStatus) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -type GetWorkspaceLLMCredentialStatusRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Provider to query (e.g. "openai"). - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetWorkspaceLLMCredentialStatusRequest) Reset() { - *x = GetWorkspaceLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[247] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetWorkspaceLLMCredentialStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetWorkspaceLLMCredentialStatusRequest) ProtoMessage() {} - -func (x *GetWorkspaceLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[247] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetWorkspaceLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. -func (*GetWorkspaceLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{247} -} - -func (x *GetWorkspaceLLMCredentialStatusRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -type GetWorkspaceLLMCredentialStatusResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Status *WorkspaceLLMCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetWorkspaceLLMCredentialStatusResponse) Reset() { - *x = GetWorkspaceLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[248] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetWorkspaceLLMCredentialStatusResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetWorkspaceLLMCredentialStatusResponse) ProtoMessage() {} - -func (x *GetWorkspaceLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[248] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetWorkspaceLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. -func (*GetWorkspaceLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{248} -} - -func (x *GetWorkspaceLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { - if x != nil { - return x.Status - } - return nil -} - -type SetWorkspaceLLMCredentialRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Provider the key belongs to (e.g. "openai"). - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - // The raw API key / secret to store. - Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetWorkspaceLLMCredentialRequest) Reset() { - *x = SetWorkspaceLLMCredentialRequest{} - mi := &file_brent_proto_msgTypes[249] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetWorkspaceLLMCredentialRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetWorkspaceLLMCredentialRequest) ProtoMessage() {} - -func (x *SetWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[249] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. -func (*SetWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{249} -} - -func (x *SetWorkspaceLLMCredentialRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *SetWorkspaceLLMCredentialRequest) GetSecret() string { - if x != nil { - return x.Secret - } - return "" -} - -type SetWorkspaceLLMCredentialResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Status after the set (connected=true, secret_last4, timestamps). - Status *WorkspaceLLMCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - // Non-empty when validation could not complete due to a transient error. The - // key is stored but last_validated_at is null until a future successful - // validation (or replacement). - ValidationWarning string `protobuf:"bytes,2,opt,name=validation_warning,json=validationWarning,proto3" json:"validation_warning,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetWorkspaceLLMCredentialResponse) Reset() { - *x = SetWorkspaceLLMCredentialResponse{} - mi := &file_brent_proto_msgTypes[250] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetWorkspaceLLMCredentialResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetWorkspaceLLMCredentialResponse) ProtoMessage() {} - -func (x *SetWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[250] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. -func (*SetWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{250} -} - -func (x *SetWorkspaceLLMCredentialResponse) GetStatus() *WorkspaceLLMCredentialStatus { - if x != nil { - return x.Status - } - return nil -} - -func (x *SetWorkspaceLLMCredentialResponse) GetValidationWarning() string { - if x != nil { - return x.ValidationWarning - } - return "" -} - -type DeleteWorkspaceLLMCredentialRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Provider whose key should be deleted (e.g. "openai"). - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteWorkspaceLLMCredentialRequest) Reset() { - *x = DeleteWorkspaceLLMCredentialRequest{} - mi := &file_brent_proto_msgTypes[251] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteWorkspaceLLMCredentialRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteWorkspaceLLMCredentialRequest) ProtoMessage() {} - -func (x *DeleteWorkspaceLLMCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[251] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteWorkspaceLLMCredentialRequest.ProtoReflect.Descriptor instead. -func (*DeleteWorkspaceLLMCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{251} -} - -func (x *DeleteWorkspaceLLMCredentialRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -type DeleteWorkspaceLLMCredentialResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteWorkspaceLLMCredentialResponse) Reset() { - *x = DeleteWorkspaceLLMCredentialResponse{} - mi := &file_brent_proto_msgTypes[252] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteWorkspaceLLMCredentialResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteWorkspaceLLMCredentialResponse) ProtoMessage() {} - -func (x *DeleteWorkspaceLLMCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[252] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteWorkspaceLLMCredentialResponse.ProtoReflect.Descriptor instead. -func (*DeleteWorkspaceLLMCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{252} -} - -type MyCursorCredentialStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` - // True when the calling principal has a validated personal Cursor key. - Connected bool `protobuf:"varint,1,opt,name=connected,proto3" json:"connected,omitempty"` - // Last four characters of the stored key, for display confirmation. - SecretLast4 string `protobuf:"bytes,2,opt,name=secret_last4,json=secretLast4,proto3" json:"secret_last4,omitempty"` - // When Cursor last accepted the stored key. - LastValidatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_validated_at,json=lastValidatedAt,proto3" json:"last_validated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *MyCursorCredentialStatus) Reset() { - *x = MyCursorCredentialStatus{} - mi := &file_brent_proto_msgTypes[253] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *MyCursorCredentialStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MyCursorCredentialStatus) ProtoMessage() {} - -func (x *MyCursorCredentialStatus) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[253] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MyCursorCredentialStatus.ProtoReflect.Descriptor instead. -func (*MyCursorCredentialStatus) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{253} -} - -func (x *MyCursorCredentialStatus) GetConnected() bool { - if x != nil { - return x.Connected - } - return false -} - -func (x *MyCursorCredentialStatus) GetSecretLast4() string { - if x != nil { - return x.SecretLast4 - } - return "" -} - -func (x *MyCursorCredentialStatus) GetLastValidatedAt() *timestamppb.Timestamp { - if x != nil { - return x.LastValidatedAt - } - return nil -} - -type GetMyCursorCredentialStatusRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetMyCursorCredentialStatusRequest) Reset() { - *x = GetMyCursorCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[254] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetMyCursorCredentialStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMyCursorCredentialStatusRequest) ProtoMessage() {} - -func (x *GetMyCursorCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[254] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMyCursorCredentialStatusRequest.ProtoReflect.Descriptor instead. -func (*GetMyCursorCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{254} -} - -type GetMyCursorCredentialStatusResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Status *MyCursorCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetMyCursorCredentialStatusResponse) Reset() { - *x = GetMyCursorCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[255] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetMyCursorCredentialStatusResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMyCursorCredentialStatusResponse) ProtoMessage() {} - -func (x *GetMyCursorCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[255] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMyCursorCredentialStatusResponse.ProtoReflect.Descriptor instead. -func (*GetMyCursorCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{255} -} - -func (x *GetMyCursorCredentialStatusResponse) GetStatus() *MyCursorCredentialStatus { - if x != nil { - return x.Status - } - return nil -} - -type SetMyCursorCredentialRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Raw Cursor user API key. Write-only and never returned. - Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetMyCursorCredentialRequest) Reset() { - *x = SetMyCursorCredentialRequest{} - mi := &file_brent_proto_msgTypes[256] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetMyCursorCredentialRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMyCursorCredentialRequest) ProtoMessage() {} - -func (x *SetMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[256] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetMyCursorCredentialRequest.ProtoReflect.Descriptor instead. -func (*SetMyCursorCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{256} -} - -func (x *SetMyCursorCredentialRequest) GetSecret() string { - if x != nil { - return x.Secret - } - return "" -} - -type SetMyCursorCredentialResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Status *MyCursorCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *SetMyCursorCredentialResponse) Reset() { - *x = SetMyCursorCredentialResponse{} - mi := &file_brent_proto_msgTypes[257] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *SetMyCursorCredentialResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMyCursorCredentialResponse) ProtoMessage() {} - -func (x *SetMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[257] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetMyCursorCredentialResponse.ProtoReflect.Descriptor instead. -func (*SetMyCursorCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{257} -} - -func (x *SetMyCursorCredentialResponse) GetStatus() *MyCursorCredentialStatus { - if x != nil { - return x.Status - } - return nil -} - -type DeleteMyCursorCredentialRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteMyCursorCredentialRequest) Reset() { - *x = DeleteMyCursorCredentialRequest{} - mi := &file_brent_proto_msgTypes[258] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteMyCursorCredentialRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMyCursorCredentialRequest) ProtoMessage() {} - -func (x *DeleteMyCursorCredentialRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[258] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteMyCursorCredentialRequest.ProtoReflect.Descriptor instead. -func (*DeleteMyCursorCredentialRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{258} -} - -type DeleteMyCursorCredentialResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *DeleteMyCursorCredentialResponse) Reset() { - *x = DeleteMyCursorCredentialResponse{} - mi := &file_brent_proto_msgTypes[259] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *DeleteMyCursorCredentialResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMyCursorCredentialResponse) ProtoMessage() {} - -func (x *DeleteMyCursorCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[259] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteMyCursorCredentialResponse.ProtoReflect.Descriptor instead. -func (*DeleteMyCursorCredentialResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{259} -} - -type UpdateWorkspaceBrandingRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // New theme colour as a strict "#rrggbb" hex string (lowercase or uppercase - // hex digits). An empty string clears the colour to NULL. The target - // workspace is the Brent-Workspace-Id header, not a field, so this cannot set - // another workspace's theme. - ThemeColor string `protobuf:"bytes,1,opt,name=theme_color,json=themeColor,proto3" json:"theme_color,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateWorkspaceBrandingRequest) Reset() { - *x = UpdateWorkspaceBrandingRequest{} - mi := &file_brent_proto_msgTypes[260] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateWorkspaceBrandingRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateWorkspaceBrandingRequest) ProtoMessage() {} - -func (x *UpdateWorkspaceBrandingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[260] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateWorkspaceBrandingRequest.ProtoReflect.Descriptor instead. -func (*UpdateWorkspaceBrandingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{260} -} - -func (x *UpdateWorkspaceBrandingRequest) GetThemeColor() string { - if x != nil { - return x.ThemeColor - } - return "" -} - -type UpdateWorkspaceBrandingResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateWorkspaceBrandingResponse) Reset() { - *x = UpdateWorkspaceBrandingResponse{} - mi := &file_brent_proto_msgTypes[261] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateWorkspaceBrandingResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateWorkspaceBrandingResponse) ProtoMessage() {} - -func (x *UpdateWorkspaceBrandingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[261] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateWorkspaceBrandingResponse.ProtoReflect.Descriptor instead. -func (*UpdateWorkspaceBrandingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{261} -} - -func (x *UpdateWorkspaceBrandingResponse) GetWorkspace() *Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type CompleteWorkspaceOnboardingRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The workspace whose onboarding the caller is completing. The caller must - // be an active admin member; verified server-side from the Auth0 subject. - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CompleteWorkspaceOnboardingRequest) Reset() { - *x = CompleteWorkspaceOnboardingRequest{} - mi := &file_brent_proto_msgTypes[262] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CompleteWorkspaceOnboardingRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CompleteWorkspaceOnboardingRequest) ProtoMessage() {} - -func (x *CompleteWorkspaceOnboardingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[262] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CompleteWorkspaceOnboardingRequest.ProtoReflect.Descriptor instead. -func (*CompleteWorkspaceOnboardingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{262} -} - -func (x *CompleteWorkspaceOnboardingRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -type CompleteWorkspaceOnboardingResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CompleteWorkspaceOnboardingResponse) Reset() { - *x = CompleteWorkspaceOnboardingResponse{} - mi := &file_brent_proto_msgTypes[263] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CompleteWorkspaceOnboardingResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CompleteWorkspaceOnboardingResponse) ProtoMessage() {} - -func (x *CompleteWorkspaceOnboardingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[263] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CompleteWorkspaceOnboardingResponse.ProtoReflect.Descriptor instead. -func (*CompleteWorkspaceOnboardingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{263} -} - -func (x *CompleteWorkspaceOnboardingResponse) GetWorkspace() *Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type CreateInvitationRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` - Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` // "admin" | "member" - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CreateInvitationRequest) Reset() { - *x = CreateInvitationRequest{} - mi := &file_brent_proto_msgTypes[264] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CreateInvitationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateInvitationRequest) ProtoMessage() {} - -func (x *CreateInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[264] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateInvitationRequest.ProtoReflect.Descriptor instead. -func (*CreateInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{264} -} - -func (x *CreateInvitationRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *CreateInvitationRequest) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *CreateInvitationRequest) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -type CreateInvitationResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - AcceptUrl string `protobuf:"bytes,1,opt,name=accept_url,json=acceptUrl,proto3" json:"accept_url,omitempty"` - InvitedEmail string `protobuf:"bytes,2,opt,name=invited_email,json=invitedEmail,proto3" json:"invited_email,omitempty"` - Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` - ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CreateInvitationResponse) Reset() { - *x = CreateInvitationResponse{} - mi := &file_brent_proto_msgTypes[265] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CreateInvitationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateInvitationResponse) ProtoMessage() {} - -func (x *CreateInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[265] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateInvitationResponse.ProtoReflect.Descriptor instead. -func (*CreateInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{265} -} - -func (x *CreateInvitationResponse) GetAcceptUrl() string { - if x != nil { - return x.AcceptUrl - } - return "" -} - -func (x *CreateInvitationResponse) GetInvitedEmail() string { - if x != nil { - return x.InvitedEmail - } - return "" -} - -func (x *CreateInvitationResponse) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -func (x *CreateInvitationResponse) GetExpiresAt() *timestamppb.Timestamp { - if x != nil { - return x.ExpiresAt - } - return nil -} - -type CreateInvitationsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - Emails []string `protobuf:"bytes,2,rep,name=emails,proto3" json:"emails,omitempty"` - Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` // "admin" | "member"; defaults to "member" - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CreateInvitationsRequest) Reset() { - *x = CreateInvitationsRequest{} - mi := &file_brent_proto_msgTypes[266] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CreateInvitationsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateInvitationsRequest) ProtoMessage() {} - -func (x *CreateInvitationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[266] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateInvitationsRequest.ProtoReflect.Descriptor instead. -func (*CreateInvitationsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{266} -} - -func (x *CreateInvitationsRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *CreateInvitationsRequest) GetEmails() []string { - if x != nil { - return x.Emails - } - return nil -} - -func (x *CreateInvitationsRequest) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -type InvitationResult struct { - state protoimpl.MessageState `protogen:"open.v1"` - Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` - Status InvitationResultStatus `protobuf:"varint,2,opt,name=status,proto3,enum=until.InvitationResultStatus" json:"status,omitempty"` - AcceptUrl string `protobuf:"bytes,3,opt,name=accept_url,json=acceptUrl,proto3" json:"accept_url,omitempty"` // set when status == CREATED - ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // set when status != CREATED - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *InvitationResult) Reset() { - *x = InvitationResult{} - mi := &file_brent_proto_msgTypes[267] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *InvitationResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InvitationResult) ProtoMessage() {} - -func (x *InvitationResult) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[267] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InvitationResult.ProtoReflect.Descriptor instead. -func (*InvitationResult) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{267} -} - -func (x *InvitationResult) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *InvitationResult) GetStatus() InvitationResultStatus { - if x != nil { - return x.Status - } - return InvitationResultStatus_INVITATION_RESULT_STATUS_UNSPECIFIED -} - -func (x *InvitationResult) GetAcceptUrl() string { - if x != nil { - return x.AcceptUrl - } - return "" -} - -func (x *InvitationResult) GetErrorMessage() string { - if x != nil { - return x.ErrorMessage - } - return "" -} - -type CreateInvitationsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Results []*InvitationResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *CreateInvitationsResponse) Reset() { - *x = CreateInvitationsResponse{} - mi := &file_brent_proto_msgTypes[268] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *CreateInvitationsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateInvitationsResponse) ProtoMessage() {} - -func (x *CreateInvitationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[268] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateInvitationsResponse.ProtoReflect.Descriptor instead. -func (*CreateInvitationsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{268} -} - -func (x *CreateInvitationsResponse) GetResults() []*InvitationResult { - if x != nil { - return x.Results - } - return nil -} - -type AcceptInvitationRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AcceptInvitationRequest) Reset() { - *x = AcceptInvitationRequest{} - mi := &file_brent_proto_msgTypes[269] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AcceptInvitationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AcceptInvitationRequest) ProtoMessage() {} - -func (x *AcceptInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[269] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AcceptInvitationRequest.ProtoReflect.Descriptor instead. -func (*AcceptInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{269} -} - -func (x *AcceptInvitationRequest) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -type AcceptInvitationResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Workspace *Workspace `protobuf:"bytes,1,opt,name=workspace,proto3" json:"workspace,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AcceptInvitationResponse) Reset() { - *x = AcceptInvitationResponse{} - mi := &file_brent_proto_msgTypes[270] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AcceptInvitationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AcceptInvitationResponse) ProtoMessage() {} - -func (x *AcceptInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[270] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AcceptInvitationResponse.ProtoReflect.Descriptor instead. -func (*AcceptInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{270} -} - -func (x *AcceptInvitationResponse) GetWorkspace() *Workspace { - if x != nil { - return x.Workspace - } - return nil -} - -type ListWorkspaceMembersRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListWorkspaceMembersRequest) Reset() { - *x = ListWorkspaceMembersRequest{} - mi := &file_brent_proto_msgTypes[271] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListWorkspaceMembersRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListWorkspaceMembersRequest) ProtoMessage() {} - -func (x *ListWorkspaceMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[271] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListWorkspaceMembersRequest.ProtoReflect.Descriptor instead. -func (*ListWorkspaceMembersRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{271} -} - -func (x *ListWorkspaceMembersRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -type ListWorkspaceMembersResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Members []*WorkspaceMember `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListWorkspaceMembersResponse) Reset() { - *x = ListWorkspaceMembersResponse{} - mi := &file_brent_proto_msgTypes[272] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListWorkspaceMembersResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListWorkspaceMembersResponse) ProtoMessage() {} - -func (x *ListWorkspaceMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[272] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListWorkspaceMembersResponse.ProtoReflect.Descriptor instead. -func (*ListWorkspaceMembersResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{272} -} - -func (x *ListWorkspaceMembersResponse) GetMembers() []*WorkspaceMember { - if x != nil { - return x.Members - } - return nil -} - -type WorkspaceMember struct { - state protoimpl.MessageState `protogen:"open.v1"` - PrincipalId string `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` - Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` - // Deprecated: Marked as deprecated in brent.proto. - Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - State WorkspaceMemberState `protobuf:"varint,6,opt,name=state,proto3,enum=until.WorkspaceMemberState" json:"state,omitempty"` - // Auth0/IdP profile picture when the member has synced; absent/empty → initials. - PictureUrl *string `protobuf:"bytes,7,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *WorkspaceMember) Reset() { - *x = WorkspaceMember{} - mi := &file_brent_proto_msgTypes[273] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *WorkspaceMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkspaceMember) ProtoMessage() {} - -func (x *WorkspaceMember) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[273] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkspaceMember.ProtoReflect.Descriptor instead. -func (*WorkspaceMember) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{273} -} - -func (x *WorkspaceMember) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *WorkspaceMember) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *WorkspaceMember) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *WorkspaceMember) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -// Deprecated: Marked as deprecated in brent.proto. -func (x *WorkspaceMember) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *WorkspaceMember) GetState() WorkspaceMemberState { - if x != nil { - return x.State - } - return WorkspaceMemberState_WORKSPACE_MEMBER_STATE_UNSPECIFIED -} - -func (x *WorkspaceMember) GetPictureUrl() string { - if x != nil && x.PictureUrl != nil { - return *x.PictureUrl - } - return "" -} - -type ResendInvitationRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` // the invited shadow principal_id - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ResendInvitationRequest) Reset() { - *x = ResendInvitationRequest{} - mi := &file_brent_proto_msgTypes[274] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ResendInvitationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResendInvitationRequest) ProtoMessage() {} - -func (x *ResendInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[274] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResendInvitationRequest.ProtoReflect.Descriptor instead. -func (*ResendInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{274} -} - -func (x *ResendInvitationRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *ResendInvitationRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -type ResendInvitationResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - AcceptUrl string `protobuf:"bytes,1,opt,name=accept_url,json=acceptUrl,proto3" json:"accept_url,omitempty"` - ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ResendInvitationResponse) Reset() { - *x = ResendInvitationResponse{} - mi := &file_brent_proto_msgTypes[275] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ResendInvitationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResendInvitationResponse) ProtoMessage() {} - -func (x *ResendInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[275] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResendInvitationResponse.ProtoReflect.Descriptor instead. -func (*ResendInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{275} -} - -func (x *ResendInvitationResponse) GetAcceptUrl() string { - if x != nil { - return x.AcceptUrl - } - return "" -} - -func (x *ResendInvitationResponse) GetExpiresAt() *timestamppb.Timestamp { - if x != nil { - return x.ExpiresAt - } - return nil -} - -type RevokeInvitationRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` // the invited shadow principal_id - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RevokeInvitationRequest) Reset() { - *x = RevokeInvitationRequest{} - mi := &file_brent_proto_msgTypes[276] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RevokeInvitationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RevokeInvitationRequest) ProtoMessage() {} - -func (x *RevokeInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[276] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RevokeInvitationRequest.ProtoReflect.Descriptor instead. -func (*RevokeInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{276} -} - -func (x *RevokeInvitationRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *RevokeInvitationRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -type RevokeInvitationResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RevokeInvitationResponse) Reset() { - *x = RevokeInvitationResponse{} - mi := &file_brent_proto_msgTypes[277] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RevokeInvitationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RevokeInvitationResponse) ProtoMessage() {} - -func (x *RevokeInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[277] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RevokeInvitationResponse.ProtoReflect.Descriptor instead. -func (*RevokeInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{277} -} - -type RemoveWorkspaceMemberRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RemoveWorkspaceMemberRequest) Reset() { - *x = RemoveWorkspaceMemberRequest{} - mi := &file_brent_proto_msgTypes[278] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RemoveWorkspaceMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveWorkspaceMemberRequest) ProtoMessage() {} - -func (x *RemoveWorkspaceMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[278] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveWorkspaceMemberRequest.ProtoReflect.Descriptor instead. -func (*RemoveWorkspaceMemberRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{278} -} - -func (x *RemoveWorkspaceMemberRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *RemoveWorkspaceMemberRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -type RemoveWorkspaceMemberResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RemoveWorkspaceMemberResponse) Reset() { - *x = RemoveWorkspaceMemberResponse{} - mi := &file_brent_proto_msgTypes[279] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RemoveWorkspaceMemberResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveWorkspaceMemberResponse) ProtoMessage() {} - -func (x *RemoveWorkspaceMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[279] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveWorkspaceMemberResponse.ProtoReflect.Descriptor instead. -func (*RemoveWorkspaceMemberResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{279} -} - -type UpdateWorkspaceMemberRoleRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - PrincipalId string `protobuf:"bytes,2,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` // "admin" | "member" - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateWorkspaceMemberRoleRequest) Reset() { - *x = UpdateWorkspaceMemberRoleRequest{} - mi := &file_brent_proto_msgTypes[280] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateWorkspaceMemberRoleRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateWorkspaceMemberRoleRequest) ProtoMessage() {} - -func (x *UpdateWorkspaceMemberRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[280] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateWorkspaceMemberRoleRequest.ProtoReflect.Descriptor instead. -func (*UpdateWorkspaceMemberRoleRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{280} -} - -func (x *UpdateWorkspaceMemberRoleRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *UpdateWorkspaceMemberRoleRequest) GetPrincipalId() string { - if x != nil { - return x.PrincipalId - } - return "" -} - -func (x *UpdateWorkspaceMemberRoleRequest) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -type UpdateWorkspaceMemberRoleResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateWorkspaceMemberRoleResponse) Reset() { - *x = UpdateWorkspaceMemberRoleResponse{} - mi := &file_brent_proto_msgTypes[281] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateWorkspaceMemberRoleResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateWorkspaceMemberRoleResponse) ProtoMessage() {} - -func (x *UpdateWorkspaceMemberRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[281] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateWorkspaceMemberRoleResponse.ProtoReflect.Descriptor instead. -func (*UpdateWorkspaceMemberRoleResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{281} -} - -type GetInvitationRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetInvitationRequest) Reset() { - *x = GetInvitationRequest{} - mi := &file_brent_proto_msgTypes[282] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetInvitationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInvitationRequest) ProtoMessage() {} - -func (x *GetInvitationRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[282] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInvitationRequest.ProtoReflect.Descriptor instead. -func (*GetInvitationRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{282} -} - -func (x *GetInvitationRequest) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -type GetInvitationResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Status InvitationStatus `protobuf:"varint,1,opt,name=status,proto3,enum=until.InvitationStatus" json:"status,omitempty"` - WorkspaceId string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` - WorkspaceDisplayName string `protobuf:"bytes,4,opt,name=workspace_display_name,json=workspaceDisplayName,proto3" json:"workspace_display_name,omitempty"` - PictureUrl *string `protobuf:"bytes,5,opt,name=picture_url,json=pictureUrl,proto3,oneof" json:"picture_url,omitempty"` - InviterEmail string `protobuf:"bytes,6,opt,name=inviter_email,json=inviterEmail,proto3" json:"inviter_email,omitempty"` - InvitedEmail string `protobuf:"bytes,7,opt,name=invited_email,json=invitedEmail,proto3" json:"invited_email,omitempty"` - Role string `protobuf:"bytes,8,opt,name=role,proto3" json:"role,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetInvitationResponse) Reset() { - *x = GetInvitationResponse{} - mi := &file_brent_proto_msgTypes[283] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetInvitationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInvitationResponse) ProtoMessage() {} - -func (x *GetInvitationResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[283] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInvitationResponse.ProtoReflect.Descriptor instead. -func (*GetInvitationResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{283} -} - -func (x *GetInvitationResponse) GetStatus() InvitationStatus { - if x != nil { - return x.Status - } - return InvitationStatus_INVITATION_STATUS_UNSPECIFIED -} - -func (x *GetInvitationResponse) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *GetInvitationResponse) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *GetInvitationResponse) GetWorkspaceDisplayName() string { - if x != nil { - return x.WorkspaceDisplayName - } - return "" -} - -func (x *GetInvitationResponse) GetPictureUrl() string { - if x != nil && x.PictureUrl != nil { - return *x.PictureUrl - } - return "" -} - -func (x *GetInvitationResponse) GetInviterEmail() string { - if x != nil { - return x.InviterEmail - } - return "" -} - -func (x *GetInvitationResponse) GetInvitedEmail() string { - if x != nil { - return x.InvitedEmail - } - return "" -} - -func (x *GetInvitationResponse) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -type UpsertMyVerifiedBindingRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` // 'github' | 'linear' | 'slack' | 'email' - Handle string `protobuf:"bytes,2,opt,name=handle,proto3" json:"handle,omitempty"` // GitHub login, Slack member ID, Linear urlKey, email address - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpsertMyVerifiedBindingRequest) Reset() { - *x = UpsertMyVerifiedBindingRequest{} - mi := &file_brent_proto_msgTypes[284] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpsertMyVerifiedBindingRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpsertMyVerifiedBindingRequest) ProtoMessage() {} - -func (x *UpsertMyVerifiedBindingRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[284] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpsertMyVerifiedBindingRequest.ProtoReflect.Descriptor instead. -func (*UpsertMyVerifiedBindingRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{284} -} - -func (x *UpsertMyVerifiedBindingRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *UpsertMyVerifiedBindingRequest) GetHandle() string { - if x != nil { - return x.Handle - } - return "" -} - -type UpsertMyVerifiedBindingResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Binding *Binding `protobuf:"bytes,1,opt,name=binding,proto3" json:"binding,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpsertMyVerifiedBindingResponse) Reset() { - *x = UpsertMyVerifiedBindingResponse{} - mi := &file_brent_proto_msgTypes[285] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpsertMyVerifiedBindingResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpsertMyVerifiedBindingResponse) ProtoMessage() {} - -func (x *UpsertMyVerifiedBindingResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[285] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpsertMyVerifiedBindingResponse.ProtoReflect.Descriptor instead. -func (*UpsertMyVerifiedBindingResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{285} -} - -func (x *UpsertMyVerifiedBindingResponse) GetBinding() *Binding { - if x != nil { - return x.Binding - } - return nil -} - -type UpdateMyDisplayNameRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // New display name for the calling principal. Trimmed server-side; - // empty / whitespace-only is rejected, as is more than 100 characters. - DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateMyDisplayNameRequest) Reset() { - *x = UpdateMyDisplayNameRequest{} - mi := &file_brent_proto_msgTypes[286] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateMyDisplayNameRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateMyDisplayNameRequest) ProtoMessage() {} - -func (x *UpdateMyDisplayNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[286] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateMyDisplayNameRequest.ProtoReflect.Descriptor instead. -func (*UpdateMyDisplayNameRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{286} -} - -func (x *UpdateMyDisplayNameRequest) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -type UpdateMyDisplayNameResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The calling principal after the update, with display_name set and its - // source frozen to user. - Principal *Principal `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateMyDisplayNameResponse) Reset() { - *x = UpdateMyDisplayNameResponse{} - mi := &file_brent_proto_msgTypes[287] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateMyDisplayNameResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateMyDisplayNameResponse) ProtoMessage() {} - -func (x *UpdateMyDisplayNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[287] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateMyDisplayNameResponse.ProtoReflect.Descriptor instead. -func (*UpdateMyDisplayNameResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{287} -} - -func (x *UpdateMyDisplayNameResponse) GetPrincipal() *Principal { - if x != nil { - return x.Principal - } - return nil -} - -type ListMyBindingsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListMyBindingsRequest) Reset() { - *x = ListMyBindingsRequest{} - mi := &file_brent_proto_msgTypes[288] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListMyBindingsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMyBindingsRequest) ProtoMessage() {} - -func (x *ListMyBindingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[288] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMyBindingsRequest.ProtoReflect.Descriptor instead. -func (*ListMyBindingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{288} -} - -type ListMyBindingsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Bindings []*Binding `protobuf:"bytes,1,rep,name=bindings,proto3" json:"bindings,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListMyBindingsResponse) Reset() { - *x = ListMyBindingsResponse{} - mi := &file_brent_proto_msgTypes[289] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListMyBindingsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMyBindingsResponse) ProtoMessage() {} - -func (x *ListMyBindingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[289] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMyBindingsResponse.ProtoReflect.Descriptor instead. -func (*ListMyBindingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{289} -} - -func (x *ListMyBindingsResponse) GetBindings() []*Binding { - if x != nil { - return x.Bindings - } - return nil -} - -// NotificationPreferences is the type → channel → enabled matrix. -type NotificationPreferences struct { - state protoimpl.MessageState `protogen:"open.v1"` - Preferences map[string]*ChannelPreferences `protobuf:"bytes,1,rep,name=preferences,proto3" json:"preferences,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *NotificationPreferences) Reset() { - *x = NotificationPreferences{} - mi := &file_brent_proto_msgTypes[290] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *NotificationPreferences) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NotificationPreferences) ProtoMessage() {} - -func (x *NotificationPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[290] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NotificationPreferences.ProtoReflect.Descriptor instead. -func (*NotificationPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{290} -} - -func (x *NotificationPreferences) GetPreferences() map[string]*ChannelPreferences { - if x != nil { - return x.Preferences - } - return nil -} - -type ChannelPreferences struct { - state protoimpl.MessageState `protogen:"open.v1"` - Channels map[string]bool `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ChannelPreferences) Reset() { - *x = ChannelPreferences{} - mi := &file_brent_proto_msgTypes[291] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ChannelPreferences) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelPreferences) ProtoMessage() {} - -func (x *ChannelPreferences) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[291] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelPreferences.ProtoReflect.Descriptor instead. -func (*ChannelPreferences) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{291} -} - -func (x *ChannelPreferences) GetChannels() map[string]bool { - if x != nil { - return x.Channels - } - return nil -} - -type GetMyNotificationPreferencesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetMyNotificationPreferencesRequest) Reset() { - *x = GetMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[292] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetMyNotificationPreferencesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMyNotificationPreferencesRequest) ProtoMessage() {} - -func (x *GetMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[292] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. -func (*GetMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{292} -} - -type GetMyNotificationPreferencesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Preferences *NotificationPreferences `protobuf:"bytes,1,opt,name=preferences,proto3" json:"preferences,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetMyNotificationPreferencesResponse) Reset() { - *x = GetMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[293] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetMyNotificationPreferencesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMyNotificationPreferencesResponse) ProtoMessage() {} - -func (x *GetMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[293] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. -func (*GetMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{293} -} - -func (x *GetMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { - if x != nil { - return x.Preferences - } - return nil -} - -type UpdateMyNotificationPreferencesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Sparse patch: only the (type, channel) cells present are changed. - Preferences *NotificationPreferences `protobuf:"bytes,1,opt,name=preferences,proto3" json:"preferences,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateMyNotificationPreferencesRequest) Reset() { - *x = UpdateMyNotificationPreferencesRequest{} - mi := &file_brent_proto_msgTypes[294] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateMyNotificationPreferencesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateMyNotificationPreferencesRequest) ProtoMessage() {} - -func (x *UpdateMyNotificationPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[294] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateMyNotificationPreferencesRequest.ProtoReflect.Descriptor instead. -func (*UpdateMyNotificationPreferencesRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{294} -} - -func (x *UpdateMyNotificationPreferencesRequest) GetPreferences() *NotificationPreferences { - if x != nil { - return x.Preferences - } - return nil -} - -type UpdateMyNotificationPreferencesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Full effective matrix after the merge (defaults applied). - Preferences *NotificationPreferences `protobuf:"bytes,1,opt,name=preferences,proto3" json:"preferences,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateMyNotificationPreferencesResponse) Reset() { - *x = UpdateMyNotificationPreferencesResponse{} - mi := &file_brent_proto_msgTypes[295] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateMyNotificationPreferencesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateMyNotificationPreferencesResponse) ProtoMessage() {} - -func (x *UpdateMyNotificationPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[295] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateMyNotificationPreferencesResponse.ProtoReflect.Descriptor instead. -func (*UpdateMyNotificationPreferencesResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{295} -} - -func (x *UpdateMyNotificationPreferencesResponse) GetPreferences() *NotificationPreferences { - if x != nil { - return x.Preferences - } - return nil -} - -type RegisterMyPushSubscriptionRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // PushSubscription.endpoint from the browser Push API - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - // keys.p256dh from the subscription (base64url-encoded P-256 public key) - P256Dh string `protobuf:"bytes,2,opt,name=p256dh,proto3" json:"p256dh,omitempty"` - // keys.auth from the subscription (base64url-encoded 16-byte auth secret) - Auth string `protobuf:"bytes,3,opt,name=auth,proto3" json:"auth,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RegisterMyPushSubscriptionRequest) Reset() { - *x = RegisterMyPushSubscriptionRequest{} - mi := &file_brent_proto_msgTypes[296] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RegisterMyPushSubscriptionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RegisterMyPushSubscriptionRequest) ProtoMessage() {} - -func (x *RegisterMyPushSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[296] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RegisterMyPushSubscriptionRequest.ProtoReflect.Descriptor instead. -func (*RegisterMyPushSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{296} -} - -func (x *RegisterMyPushSubscriptionRequest) GetEndpoint() string { - if x != nil { - return x.Endpoint - } - return "" -} - -func (x *RegisterMyPushSubscriptionRequest) GetP256Dh() string { - if x != nil { - return x.P256Dh - } - return "" -} - -func (x *RegisterMyPushSubscriptionRequest) GetAuth() string { - if x != nil { - return x.Auth - } - return "" -} - -// Empty response; registration is fire-and-confirm via the confirmation push. -type RegisterMyPushSubscriptionResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *RegisterMyPushSubscriptionResponse) Reset() { - *x = RegisterMyPushSubscriptionResponse{} - mi := &file_brent_proto_msgTypes[297] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *RegisterMyPushSubscriptionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RegisterMyPushSubscriptionResponse) ProtoMessage() {} - -func (x *RegisterMyPushSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[297] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RegisterMyPushSubscriptionResponse.ProtoReflect.Descriptor instead. -func (*RegisterMyPushSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{297} -} - -type GetWebPushPublicKeyRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetWebPushPublicKeyRequest) Reset() { - *x = GetWebPushPublicKeyRequest{} - mi := &file_brent_proto_msgTypes[298] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetWebPushPublicKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetWebPushPublicKeyRequest) ProtoMessage() {} - -func (x *GetWebPushPublicKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[298] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetWebPushPublicKeyRequest.ProtoReflect.Descriptor instead. -func (*GetWebPushPublicKeyRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{298} -} - -type GetWebPushPublicKeyResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The VAPID application server public key (base64url-encoded P-256 point). - // Pass this to pushManager.subscribe() as applicationServerKey. - PublicKey string `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetWebPushPublicKeyResponse) Reset() { - *x = GetWebPushPublicKeyResponse{} - mi := &file_brent_proto_msgTypes[299] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetWebPushPublicKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetWebPushPublicKeyResponse) ProtoMessage() {} - -func (x *GetWebPushPublicKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[299] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetWebPushPublicKeyResponse.ProtoReflect.Descriptor instead. -func (*GetWebPushPublicKeyResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{299} -} - -func (x *GetWebPushPublicKeyResponse) GetPublicKey() string { - if x != nil { - return x.PublicKey - } - return "" -} - -// Binding is the wire representation of a row in the `principal_bindings` -// table. The external_id is the canonical UUID reference. -type Binding struct { - state protoimpl.MessageState `protogen:"open.v1"` - ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` - Handle string `protobuf:"bytes,3,opt,name=handle,proto3" json:"handle,omitempty"` - State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` // always 'verified' in the friends-using-brent milestone - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Subject string `protobuf:"bytes,8,opt,name=subject,proto3" json:"subject,omitempty"` // canonical immutable id when set (lower email, Linear user UUID) - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Binding) Reset() { - *x = Binding{} - mi := &file_brent_proto_msgTypes[300] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Binding) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Binding) ProtoMessage() {} - -func (x *Binding) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[300] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Binding.ProtoReflect.Descriptor instead. -func (*Binding) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{300} -} - -func (x *Binding) GetExternalId() string { - if x != nil { - return x.ExternalId - } - return "" -} - -func (x *Binding) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *Binding) GetHandle() string { - if x != nil { - return x.Handle - } - return "" -} - -func (x *Binding) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *Binding) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *Binding) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -func (x *Binding) GetSubject() string { - if x != nil { - return x.Subject - } - return "" -} - -type BlockingDifferenceTagsPatch struct { - state protoimpl.MessageState `protogen:"open.v1"` - Kinds []string `protobuf:"bytes,1,rep,name=kinds,proto3" json:"kinds,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *BlockingDifferenceTagsPatch) Reset() { - *x = BlockingDifferenceTagsPatch{} - mi := &file_brent_proto_msgTypes[301] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BlockingDifferenceTagsPatch) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlockingDifferenceTagsPatch) ProtoMessage() {} - -func (x *BlockingDifferenceTagsPatch) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[301] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BlockingDifferenceTagsPatch.ProtoReflect.Descriptor instead. -func (*BlockingDifferenceTagsPatch) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{301} -} - -func (x *BlockingDifferenceTagsPatch) GetKinds() []string { - if x != nil { - return x.Kinds - } - return nil -} - -type GetPlanCheckSettingsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPlanCheckSettingsRequest) Reset() { - *x = GetPlanCheckSettingsRequest{} - mi := &file_brent_proto_msgTypes[302] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPlanCheckSettingsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPlanCheckSettingsRequest) ProtoMessage() {} - -func (x *GetPlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[302] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPlanCheckSettingsRequest.ProtoReflect.Descriptor instead. -func (*GetPlanCheckSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{302} -} - -func (x *GetPlanCheckSettingsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -type GetPlanCheckSettingsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - BlockingDifferenceTags []string `protobuf:"bytes,1,rep,name=blocking_difference_tags,json=blockingDifferenceTags,proto3" json:"blocking_difference_tags,omitempty"` - BlockingDifferenceTagsUpdatedBy string `protobuf:"bytes,2,opt,name=blocking_difference_tags_updated_by,json=blockingDifferenceTagsUpdatedBy,proto3" json:"blocking_difference_tags_updated_by,omitempty"` - BlockingDifferenceTagsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=blocking_difference_tags_updated_at,json=blockingDifferenceTagsUpdatedAt,proto3" json:"blocking_difference_tags_updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPlanCheckSettingsResponse) Reset() { - *x = GetPlanCheckSettingsResponse{} - mi := &file_brent_proto_msgTypes[303] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPlanCheckSettingsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPlanCheckSettingsResponse) ProtoMessage() {} - -func (x *GetPlanCheckSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[303] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPlanCheckSettingsResponse.ProtoReflect.Descriptor instead. -func (*GetPlanCheckSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{303} -} - -func (x *GetPlanCheckSettingsResponse) GetBlockingDifferenceTags() []string { - if x != nil { - return x.BlockingDifferenceTags - } - return nil -} - -func (x *GetPlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedBy() string { - if x != nil { - return x.BlockingDifferenceTagsUpdatedBy - } - return "" -} - -func (x *GetPlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.BlockingDifferenceTagsUpdatedAt - } - return nil -} - -type UpdatePlanCheckSettingsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - BlockingDifferenceTags *BlockingDifferenceTagsPatch `protobuf:"bytes,2,opt,name=blocking_difference_tags,json=blockingDifferenceTags,proto3,oneof" json:"blocking_difference_tags,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdatePlanCheckSettingsRequest) Reset() { - *x = UpdatePlanCheckSettingsRequest{} - mi := &file_brent_proto_msgTypes[304] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdatePlanCheckSettingsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdatePlanCheckSettingsRequest) ProtoMessage() {} - -func (x *UpdatePlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[304] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdatePlanCheckSettingsRequest.ProtoReflect.Descriptor instead. -func (*UpdatePlanCheckSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{304} -} - -func (x *UpdatePlanCheckSettingsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *UpdatePlanCheckSettingsRequest) GetBlockingDifferenceTags() *BlockingDifferenceTagsPatch { - if x != nil { - return x.BlockingDifferenceTags - } - return nil -} - -type UpdatePlanCheckSettingsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - BlockingDifferenceTags []string `protobuf:"bytes,1,rep,name=blocking_difference_tags,json=blockingDifferenceTags,proto3" json:"blocking_difference_tags,omitempty"` - BlockingDifferenceTagsUpdatedBy string `protobuf:"bytes,2,opt,name=blocking_difference_tags_updated_by,json=blockingDifferenceTagsUpdatedBy,proto3" json:"blocking_difference_tags_updated_by,omitempty"` - BlockingDifferenceTagsUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=blocking_difference_tags_updated_at,json=blockingDifferenceTagsUpdatedAt,proto3" json:"blocking_difference_tags_updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdatePlanCheckSettingsResponse) Reset() { - *x = UpdatePlanCheckSettingsResponse{} - mi := &file_brent_proto_msgTypes[305] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdatePlanCheckSettingsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdatePlanCheckSettingsResponse) ProtoMessage() {} - -func (x *UpdatePlanCheckSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[305] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdatePlanCheckSettingsResponse.ProtoReflect.Descriptor instead. -func (*UpdatePlanCheckSettingsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{305} -} - -func (x *UpdatePlanCheckSettingsResponse) GetBlockingDifferenceTags() []string { - if x != nil { - return x.BlockingDifferenceTags - } - return nil -} - -func (x *UpdatePlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedBy() string { - if x != nil { - return x.BlockingDifferenceTagsUpdatedBy - } - return "" -} - -func (x *UpdatePlanCheckSettingsResponse) GetBlockingDifferenceTagsUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.BlockingDifferenceTagsUpdatedAt - } - return nil -} - -// AdminGetAccountPlanCheckSettingsRequest selects the account whose Brent settings -// an operator wants to read. account_name is required (operator endpoint, no -// caller-account fallback). Reuses GetPlanCheckSettingsResponse for the result. -type AdminGetAccountPlanCheckSettingsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountPlanCheckSettingsRequest) Reset() { - *x = AdminGetAccountPlanCheckSettingsRequest{} - mi := &file_brent_proto_msgTypes[306] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountPlanCheckSettingsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountPlanCheckSettingsRequest) ProtoMessage() {} - -func (x *AdminGetAccountPlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[306] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountPlanCheckSettingsRequest.ProtoReflect.Descriptor instead. -func (*AdminGetAccountPlanCheckSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{306} -} - -func (x *AdminGetAccountPlanCheckSettingsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -// AdminUpdateAccountPlanCheckSettingsRequest selects the account whose Brent -// settings an operator wants to change. account_name is required. Reuses -// UpdatePlanCheckSettingsResponse for the result. -type AdminUpdateAccountPlanCheckSettingsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - BlockingDifferenceTags *BlockingDifferenceTagsPatch `protobuf:"bytes,2,opt,name=blocking_difference_tags,json=blockingDifferenceTags,proto3,oneof" json:"blocking_difference_tags,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminUpdateAccountPlanCheckSettingsRequest) Reset() { - *x = AdminUpdateAccountPlanCheckSettingsRequest{} - mi := &file_brent_proto_msgTypes[307] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminUpdateAccountPlanCheckSettingsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminUpdateAccountPlanCheckSettingsRequest) ProtoMessage() {} - -func (x *AdminUpdateAccountPlanCheckSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[307] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminUpdateAccountPlanCheckSettingsRequest.ProtoReflect.Descriptor instead. -func (*AdminUpdateAccountPlanCheckSettingsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{307} -} - -func (x *AdminUpdateAccountPlanCheckSettingsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminUpdateAccountPlanCheckSettingsRequest) GetBlockingDifferenceTags() *BlockingDifferenceTagsPatch { - if x != nil { - return x.BlockingDifferenceTags - } - return nil -} - -// AdminGetAccountReviewPolicyRequest selects the workspace whose review -// policy an operator wants to read. account_name is required. -type AdminGetAccountReviewPolicyRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountReviewPolicyRequest) Reset() { - *x = AdminGetAccountReviewPolicyRequest{} - mi := &file_brent_proto_msgTypes[308] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountReviewPolicyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountReviewPolicyRequest) ProtoMessage() {} - -func (x *AdminGetAccountReviewPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[308] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountReviewPolicyRequest.ProtoReflect.Descriptor instead. -func (*AdminGetAccountReviewPolicyRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{308} -} - -func (x *AdminGetAccountReviewPolicyRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -// AdminGetAccountReviewPolicyResponse returns the persisted policy and -// attribution metadata for operator triage. -type AdminGetAccountReviewPolicyResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=until.WorkspaceReviewPolicy" json:"policy,omitempty"` - ActiveHumanPrincipalCount int32 `protobuf:"varint,2,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` - // Principal UUID that last updated the policy; empty when set by - // creation/migration rather than an operator. - UpdatedBy string `protobuf:"bytes,3,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountReviewPolicyResponse) Reset() { - *x = AdminGetAccountReviewPolicyResponse{} - mi := &file_brent_proto_msgTypes[309] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountReviewPolicyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountReviewPolicyResponse) ProtoMessage() {} - -func (x *AdminGetAccountReviewPolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[309] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountReviewPolicyResponse.ProtoReflect.Descriptor instead. -func (*AdminGetAccountReviewPolicyResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{309} -} - -func (x *AdminGetAccountReviewPolicyResponse) GetPolicy() WorkspaceReviewPolicy { - if x != nil { - return x.Policy - } - return WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED -} - -func (x *AdminGetAccountReviewPolicyResponse) GetActiveHumanPrincipalCount() int32 { - if x != nil { - return x.ActiveHumanPrincipalCount - } - return 0 -} - -func (x *AdminGetAccountReviewPolicyResponse) GetUpdatedBy() string { - if x != nil { - return x.UpdatedBy - } - return "" -} - -func (x *AdminGetAccountReviewPolicyResponse) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -// AdminUpdateAccountReviewPolicyRequest sets the workspace review policy. -// account_name and a concrete (non-UNSPECIFIED) policy are required. -type AdminUpdateAccountReviewPolicyRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - Policy WorkspaceReviewPolicy `protobuf:"varint,2,opt,name=policy,proto3,enum=until.WorkspaceReviewPolicy" json:"policy,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminUpdateAccountReviewPolicyRequest) Reset() { - *x = AdminUpdateAccountReviewPolicyRequest{} - mi := &file_brent_proto_msgTypes[310] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminUpdateAccountReviewPolicyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminUpdateAccountReviewPolicyRequest) ProtoMessage() {} - -func (x *AdminUpdateAccountReviewPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[310] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminUpdateAccountReviewPolicyRequest.ProtoReflect.Descriptor instead. -func (*AdminUpdateAccountReviewPolicyRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{310} -} - -func (x *AdminUpdateAccountReviewPolicyRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminUpdateAccountReviewPolicyRequest) GetPolicy() WorkspaceReviewPolicy { - if x != nil { - return x.Policy - } - return WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED -} - -// AdminUpdateAccountReviewPolicyResponse mirrors the get response after a -// successful update (or idempotent no-op). -type AdminUpdateAccountReviewPolicyResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Policy WorkspaceReviewPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=until.WorkspaceReviewPolicy" json:"policy,omitempty"` - ActiveHumanPrincipalCount int32 `protobuf:"varint,2,opt,name=active_human_principal_count,json=activeHumanPrincipalCount,proto3" json:"active_human_principal_count,omitempty"` - UpdatedBy string `protobuf:"bytes,3,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminUpdateAccountReviewPolicyResponse) Reset() { - *x = AdminUpdateAccountReviewPolicyResponse{} - mi := &file_brent_proto_msgTypes[311] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminUpdateAccountReviewPolicyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminUpdateAccountReviewPolicyResponse) ProtoMessage() {} - -func (x *AdminUpdateAccountReviewPolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[311] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminUpdateAccountReviewPolicyResponse.ProtoReflect.Descriptor instead. -func (*AdminUpdateAccountReviewPolicyResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{311} -} - -func (x *AdminUpdateAccountReviewPolicyResponse) GetPolicy() WorkspaceReviewPolicy { - if x != nil { - return x.Policy - } - return WorkspaceReviewPolicy_WORKSPACE_REVIEW_POLICY_UNSPECIFIED -} - -func (x *AdminUpdateAccountReviewPolicyResponse) GetActiveHumanPrincipalCount() int32 { - if x != nil { - return x.ActiveHumanPrincipalCount - } - return 0 -} - -func (x *AdminUpdateAccountReviewPolicyResponse) GetUpdatedBy() string { - if x != nil { - return x.UpdatedBy - } - return "" -} - -func (x *AdminUpdateAccountReviewPolicyResponse) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -// AdminGetAccountLLMCredentialStatusRequest selects the account and provider -// whose LLM key status an operator wants to read. Both account_name and -// provider are required (operator endpoint, no caller-account fallback). -type AdminGetAccountLLMCredentialStatusRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The account (workspace_id) whose key status to read. Required. - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - // Provider to query (e.g. "openai"). Required. - Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountLLMCredentialStatusRequest) Reset() { - *x = AdminGetAccountLLMCredentialStatusRequest{} - mi := &file_brent_proto_msgTypes[312] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountLLMCredentialStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountLLMCredentialStatusRequest) ProtoMessage() {} - -func (x *AdminGetAccountLLMCredentialStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[312] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountLLMCredentialStatusRequest.ProtoReflect.Descriptor instead. -func (*AdminGetAccountLLMCredentialStatusRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{312} -} - -func (x *AdminGetAccountLLMCredentialStatusRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -func (x *AdminGetAccountLLMCredentialStatusRequest) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -// AdminGetAccountLLMCredentialStatusResponse returns the key metadata plus -// which key source the account's runs use. Metadata only — never the secret. -type AdminGetAccountLLMCredentialStatusResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Metadata-only status (connected, last4, timestamps). Never the secret. - Status *WorkspaceLLMCredentialStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - // Which key an account's runs use right now: "account" when a key is stored, - // else "platform" (matches the ovm.brent.llm.keySource run attribute). - KeySourceInUse string `protobuf:"bytes,2,opt,name=key_source_in_use,json=keySourceInUse,proto3" json:"key_source_in_use,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminGetAccountLLMCredentialStatusResponse) Reset() { - *x = AdminGetAccountLLMCredentialStatusResponse{} - mi := &file_brent_proto_msgTypes[313] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminGetAccountLLMCredentialStatusResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminGetAccountLLMCredentialStatusResponse) ProtoMessage() {} - -func (x *AdminGetAccountLLMCredentialStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[313] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminGetAccountLLMCredentialStatusResponse.ProtoReflect.Descriptor instead. -func (*AdminGetAccountLLMCredentialStatusResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{313} -} - -func (x *AdminGetAccountLLMCredentialStatusResponse) GetStatus() *WorkspaceLLMCredentialStatus { - if x != nil { - return x.Status - } - return nil -} - -func (x *AdminGetAccountLLMCredentialStatusResponse) GetKeySourceInUse() string { - if x != nil { - return x.KeySourceInUse - } - return "" -} - -// AdminListAccountIntegrationsRequest selects the account whose organisation -// app installs an operator wants to inspect. account_name is required. -type AdminListAccountIntegrationsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` // workspace_id; required - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListAccountIntegrationsRequest) Reset() { - *x = AdminListAccountIntegrationsRequest{} - mi := &file_brent_proto_msgTypes[314] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListAccountIntegrationsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListAccountIntegrationsRequest) ProtoMessage() {} - -func (x *AdminListAccountIntegrationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[314] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListAccountIntegrationsRequest.ProtoReflect.Descriptor instead. -func (*AdminListAccountIntegrationsRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{314} -} - -func (x *AdminListAccountIntegrationsRequest) GetAccountName() string { - if x != nil { - return x.AccountName - } - return "" -} - -// AdminAccountIntegrationInstall is one organisation_app_installations row with -// credential-presence flags and the shared readiness triple. Metadata only — -// never secrets. install_id is an Area51-only exception for operator debugging -// (customer OrganisationAppInstallation.ID does not cross WorkspaceService). -type AdminAccountIntegrationInstall struct { - state protoimpl.MessageState `protogen:"open.v1"` - InstallId int64 `protobuf:"varint,1,opt,name=install_id,json=installId,proto3" json:"install_id,omitempty"` // Area51-only; synthetic PK for operator debugging - Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` // DB provider string (github, gitlab, bitbucket, ...) - ExternalWorkspaceId string `protobuf:"bytes,3,opt,name=external_workspace_id,json=externalWorkspaceId,proto3" json:"external_workspace_id,omitempty"` - ExternalPrincipalId string `protobuf:"bytes,4,opt,name=external_principal_id,json=externalPrincipalId,proto3" json:"external_principal_id,omitempty"` // empty when unset (e.g. GitHub pending) - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - HasAccessToken bool `protobuf:"varint,6,opt,name=has_access_token,json=hasAccessToken,proto3" json:"has_access_token,omitempty"` // organisation_app_tokens.access_token_ciphertext present - HasConfig bool `protobuf:"varint,7,opt,name=has_config,json=hasConfig,proto3" json:"has_config,omitempty"` // organisation_app_config row present - HasSigningToken bool `protobuf:"varint,8,opt,name=has_signing_token,json=hasSigningToken,proto3" json:"has_signing_token,omitempty"` // config.signing_token_ciphertext present (GitLab) - HasWebhookSecret bool `protobuf:"varint,9,opt,name=has_webhook_secret,json=hasWebhookSecret,proto3" json:"has_webhook_secret,omitempty"` // config.webhook_secret_ciphertext present (GitLab) - // Same readiness contract as IntegrationStatus (ENG-5869); buf.validate limits apply. - Status IntegrationConnectionStatus `protobuf:"varint,10,opt,name=status,proto3,enum=until.IntegrationConnectionStatus" json:"status,omitempty"` - Summary string `protobuf:"bytes,11,opt,name=summary,proto3" json:"summary,omitempty"` - Detail string `protobuf:"bytes,12,opt,name=detail,proto3" json:"detail,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminAccountIntegrationInstall) Reset() { - *x = AdminAccountIntegrationInstall{} - mi := &file_brent_proto_msgTypes[315] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminAccountIntegrationInstall) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminAccountIntegrationInstall) ProtoMessage() {} - -func (x *AdminAccountIntegrationInstall) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[315] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminAccountIntegrationInstall.ProtoReflect.Descriptor instead. -func (*AdminAccountIntegrationInstall) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{315} -} - -func (x *AdminAccountIntegrationInstall) GetInstallId() int64 { - if x != nil { - return x.InstallId - } - return 0 -} - -func (x *AdminAccountIntegrationInstall) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *AdminAccountIntegrationInstall) GetExternalWorkspaceId() string { - if x != nil { - return x.ExternalWorkspaceId - } - return "" -} - -func (x *AdminAccountIntegrationInstall) GetExternalPrincipalId() string { - if x != nil { - return x.ExternalPrincipalId - } - return "" -} - -func (x *AdminAccountIntegrationInstall) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *AdminAccountIntegrationInstall) GetHasAccessToken() bool { - if x != nil { - return x.HasAccessToken - } - return false -} - -func (x *AdminAccountIntegrationInstall) GetHasConfig() bool { - if x != nil { - return x.HasConfig - } - return false -} - -func (x *AdminAccountIntegrationInstall) GetHasSigningToken() bool { - if x != nil { - return x.HasSigningToken - } - return false -} - -func (x *AdminAccountIntegrationInstall) GetHasWebhookSecret() bool { - if x != nil { - return x.HasWebhookSecret - } - return false -} - -func (x *AdminAccountIntegrationInstall) GetStatus() IntegrationConnectionStatus { - if x != nil { - return x.Status - } - return IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED -} - -func (x *AdminAccountIntegrationInstall) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -func (x *AdminAccountIntegrationInstall) GetDetail() string { - if x != nil { - return x.Detail - } - return "" -} - -// AdminListAccountIntegrationsResponse lists installs plus workspace role slots. -// Unknown / empty account: empty installs + UNSPECIFIED roles (not NotFound). -type AdminListAccountIntegrationsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Installs []*AdminAccountIntegrationInstall `protobuf:"bytes,1,rep,name=installs,proto3" json:"installs,omitempty"` - GitProvider IntegrationProvider `protobuf:"varint,2,opt,name=git_provider,json=gitProvider,proto3,enum=until.IntegrationProvider" json:"git_provider,omitempty"` - TicketingProvider IntegrationProvider `protobuf:"varint,3,opt,name=ticketing_provider,json=ticketingProvider,proto3,enum=until.IntegrationProvider" json:"ticketing_provider,omitempty"` - MessagingProvider IntegrationProvider `protobuf:"varint,4,opt,name=messaging_provider,json=messagingProvider,proto3,enum=until.IntegrationProvider" json:"messaging_provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AdminListAccountIntegrationsResponse) Reset() { - *x = AdminListAccountIntegrationsResponse{} - mi := &file_brent_proto_msgTypes[316] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AdminListAccountIntegrationsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListAccountIntegrationsResponse) ProtoMessage() {} - -func (x *AdminListAccountIntegrationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[316] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListAccountIntegrationsResponse.ProtoReflect.Descriptor instead. -func (*AdminListAccountIntegrationsResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{316} -} - -func (x *AdminListAccountIntegrationsResponse) GetInstalls() []*AdminAccountIntegrationInstall { - if x != nil { - return x.Installs - } - return nil -} - -func (x *AdminListAccountIntegrationsResponse) GetGitProvider() IntegrationProvider { - if x != nil { - return x.GitProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *AdminListAccountIntegrationsResponse) GetTicketingProvider() IntegrationProvider { - if x != nil { - return x.TicketingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *AdminListAccountIntegrationsResponse) GetMessagingProvider() IntegrationProvider { - if x != nil { - return x.MessagingProvider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -type ListIntegrationCatalogueRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListIntegrationCatalogueRequest) Reset() { - *x = ListIntegrationCatalogueRequest{} - mi := &file_brent_proto_msgTypes[317] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListIntegrationCatalogueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListIntegrationCatalogueRequest) ProtoMessage() {} - -func (x *ListIntegrationCatalogueRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[317] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListIntegrationCatalogueRequest.ProtoReflect.Descriptor instead. -func (*ListIntegrationCatalogueRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{317} -} - -type ListIntegrationCatalogueResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Entries []*IntegrationCatalogueEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListIntegrationCatalogueResponse) Reset() { - *x = ListIntegrationCatalogueResponse{} - mi := &file_brent_proto_msgTypes[318] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListIntegrationCatalogueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListIntegrationCatalogueResponse) ProtoMessage() {} - -func (x *ListIntegrationCatalogueResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[318] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListIntegrationCatalogueResponse.ProtoReflect.Descriptor instead. -func (*ListIntegrationCatalogueResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{318} -} - -func (x *ListIntegrationCatalogueResponse) GetEntries() []*IntegrationCatalogueEntry { - if x != nil { - return x.Entries - } - return nil -} - -// One marketplace entry: a Composio catalogue record, a first-party -// integration, or the BYO option. Generic by design — no per-provider fields. -type IntegrationCatalogueEntry struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Stable identifier. Composio entries: the Composio toolkit slug. First-party - // and BYO entries: a synthetic stable slug (e.g. "github", "byo-http-mcp"). - StableId string `protobuf:"bytes,1,opt,name=stable_id,json=stableId,proto3" json:"stable_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Category string `protobuf:"bytes,3,opt,name=category,proto3" json:"category,omitempty"` - // Effective description: curated overlay description when present, else the - // source (Composio / built-in) description. - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - AdvertisedTools []string `protobuf:"bytes,5,rep,name=advertised_tools,json=advertisedTools,proto3" json:"advertised_tools,omitempty"` - RecommendedForBrent bool `protobuf:"varint,6,opt,name=recommended_for_brent,json=recommendedForBrent,proto3" json:"recommended_for_brent,omitempty"` - NewlyAdded bool `protobuf:"varint,7,opt,name=newly_added,json=newlyAdded,proto3" json:"newly_added,omitempty"` - // Whether the caller's account has this entry connected/installed. - Connected bool `protobuf:"varint,8,opt,name=connected,proto3" json:"connected,omitempty"` - Source IntegrationCatalogueSource `protobuf:"varint,9,opt,name=source,proto3,enum=until.IntegrationCatalogueSource" json:"source,omitempty"` - // Set for first-party entries so the picker can render "Already configured" - // and a Manage deep-link; INTEGRATION_PROVIDER_UNSPECIFIED otherwise. - Provider IntegrationProvider `protobuf:"varint,10,opt,name=provider,proto3,enum=until.IntegrationProvider" json:"provider,omitempty"` - AutoRank int32 `protobuf:"varint,11,opt,name=auto_rank,json=autoRank,proto3" json:"auto_rank,omitempty"` - // When the install was created. Set for connected BYO HTTP MCP endpoint - // cards; unset for catalogue/builtin rows that are not installed instances. - CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // Opaque connected BYO HTTP MCP install UUID. Empty for catalogue rows and - // integrations whose provider is not BYO HTTP MCP. - InstanceId string `protobuf:"bytes,13,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *IntegrationCatalogueEntry) Reset() { - *x = IntegrationCatalogueEntry{} - mi := &file_brent_proto_msgTypes[319] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *IntegrationCatalogueEntry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IntegrationCatalogueEntry) ProtoMessage() {} - -func (x *IntegrationCatalogueEntry) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[319] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IntegrationCatalogueEntry.ProtoReflect.Descriptor instead. -func (*IntegrationCatalogueEntry) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{319} -} - -func (x *IntegrationCatalogueEntry) GetStableId() string { - if x != nil { - return x.StableId - } - return "" -} - -func (x *IntegrationCatalogueEntry) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *IntegrationCatalogueEntry) GetCategory() string { - if x != nil { - return x.Category - } - return "" -} - -func (x *IntegrationCatalogueEntry) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *IntegrationCatalogueEntry) GetAdvertisedTools() []string { - if x != nil { - return x.AdvertisedTools - } - return nil -} - -func (x *IntegrationCatalogueEntry) GetRecommendedForBrent() bool { - if x != nil { - return x.RecommendedForBrent - } - return false -} - -func (x *IntegrationCatalogueEntry) GetNewlyAdded() bool { - if x != nil { - return x.NewlyAdded - } - return false -} - -func (x *IntegrationCatalogueEntry) GetConnected() bool { - if x != nil { - return x.Connected - } - return false -} - -func (x *IntegrationCatalogueEntry) GetSource() IntegrationCatalogueSource { - if x != nil { - return x.Source - } - return IntegrationCatalogueSource_INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED -} - -func (x *IntegrationCatalogueEntry) GetProvider() IntegrationProvider { - if x != nil { - return x.Provider - } - return IntegrationProvider_INTEGRATION_PROVIDER_UNSPECIFIED -} - -func (x *IntegrationCatalogueEntry) GetAutoRank() int32 { - if x != nil { - return x.AutoRank - } - return 0 -} - -func (x *IntegrationCatalogueEntry) GetCreatedAt() *timestamppb.Timestamp { - if x != nil { - return x.CreatedAt - } - return nil -} - -func (x *IntegrationCatalogueEntry) GetInstanceId() string { - if x != nil { - return x.InstanceId - } - return "" -} - -type GetPlanPromptRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` - PlanFriendlyId string `protobuf:"bytes,2,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPlanPromptRequest) Reset() { - *x = GetPlanPromptRequest{} - mi := &file_brent_proto_msgTypes[320] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPlanPromptRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPlanPromptRequest) ProtoMessage() {} - -func (x *GetPlanPromptRequest) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[320] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPlanPromptRequest.ProtoReflect.Descriptor instead. -func (*GetPlanPromptRequest) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{320} -} - -func (x *GetPlanPromptRequest) GetWorkspaceId() string { - if x != nil { - return x.WorkspaceId - } - return "" -} - -func (x *GetPlanPromptRequest) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -type GetPlanPromptResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - PlanFriendlyId string `protobuf:"bytes,1,opt,name=plan_friendly_id,json=planFriendlyId,proto3" json:"plan_friendly_id,omitempty"` - PlanTitle string `protobuf:"bytes,2,opt,name=plan_title,json=planTitle,proto3" json:"plan_title,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetPlanPromptResponse) Reset() { - *x = GetPlanPromptResponse{} - mi := &file_brent_proto_msgTypes[321] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetPlanPromptResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPlanPromptResponse) ProtoMessage() {} - -func (x *GetPlanPromptResponse) ProtoReflect() protoreflect.Message { - mi := &file_brent_proto_msgTypes[321] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPlanPromptResponse.ProtoReflect.Descriptor instead. -func (*GetPlanPromptResponse) Descriptor() ([]byte, []int) { - return file_brent_proto_rawDescGZIP(), []int{321} -} - -func (x *GetPlanPromptResponse) GetPlanFriendlyId() string { - if x != nil { - return x.PlanFriendlyId - } - return "" -} - -func (x *GetPlanPromptResponse) GetPlanTitle() string { - if x != nil { - return x.PlanTitle - } - return "" -} - -var file_brent_proto_extTypes = []protoimpl.ExtensionInfo{ - { - ExtendedType: (*descriptorpb.FieldOptions)(nil), - ExtensionType: (*bool)(nil), - Field: 50001, - Name: "until.embedded_json", - Tag: "varint,50001,opt,name=embedded_json", - Filename: "brent.proto", - }, -} - -// Extension fields to descriptorpb.FieldOptions. -var ( - // optional bool embedded_json = 50001; - E_EmbeddedJson = &file_brent_proto_extTypes[0] -) - -var File_brent_proto protoreflect.FileDescriptor - -const file_brent_proto_rawDesc = "" + - "\n" + - "\vbrent.proto\x12\x05until\x1a\x1bbuf/validate/validate.proto\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x80\x01\n" + - "\x17ListPullRequestsRequest\x12\x14\n" + - "\x05state\x18\x01 \x01(\tR\x05state\x12\x14\n" + - "\x05limit\x18\x02 \x01(\rR\x05limit\x12\x16\n" + - "\x06offset\x18\x03 \x01(\rR\x06offset\x12!\n" + - "\faccount_name\x18\x04 \x01(\tR\vaccountName\"{\n" + - "\x18ListPullRequestsResponse\x12>\n" + - "\rpull_requests\x18\x01 \x03(\v2\x19.until.PullRequestSummaryR\fpullRequests\x12\x1f\n" + - "\vtotal_count\x18\x02 \x01(\rR\n" + - "totalCount\"S\n" + - "\x19GetPullRequestByIDRequest\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\"S\n" + - "\x1aGetPullRequestByIDResponse\x125\n" + - "\fpull_request\x18\x01 \x01(\v2\x12.until.PullRequestR\vpullRequest\"T\n" + - "\x1aListPlanChecksForPRRequest\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\"R\n" + - "\x1bListPlanChecksForPRResponse\x123\n" + - "\banalyses\x18\x01 \x03(\v2\x17.until.PlanCheckSummaryR\banalyses\"W\n" + - "\x1dGetPullRequestTimelineRequest\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\"\xd5\x02\n" + - "\x1bPullRequestTimelineEventRow\x12;\n" + - "\voccurred_at\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "occurredAt\x12#\n" + - "\rsource_family\x18\x02 \x01(\tR\fsourceFamily\x12\x1d\n" + - "\n" + - "event_type\x18\x03 \x01(\tR\teventType\x12\x14\n" + - "\x05actor\x18\x04 \x01(\tR\x05actor\x12\x1f\n" + - "\vactor_class\x18\x05 \x01(\tR\n" + - "actorClass\x12\x18\n" + - "\asummary\x18\x06 \x01(\tR\asummary\x12!\n" + - "\fevidence_url\x18\a \x01(\tR\vevidenceUrl\x12+\n" + - "\x11source_confidence\x18\b \x01(\tR\x10sourceConfidence\x12\x14\n" + - "\x05notes\x18\t \x01(\tR\x05notes\"J\n" + - "\x1aPullRequestTimelineWarning\x12\x12\n" + - "\x04code\x18\x01 \x01(\tR\x04code\x12\x18\n" + - "\amessage\x18\x02 \x01(\tR\amessage\"\xd2\x01\n" + - "\x1eGetPullRequestTimelineResponse\x125\n" + - "\fpull_request\x18\x01 \x01(\v2\x12.until.PullRequestR\vpullRequest\x12:\n" + - "\x06events\x18\x02 \x03(\v2\".until.PullRequestTimelineEventRowR\x06events\x12=\n" + - "\bwarnings\x18\x03 \x03(\v2!.until.PullRequestTimelineWarningR\bwarnings\"\xf5\x03\n" + - "\x12PullRequestSummary\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12$\n" + - "\x0erepo_full_name\x18\x03 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x04 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x05 \x01(\tR\x05title\x12\x14\n" + - "\x05state\x18\x06 \x01(\tR\x05state\x12\x19\n" + - "\bis_draft\x18\a \x01(\bR\aisDraft\x12\x19\n" + - "\bhead_sha\x18\b \x01(\tR\aheadSha\x129\n" + - "\n" + - "updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x125\n" + - "\x17linked_plan_friendly_id\x18\n" + - " \x01(\tR\x14linkedPlanFriendlyId\x12*\n" + - "\x11linked_plan_title\x18\v \x01(\tR\x0flinkedPlanTitle\x12\x1f\n" + - "\vlink_reason\x18\f \x01(\tR\n" + - "linkReason\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuidJ\x04\b\r\x10\x0eR\x18latest_deviation_verdict\"\x8f\x06\n" + - "\vPullRequest\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12$\n" + - "\x0erepo_full_name\x18\x03 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x04 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x05 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x06 \x01(\tR\x04body\x12\x14\n" + - "\x05state\x18\a \x01(\tR\x05state\x12\x19\n" + - "\bis_draft\x18\b \x01(\bR\aisDraft\x12\x19\n" + - "\bhead_sha\x18\t \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\n" + - " \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\v \x01(\tR\n" + - "baseBranch\x12!\n" + - "\fauthor_login\x18\f \x01(\tR\vauthorLogin\x12\x16\n" + - "\x06merged\x18\r \x01(\bR\x06merged\x12(\n" + - "\x10merge_commit_sha\x18\x0e \x01(\tR\x0emergeCommitSha\x12\x10\n" + - "\x03url\x18\x0f \x01(\tR\x03url\x129\n" + - "\n" + - "created_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x127\n" + - "\tclosed_at\x18\x12 \x01(\v2\x1a.google.protobuf.TimestampR\bclosedAt\x125\n" + - "\x17linked_plan_friendly_id\x18\x13 \x01(\tR\x14linkedPlanFriendlyId\x12*\n" + - "\x11linked_plan_title\x18\x14 \x01(\tR\x0flinkedPlanTitle\x12\x1f\n" + - "\vlink_reason\x18\x15 \x01(\tR\n" + - "linkReason\x12(\n" + - "\x10linked_plan_uuid\x18\x16 \x01(\tR\x0elinkedPlanUuid\"\xfa\x03\n" + - "\x10PlanCheckSummary\x12\"\n" + - "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x13\n" + - "\x05pr_id\x18\x03 \x01(\tR\x04prId\x12\x1b\n" + - "\tplan_uuid\x18\x04 \x01(\tR\bplanUuid\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12\x1e\n" + - "\vloop_run_id\x18\x06 \x01(\tR\tloopRunId\x12%\n" + - "\x0efailure_reason\x18\t \x01(\tR\rfailureReason\x129\n" + - "\n" + - "started_at\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" + - "\fcompleted_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x127\n" + - "\tfailed_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\x127\n" + - "\vdifferences\x18\r \x03(\v2\x15.until.PlanDifferenceR\vdifferencesJ\x04\b\a\x10\bJ\x04\b\b\x10\tR\averdictR\n" + - "summary_md\"\xd5\x04\n" + - "\x0ePlanDifference\x12,\n" + - "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\x10\n" + - "\x03tag\x18\x02 \x01(\tR\x03tag\x12\x18\n" + - "\asummary\x18\x03 \x01(\tR\asummary\x12\x1f\n" + - "\vanchor_path\x18\x04 \x01(\tR\n" + - "anchorPath\x12*\n" + - "\x11anchor_start_line\x18\x05 \x01(\x05R\x0fanchorStartLine\x12&\n" + - "\x0fanchor_end_line\x18\x06 \x01(\x05R\ranchorEndLine\x12!\n" + - "\fdetails_json\x18\a \x01(\tR\vdetailsJson\x12\x1a\n" + - "\bresolved\x18\b \x01(\bR\bresolved\x12;\n" + - "\vresolved_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "resolvedAt\x12+\n" + - "\x11resolution_reason\x18\n" + - " \x01(\tR\x10resolutionReason\x12+\n" + - "\x11resolution_commit\x18\v \x01(\tR\x10resolutionCommit\x12\"\n" + - "\facknowledged\x18\f \x01(\bR\facknowledged\x12\x1d\n" + - "\n" + - "ack_source\x18\r \x01(\tR\tackSource\x12\x17\n" + - "\aack_ref\x18\x0e \x01(\tR\x06ackRef\x12.\n" + - "\x13ack_reasoning_quote\x18\x0f \x01(\tR\x11ackReasoningQuote\x12\x12\n" + - "\x04slug\x18\x10 \x01(\tR\x04slug\"\xb8\x02\n" + - "\x12ExecuteLoopRequest\x12\x1f\n" + - "\vloop_prompt\x18\x01 \x01(\tR\n" + - "loopPrompt\x121\n" + - "\x12trigger_event_json\x18\x02 \x01(\tH\x00R\x10triggerEventJson\x88\x01\x01\x12 \n" + - "\tloop_name\x18\x06 \x01(\tH\x01R\bloopName\x88\x01\x01\x12&\n" + - "\faccount_name\x18\a \x01(\tH\x02R\vaccountName\x88\x01\x01B\x15\n" + - "\x13_trigger_event_jsonB\f\n" + - "\n" + - "_loop_nameB\x0f\n" + - "\r_account_nameJ\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06R\n" + - "pr_contextR\x18custom_preamble_templateR\x16custom_shared_workflow\"F\n" + - "\x0fListRunsRequest\x12\x1b\n" + - "\tloop_name\x18\x01 \x01(\tR\bloopName\x12\x16\n" + - "\x06status\x18\x02 \x01(\tR\x06status\"9\n" + - "\x10ListRunsResponse\x12%\n" + - "\x04runs\x18\x01 \x03(\v2\x11.until.RunSummaryR\x04runs\"\x97\x03\n" + - "\n" + - "RunSummary\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + - "\x06status\x18\x02 \x01(\x0e2\x10.until.RunStatusR\x06status\x12\x1f\n" + - "\vloop_prompt\x18\x03 \x01(\tR\n" + - "loopPrompt\x121\n" + - "\x12trigger_event_json\x18\x04 \x01(\tH\x00R\x10triggerEventJson\x88\x01\x01\x129\n" + - "\n" + - "started_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12B\n" + - "\fcompleted_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\vcompletedAt\x88\x01\x01\x12\"\n" + - "\n" + - "thread_key\x18\t \x01(\tH\x02R\tthreadKey\x88\x01\x01B\x15\n" + - "\x13_trigger_event_jsonB\x0f\n" + - "\r_completed_atB\r\n" + - "\v_thread_keyJ\x04\b\a\x10\bJ\x04\b\b\x10\tR\x06pr_keyR\rworkflow_kind\"(\n" + - "\x0fWatchRunRequest\x12\x15\n" + - "\x06run_id\x18\x01 \x01(\tR\x05runId\"\x15\n" + - "\x13StreamEventsRequest\":\n" + - "\x14StreamEventsResponse\x12\"\n" + - "\x05event\x18\x01 \x01(\v2\f.until.EventR\x05event\"\xcc\x02\n" + - "\x11ListEventsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12?\n" + - "\roccurred_from\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\foccurredFrom\x12;\n" + - "\voccurred_to\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "occurredTo\x12\x1f\n" + - "\vobject_type\x18\x04 \x01(\tR\n" + - "objectType\x12\x1b\n" + - "\tobject_id\x18\x05 \x01(\tR\bobjectId\x12\x1f\n" + - "\vevent_types\x18\x06 \x03(\tR\n" + - "eventTypes\x12\x14\n" + - "\x05limit\x18\a \x01(\rR\x05limit\x12!\n" + - "\fafter_cursor\x18\b \x01(\tR\vafterCursor\"[\n" + - "\x12ListEventsResponse\x12$\n" + - "\x06events\x18\x01 \x03(\v2\f.until.EventR\x06events\x12\x1f\n" + - "\vnext_cursor\x18\x02 \x01(\tR\n" + - "nextCursor\")\n" + - "\x10CancelRunRequest\x12\x15\n" + - "\x06run_id\x18\x01 \x01(\tR\x05runId\"\x13\n" + - "\x11CancelRunResponse\"K\n" + - "\x1bListOpenPullRequestsRequest\x12\x14\n" + - "\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" + - "\x06offset\x18\x02 \x01(\rR\x06offset\"|\n" + - "\x1cListOpenPullRequestsResponse\x12;\n" + - "\rpull_requests\x18\x01 \x03(\v2\x16.until.OpenPullRequestR\fpullRequests\x12\x1f\n" + - "\vtotal_count\x18\x02 \x01(\rR\n" + - "totalCount\"C\n" + - "\x15GetPullRequestRequest\x12\x12\n" + - "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" + - "\x06number\x18\x02 \x01(\x05R\x06number\"S\n" + - "\x16GetPullRequestResponse\x129\n" + - "\fpull_request\x18\x01 \x01(\v2\x16.until.OpenPullRequestR\vpullRequest\"\xb5\x02\n" + - "\x0fOpenPullRequest\x12\x12\n" + - "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" + - "\x06number\x18\x02 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x03 \x01(\tR\x05title\x12\x16\n" + - "\x06author\x18\x04 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12\x1f\n" + - "\vbase_branch\x18\x06 \x01(\tR\n" + - "baseBranch\x12\x1f\n" + - "\vhead_branch\x18\a \x01(\tR\n" + - "headBranch\x12\x14\n" + - "\x05state\x18\t \x01(\tR\x05state\x129\n" + - "\n" + - "updated_at\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtJ\x04\b\b\x10\tR\x14latest_ci_conclusion\"\xf3\x04\n" + - "\x13ExecuteLoopResponse\x128\n" + - "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x124\n" + - "\treasoning\x18\n" + - " \x01(\v2\x14.until.ReasoningStepH\x00R\treasoning\x122\n" + - "\ttool_call\x18\v \x01(\v2\x13.until.ToolCallStepH\x00R\btoolCall\x128\n" + - "\vtool_result\x18\f \x01(\v2\x15.until.ToolResultStepH\x00R\n" + - "toolResult\x127\n" + - "\n" + - "completion\x18\r \x01(\v2\x15.until.CompletionStepH\x00R\n" + - "completion\x12(\n" + - "\x05error\x18\x0e \x01(\v2\x10.until.ErrorStepH\x00R\x05error\x12+\n" + - "\x06status\x18\x0f \x01(\v2\x11.until.StatusStepH\x00R\x06status\x128\n" + - "\vrun_started\x18\x10 \x01(\v2\x15.until.RunStartedStepH\x00R\n" + - "runStarted\x12/\n" + - "\bqa_ready\x18\x11 \x01(\v2\x12.until.QAReadyStepH\x00R\aqaReady\x12>\n" + - "\ruser_question\x18\x12 \x01(\v2\x17.until.UserQuestionStepH\x00R\fuserQuestion\x12;\n" + - "\fuser_message\x18\x13 \x01(\v2\x16.until.UserMessageStepH\x00R\vuserMessageB\x06\n" + - "\x04step\")\n" + - "\rReasoningStep\x12\x18\n" + - "\acontent\x18\x01 \x01(\tR\acontent\"\x8b\x01\n" + - "\fToolCallStep\x12 \n" + - "\ftool_call_id\x18\x01 \x01(\tR\n" + - "toolCallId\x12\x15\n" + - "\x06mcp_id\x18\x02 \x01(\tR\x05mcpId\x12\x1b\n" + - "\ttool_name\x18\x03 \x01(\tR\btoolName\x12%\n" + - "\x0earguments_json\x18\x04 \x01(\tR\rargumentsJson\"~\n" + - "\x0eToolResultStep\x12 \n" + - "\ftool_call_id\x18\x01 \x01(\tR\n" + - "toolCallId\x12\x15\n" + - "\x06mcp_id\x18\x02 \x01(\tR\x05mcpId\x12\x18\n" + - "\acontent\x18\x03 \x01(\tR\acontent\x12\x19\n" + - "\bis_error\x18\x04 \x01(\bR\aisError\"*\n" + - "\x0eCompletionStep\x12\x18\n" + - "\acontent\x18\x01 \x01(\tR\acontent\"%\n" + - "\tErrorStep\x12\x18\n" + - "\amessage\x18\x01 \x01(\tR\amessage\"&\n" + - "\n" + - "StatusStep\x12\x18\n" + - "\amessage\x18\x01 \x01(\tR\amessage\"'\n" + - "\x0eRunStartedStep\x12\x15\n" + - "\x06run_id\x18\x01 \x01(\tR\x05runId\"'\n" + - "\vQAReadyStep\x12\x18\n" + - "\amessage\x18\x01 \x01(\tR\amessage\".\n" + - "\x10UserQuestionStep\x12\x1a\n" + - "\bquestion\x18\x01 \x01(\tR\bquestion\"+\n" + - "\x0fUserMessageStep\x12\x18\n" + - "\acontent\x18\x01 \x01(\tR\acontent\"H\n" + - "\x13SendQuestionRequest\x12\x15\n" + - "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1a\n" + - "\bquestion\x18\x02 \x01(\tR\bquestion\"\xc1\x01\n" + - "\x15AdminListPlansRequest\x12\x14\n" + - "\x05state\x18\x01 \x01(\tR\x05state\x12\x14\n" + - "\x05limit\x18\x02 \x01(\rR\x05limit\x12\x16\n" + - "\x06offset\x18\x03 \x01(\rR\x06offset\x12!\n" + - "\faccount_name\x18\x04 \x01(\tR\vaccountName\x12#\n" + - "\rreview_status\x18\x05 \x01(\tR\freviewStatus\x12\x1c\n" + - "\tlifecycle\x18\x06 \x01(\tR\tlifecycle\"c\n" + - "\x16AdminListPlansResponse\x12(\n" + - "\x05plans\x18\x01 \x03(\v2\x12.until.PlanSummaryR\x05plans\x12\x1f\n" + - "\vtotal_count\x18\x02 \x01(\rR\n" + - "totalCount\"\xa0\x06\n" + - "\vPlanSummary\x12\x1f\n" + - "\vfriendly_id\x18\x01 \x01(\tR\n" + - "friendlyId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x129\n" + - "\n" + - "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12.\n" + - "\x13author_principal_id\x18\a \x01(\tR\x11authorPrincipalId\x12.\n" + - "\x13author_display_name\x18\b \x01(\tR\x11authorDisplayName\x122\n" + - "\x15author_principal_kind\x18\t \x01(\tR\x13authorPrincipalKind\x126\n" + - "\x17author_principal_status\x18\n" + - " \x01(\tR\x15authorPrincipalStatus\x12\x12\n" + - "\x04uuid\x18\v \x01(\tR\x04uuid\x12!\n" + - "\fproject_code\x18\f \x01(\tR\vprojectCode\x129\n" + - "\n" + - "deleted_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tdeletedAt\x12#\n" + - "\rreview_status\x18\x0e \x01(\tR\freviewStatus\x12'\n" + - "\x0flifecycle_stage\x18\x0f \x01(\tR\x0elifecycleStage\x12)\n" + - "\x10lifecycle_reason\x18\x10 \x01(\tR\x0flifecycleReason\x12W\n" + - "\x1alifecycle_stage_updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAt\x12\x1b\n" + - "\tticket_id\x18\x12 \x01(\tR\bticketIdJ\x04\b\x03\x10\x04R\x0eauthor_subject\"%\n" + - "\x13AdminGetPlanRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"\xc5\x01\n" + - "\x14AdminGetPlanResponse\x12\x1f\n" + - "\x04plan\x18\x01 \x01(\v2\v.until.PlanR\x04plan\x12=\n" + - "\x0frelated_reviews\x18\x02 \x03(\v2\x14.until.ReviewSummaryR\x0erelatedReviews\x12M\n" + - "\x15related_pull_requests\x18\x03 \x03(\v2\x19.until.PullRequestSummaryR\x13relatedPullRequests\"\xd3\x05\n" + - "\x04Plan\x12\x1f\n" + - "\vfriendly_id\x18\x01 \x01(\tR\n" + - "friendlyId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x18\n" + - "\acontent\x18\x05 \x01(\tR\acontent\x129\n" + - "\n" + - "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12.\n" + - "\x13author_principal_id\x18\b \x01(\tR\x11authorPrincipalId\x12.\n" + - "\x13author_display_name\x18\t \x01(\tR\x11authorDisplayName\x122\n" + - "\x15author_principal_kind\x18\n" + - " \x01(\tR\x13authorPrincipalKind\x126\n" + - "\x17author_principal_status\x18\v \x01(\tR\x15authorPrincipalStatus\x12\x12\n" + - "\x04uuid\x18\f \x01(\tR\x04uuid\x12!\n" + - "\fproject_code\x18\r \x01(\tR\vprojectCode\x12'\n" + - "\x0flifecycle_stage\x18\x0e \x01(\tR\x0elifecycleStage\x12)\n" + - "\x10lifecycle_reason\x18\x0f \x01(\tR\x0flifecycleReason\x12W\n" + - "\x1alifecycle_stage_updated_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\x17lifecycleStageUpdatedAt\x12\x1b\n" + - "\tticket_id\x18\x11 \x01(\tR\bticketIdJ\x04\b\x03\x10\x04R\x0eauthor_subject\"\x99\x01\n" + - "\x1aAdminListPrincipalsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x12\n" + - "\x04kind\x18\x02 \x01(\tR\x04kind\x12\x16\n" + - "\x06status\x18\x03 \x01(\tR\x06status\x12\x14\n" + - "\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x16\n" + - "\x06offset\x18\x05 \x01(\x05R\x06offset\"p\n" + - "\x1bAdminListPrincipalsResponse\x120\n" + - "\n" + - "principals\x18\x01 \x03(\v2\x10.until.PrincipalR\n" + - "principals\x12\x1f\n" + - "\vtotal_count\x18\x02 \x01(\x05R\n" + - "totalCount\";\n" + - "\x18AdminGetPrincipalRequest\x12\x1f\n" + - "\vexternal_id\x18\x01 \x01(\tR\n" + - "externalId\"\xb1\x01\n" + - "\x19AdminGetPrincipalResponse\x12.\n" + - "\tprincipal\x18\x01 \x01(\v2\x10.until.PrincipalR\tprincipal\x128\n" + - "\n" + - "identities\x18\x02 \x03(\v2\x18.until.PrincipalIdentityR\n" + - "identities\x12*\n" + - "\bbindings\x18\x03 \x03(\v2\x0e.until.BindingR\bbindings\"\x83\x02\n" + - "\x11PrincipalIdentity\x12\x1f\n" + - "\vexternal_id\x18\x01 \x01(\tR\n" + - "externalId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + - "\asubject\x18\x04 \x01(\tR\asubject\x129\n" + - "\n" + - "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x9e\x01\n" + - "\"AdminUpsertPrincipalBindingRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x16\n" + - "\x06handle\x18\x04 \x01(\tR\x06handle\"O\n" + - "#AdminUpsertPrincipalBindingResponse\x12(\n" + - "\abinding\x18\x01 \x01(\v2\x0e.until.BindingR\abinding\"h\n" + - "\"AdminDeletePrincipalBindingRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + - "\vexternal_id\x18\x02 \x01(\tR\n" + - "externalId\"%\n" + - "#AdminDeletePrincipalBindingResponse\"\xc2\x01\n" + - "\x1bAdminUpdatePrincipalRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + - "\vexternal_id\x18\x02 \x01(\tR\n" + - "externalId\x12&\n" + - "\fdisplay_name\x18\x03 \x01(\tH\x00R\vdisplayName\x88\x01\x01\x12\x1b\n" + - "\x06status\x18\x04 \x01(\tH\x01R\x06status\x88\x01\x01B\x0f\n" + - "\r_display_nameB\t\n" + - "\a_status\"N\n" + - "\x1cAdminUpdatePrincipalResponse\x12.\n" + - "\tprincipal\x18\x01 \x01(\v2\x10.until.PrincipalR\tprincipal\"\xa1\x01\n" + - "#AdminCreatePrincipalIdentityRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + - "\asubject\x18\x04 \x01(\tR\asubject\"\\\n" + - "$AdminCreatePrincipalIdentityResponse\x124\n" + - "\bidentity\x18\x01 \x01(\v2\x18.until.PrincipalIdentityR\bidentity\"i\n" + - "#AdminDeletePrincipalIdentityRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + - "\vexternal_id\x18\x02 \x01(\tR\n" + - "externalId\"&\n" + - "$AdminDeletePrincipalIdentityResponse\"\x9e\x01\n" + - "\"AdminSetPrincipalCredentialRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x16\n" + - "\x06secret\x18\x04 \x01(\tR\x06secret\"m\n" + - "#AdminSetPrincipalCredentialResponse\x12#\n" + - "\raccount_email\x18\x01 \x01(\tR\faccountEmail\x12!\n" + - "\fsecret_last4\x18\x02 \x01(\tR\vsecretLast4\"o\n" + - ".AdminListPrincipalCredentialConnectionsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1a\n" + - "\bprovider\x18\x02 \x01(\tR\bprovider\"y\n" + - "/AdminListPrincipalCredentialConnectionsResponse\x12F\n" + - "\vconnections\x18\x01 \x03(\v2$.until.PrincipalCredentialConnectionR\vconnections\"\xce\x02\n" + - "\x1dPrincipalCredentialConnection\x12!\n" + - "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x1c\n" + - "\tconnected\x18\x03 \x01(\bR\tconnected\x12#\n" + - "\raccount_email\x18\x04 \x01(\tR\faccountEmail\x12!\n" + - "\fsecret_last4\x18\x05 \x01(\tR\vsecretLast4\x12F\n" + - "\x11last_validated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastValidatedAt\x12\x1d\n" + - "\n" + - "updated_by\x18\a \x01(\tR\tupdatedBy\x12!\n" + - "\faccount_name\x18\b \x01(\tR\vaccountName\"\x89\x01\n" + - "%AdminDeletePrincipalCredentialRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x03 \x01(\tR\bprovider\"(\n" + - "&AdminDeletePrincipalCredentialResponse\"<\n" + - "\x17AdminListReviewsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"J\n" + - "\x18AdminListReviewsResponse\x12.\n" + - "\areviews\x18\x01 \x03(\v2\x14.until.ReviewSummaryR\areviews\"\xdb\x06\n" + - "\rReviewSummary\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + - "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x16\n" + - "\x06status\x18\x05 \x01(\tR\x06status\x12=\n" + - "\frequested_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12>\n" + - "\n" + - "decided_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tdecidedAt\x88\x01\x01\x12\x1b\n" + - "\tplan_uuid\x18\x10 \x01(\tR\bplanUuid\x122\n" + - "\x15reviewer_principal_id\x18\x11 \x01(\tR\x13reviewerPrincipalId\x122\n" + - "\x15reviewer_display_name\x18\x12 \x01(\tR\x13reviewerDisplayName\x126\n" + - "\x17reviewer_principal_kind\x18\x13 \x01(\tR\x15reviewerPrincipalKind\x12:\n" + - "\x19reviewer_principal_status\x18\x14 \x01(\tR\x17reviewerPrincipalStatusB\r\n" + - "\v_decided_atJ\x04\b\x04\x10\x05J\x04\b\b\x10\tJ\x04\b\t\x10\n" + - "J\x04\b\n" + - "\x10\vJ\x04\b\v\x10\fJ\x04\b\f\x10\rJ\x04\b\r\x10\x0eJ\x04\b\x0e\x10\x0fJ\x04\b\x0f\x10\x10R\x10reviewer_subjectR\x1frequested_reviewer_principal_idR\x1cactual_reviewer_principal_idR\x1frequested_reviewer_display_nameR!requested_reviewer_principal_kindR#requested_reviewer_principal_statusR\x1cactual_reviewer_display_nameR\x1eactual_reviewer_principal_kindR actual_reviewer_principal_status\"'\n" + - "\x15AdminGetReviewRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"u\n" + - "\x16AdminGetReviewResponse\x12%\n" + - "\x06review\x18\x01 \x01(\v2\r.until.ReviewR\x06review\x12+\n" + - "\x04plan\x18\x02 \x01(\v2\x12.until.PlanSummaryH\x00R\x04plan\x88\x01\x01B\a\n" + - "\x05_plan\"\xd6\a\n" + - "\x06Review\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12(\n" + - "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x16\n" + - "\x06status\x18\x05 \x01(\tR\x06status\x12'\n" + - "\x0fverdict_comment\x18\x06 \x01(\tR\x0everdictComment\x12=\n" + - "\frequested_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12>\n" + - "\n" + - "decided_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tdecidedAt\x88\x01\x01\x129\n" + - "\n" + - "created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x122\n" + - "\x15reviewer_principal_id\x18\x13 \x01(\tR\x13reviewerPrincipalId\x122\n" + - "\x15reviewer_display_name\x18\x14 \x01(\tR\x13reviewerDisplayName\x126\n" + - "\x17reviewer_principal_kind\x18\x15 \x01(\tR\x15reviewerPrincipalKind\x12:\n" + - "\x19reviewer_principal_status\x18\x16 \x01(\tR\x17reviewerPrincipalStatusB\r\n" + - "\v_decided_atJ\x04\b\x04\x10\x05J\x04\b\v\x10\fJ\x04\b\f\x10\rJ\x04\b\r\x10\x0eJ\x04\b\x0e\x10\x0fJ\x04\b\x0f\x10\x10J\x04\b\x10\x10\x11J\x04\b\x11\x10\x12J\x04\b\x12\x10\x13R\x10reviewer_subjectR\x1frequested_reviewer_principal_idR\x1cactual_reviewer_principal_idR\x1frequested_reviewer_display_nameR!requested_reviewer_principal_kindR#requested_reviewer_principal_statusR\x1cactual_reviewer_display_nameR\x1eactual_reviewer_principal_kindR actual_reviewer_principal_status\"\x8b\x01\n" + - "\x0eAccountSummary\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + - "\vgithub_orgs\x18\x02 \x03(\tR\n" + - "githubOrgs\x12\x12\n" + - "\x04slug\x18\x03 \x01(\tR\x04slug\x12!\n" + - "\fdisplay_name\x18\x04 \x01(\tR\vdisplayName\"N\n" + - "\x19AdminListAccountsResponse\x121\n" + - "\baccounts\x18\x01 \x03(\v2\x15.until.AccountSummaryR\baccounts\"B\n" + - "\x1dAdminGetAccountSummaryRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\x9a\x01\n" + - "\x11AccountRunSummary\x12\x1e\n" + - "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x12\n" + - "\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" + - "\x06status\x18\x03 \x01(\tR\x06status\x129\n" + - "\n" + - "started_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xbc\x04\n" + - "\x1eAdminGetAccountSummaryResponse\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1f\n" + - "\vgithub_orgs\x18\x02 \x03(\tR\n" + - "githubOrgs\x12'\n" + - "\x0fslack_connected\x18\x03 \x01(\bR\x0eslackConnected\x12)\n" + - "\x10linear_connected\x18\x04 \x01(\bR\x0flinearConnected\x12\x1d\n" + - "\n" + - "plan_count\x18\x05 \x01(\x03R\tplanCount\x12!\n" + - "\freview_count\x18\x06 \x01(\x03R\vreviewCount\x12$\n" + - "\x0eloop_run_count\x18\a \x01(\x03R\floopRunCount\x12/\n" + - "\x14loop_run_error_count\x18\b \x01(\x03R\x11loopRunErrorCount\x12\x19\n" + - "\bpr_count\x18\t \x01(\x03R\aprCount\x12@\n" + - "\x0elast_active_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\flastActiveAt\x129\n" + - "\vrecent_runs\x18\f \x03(\v2\x18.until.AccountRunSummaryR\n" + - "recentRuns\x12\x12\n" + - "\x04slug\x18\r \x01(\tR\x04slug\x12!\n" + - "\fdisplay_name\x18\x0e \x01(\tR\vdisplayNameJ\x04\b\n" + - "\x10\vR\x14verdict_distribution\"I\n" + - "$AdminGetAccountHealthAnalysisRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"`\n" + - "\x14AccountHealthFinding\x12\x1a\n" + - "\bseverity\x18\x01 \x01(\tR\bseverity\x12\x14\n" + - "\x05title\x18\x02 \x01(\tR\x05title\x12\x16\n" + - "\x06detail\x18\x03 \x01(\tR\x06detail\"\x9d\x01\n" + - "%AdminGetAccountHealthAnalysisResponse\x127\n" + - "\bfindings\x18\x01 \x03(\v2\x1b.until.AccountHealthFindingR\bfindings\x12;\n" + - "\vcomputed_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "computedAt\"G\n" + - "\"AdminListAccountMetricReposRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"L\n" + - "\x11AccountMetricRepo\x12\x1b\n" + - "\tfull_name\x18\x01 \x01(\tR\bfullName\x12\x1a\n" + - "\barchived\x18\x02 \x01(\bR\barchived\"U\n" + - "#AdminListAccountMetricReposResponse\x12.\n" + - "\x05repos\x18\x01 \x03(\v2\x18.until.AccountMetricRepoR\x05repos\"\xf9\x04\n" + - ")AdminStartAccountMetricsComparisonRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12=\n" + - "\fbefore_start\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vbeforeStart\x129\n" + - "\n" + - "before_end\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tbeforeEnd\x12;\n" + - "\vafter_start\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "afterStart\x127\n" + - "\tafter_end\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bafterEnd\x12(\n" + - "\x10linear_team_name\x18\a \x01(\tR\x0elinearTeamName\x12E\n" + - "\x0fcomparison_mode\x18\b \x01(\x0e2\x1c.until.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + - "\x17planned_unplanned_start\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + - "\x15planned_unplanned_end\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"C\n" + - "*AdminStartAccountMetricsComparisonResponse\x12\x15\n" + - "\x06run_id\x18\x01 \x01(\tR\x05runId\"f\n" + - "*AdminGetAccountMetricsComparisonRunRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x15\n" + - "\x06run_id\x18\x02 \x01(\tR\x05runId\"q\n" + - "\x19MetricsComparisonHeadline\x12\x12\n" + - "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + - "\x06before\x18\x02 \x01(\x01R\x06before\x12\x14\n" + - "\x05after\x18\x03 \x01(\x01R\x05after\x12\x12\n" + - "\x04fold\x18\x04 \x01(\tR\x04fold\"\x89\x01\n" + - "\x19MetricsComparisonArtifact\x12\x12\n" + - "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" + - "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x1b\n" + - "\tmime_type\x18\x03 \x01(\tR\bmimeType\x12\x18\n" + - "\acontent\x18\x04 \x01(\tR\acontent\"\xcd\b\n" + - "+AdminGetAccountMetricsComparisonRunResponse\x12\x15\n" + - "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x16\n" + - "\x06status\x18\x02 \x01(\tR\x06status\x12\x14\n" + - "\x05stage\x18\x03 \x01(\tR\x05stage\x12)\n" + - "\x10progress_percent\x18\x04 \x01(\x05R\x0fprogressPercent\x12\x14\n" + - "\x05error\x18\x05 \x01(\tR\x05error\x12$\n" + - "\x0erepo_full_name\x18\x06 \x01(\tR\frepoFullName\x12#\n" + - "\rlinear_status\x18\a \x01(\tR\flinearStatus\x120\n" + - "\x14linear_status_detail\x18\b \x01(\tR\x12linearStatusDetail\x129\n" + - "\n" + - "started_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" + - "\fcompleted_at\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12\x1f\n" + - "\vreport_html\x18\v \x01(\tR\n" + - "reportHtml\x12<\n" + - "\bheadline\x18\f \x03(\v2 .until.MetricsComparisonHeadlineR\bheadline\x12=\n" + - "\fbefore_start\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\vbeforeStart\x129\n" + - "\n" + - "before_end\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tbeforeEnd\x12;\n" + - "\vafter_start\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "afterStart\x127\n" + - "\tafter_end\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\bafterEnd\x12'\n" + - "\x0fcomparison_json\x18\x11 \x01(\tR\x0ecomparisonJson\x12>\n" + - "\tartifacts\x18\x12 \x03(\v2 .until.MetricsComparisonArtifactR\tartifacts\x12E\n" + - "\x0fcomparison_mode\x18\x13 \x01(\x0e2\x1c.until.MetricsComparisonModeR\x0ecomparisonMode\x12R\n" + - "\x17planned_unplanned_start\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\x15plannedUnplannedStart\x12N\n" + - "\x15planned_unplanned_end\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\x13plannedUnplannedEnd\"\xcb8\n" + - "\x05Event\x12\x19\n" + - "\bevent_id\x18\x01 \x01(\tR\aeventId\x12;\n" + - "\voccurred_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "occurredAt\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\"\n" + - "\x05actor\x18\x04 \x01(\v2\f.until.ActorR\x05actor\x123\n" + - "\x06object\x18\x05 \x01(\v2\x16.until.ObjectReferenceH\x01R\x06object\x88\x01\x01\x12+\n" + - "\x0fsource_repo_url\x18\x06 \x01(\tH\x02R\rsourceRepoUrl\x88\x01\x01\x12\x1e\n" + - "\btrace_id\x18\a \x01(\tH\x03R\atraceId\x88\x01\x01\x12\x1c\n" + - "\aspan_id\x18\b \x01(\tH\x04R\x06spanId\x88\x01\x01\x123\n" + - "\x13honeycomb_trace_url\x18\t \x01(\tH\x05R\x11honeycombTraceUrl\x88\x01\x01\x12;\n" + - "\vreceived_at\x18H \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "receivedAt\x127\n" + - "\fplan_created\x18\n" + - " \x01(\v2\x12.until.PlanCreatedH\x00R\vplanCreated\x127\n" + - "\fplan_updated\x18\v \x01(\v2\x12.until.PlanUpdatedH\x00R\vplanUpdated\x127\n" + - "\fplan_deleted\x18\f \x01(\v2\x12.until.PlanDeletedH\x00R\vplanDeleted\x12C\n" + - "\x10review_requested\x18\r \x01(\v2\x16.until.ReviewRequestedH\x00R\x0freviewRequested\x12C\n" + - "\x10review_submitted\x18\x0e \x01(\v2\x16.until.ReviewSubmittedH\x00R\x0freviewSubmitted\x12)\n" + - "\x05other\x18\x0f \x01(\v2\x11.until.OtherEventH\x00R\x05other\x12=\n" + - "\x0egithub_webhook\x18\x10 \x01(\v2\x14.until.GitHubWebhookH\x00R\rgithubWebhook\x12B\n" + - "\rslack_mention\x18\x11 \x01(\v2\x1b.until.SlackMentionReceivedH\x00R\fslackMention\x12B\n" + - "\x0eslack_reaction\x18\x12 \x01(\v2\x19.until.SlackReactionAddedH\x00R\rslackReaction\x12J\n" + - "\x13pull_request_opened\x18\x13 \x01(\v2\x18.until.PullRequestOpenedH\x00R\x11pullRequestOpened\x12\\\n" + - "\x19pull_request_synchronized\x18\x14 \x01(\v2\x1e.until.PullRequestSynchronizedH\x00R\x17pullRequestSynchronized\x12M\n" + - "\x14pull_request_updated\x18\x15 \x01(\v2\x19.until.PullRequestUpdatedH\x00R\x12pullRequestUpdated\x12J\n" + - "\x13pull_request_closed\x18\x16 \x01(\v2\x18.until.PullRequestClosedH\x00R\x11pullRequestClosed\x12^\n" + - "\x1bpull_request_linked_to_plan\x18\x17 \x01(\v2\x1e.until.PullRequestLinkedToPlanH\x00R\x17pullRequestLinkedToPlan\x12j\n" + - "\x1fpull_request_unlinked_from_plan\x18\x18 \x01(\v2\".until.PullRequestUnlinkedFromPlanH\x00R\x1bpullRequestUnlinkedFromPlan\x12\x81\x01\n" + - "&organisation_app_installation_upserted\x18\x19 \x01(\v2*.until.OrganisationAppInstallationUpsertedH\x00R#organisationAppInstallationUpserted\x12~\n" + - "%organisation_app_installation_deleted\x18\x1a \x01(\v2).until.OrganisationAppInstallationDeletedH\x00R\"organisationAppInstallationDeleted\x12G\n" + - "\x12plan_check_started\x18\x1b \x01(\v2\x17.until.PlanCheckStartedH\x00R\x10planCheckStarted\x12M\n" + - "\x14plan_check_completed\x18\x1c \x01(\v2\x19.until.PlanCheckCompletedH\x00R\x12planCheckCompleted\x12D\n" + - "\x11plan_check_failed\x18\x1d \x01(\v2\x16.until.PlanCheckFailedH\x00R\x0fplanCheckFailed\x12>\n" + - "\x0floop_run_queued\x18\x1e \x01(\v2\x14.until.LoopRunQueuedH\x00R\rloopRunQueued\x12A\n" + - "\x10loop_run_started\x18\x1f \x01(\v2\x15.until.LoopRunStartedH\x00R\x0eloopRunStarted\x12G\n" + - "\x12loop_run_completed\x18 \x01(\v2\x17.until.LoopRunCompletedH\x00R\x10loopRunCompleted\x12>\n" + - "\x0floop_run_failed\x18! \x01(\v2\x14.until.LoopRunFailedH\x00R\rloopRunFailed\x12G\n" + - "\x12loop_run_cancelled\x18\" \x01(\v2\x17.until.LoopRunCancelledH\x00R\x10loopRunCancelled\x12`\n" + - "\x1breview_no_eligible_reviewer\x18# \x01(\v2\x1f.until.ReviewNoEligibleReviewerH\x00R\x18reviewNoEligibleReviewer\x12F\n" + - "\x11principal_created\x18$ \x01(\v2\x17.until.PrincipalCreatedH\x00R\x10principalCreated\x12F\n" + - "\x11principal_updated\x18% \x01(\v2\x17.until.PrincipalUpdatedH\x00R\x10principalUpdated\x12O\n" + - "\x14principal_tombstoned\x18& \x01(\v2\x1a.until.PrincipalTombstonedH\x00R\x13principalTombstoned\x12C\n" + - "\x10identity_created\x18' \x01(\v2\x16.until.IdentityCreatedH\x00R\x0fidentityCreated\x12C\n" + - "\x10identity_deleted\x18( \x01(\v2\x16.until.IdentityDeletedH\x00R\x0fidentityDeleted\x12@\n" + - "\x0fbinding_created\x18) \x01(\v2\x15.until.BindingCreatedH\x00R\x0ebindingCreated\x12@\n" + - "\x0fbinding_updated\x18* \x01(\v2\x15.until.BindingUpdatedH\x00R\x0ebindingUpdated\x12@\n" + - "\x0fbinding_deleted\x18+ \x01(\v2\x15.until.BindingDeletedH\x00R\x0ebindingDeleted\x12T\n" + - "\x17review_drive_by_started\x18, \x01(\v2\x1b.until.ReviewDriveByStartedH\x00R\x14reviewDriveByStarted\x12:\n" + - "\rslack_webhook\x18- \x01(\v2\x13.until.SlackWebhookH\x00R\fslackWebhook\x12=\n" + - "\x0ereview_deleted\x18. \x01(\v2\x14.until.ReviewDeletedH\x00R\rreviewDeleted\x12:\n" + - "\rplan_restored\x18/ \x01(\v2\x13.until.PlanRestoredH\x00R\fplanRestored\x12=\n" + - "\x0elinear_webhook\x180 \x01(\v2\x14.until.LinearWebhookH\x00R\rlinearWebhook\x12c\n" + - "\x1cpull_request_comment_created\x181 \x01(\v2 .until.PullRequestCommentCreatedH\x00R\x19pullRequestCommentCreated\x12Y\n" + - "\x18plan_difference_recorded\x182 \x01(\v2\x1d.until.PlanDifferenceRecordedH\x00R\x16planDifferenceRecorded\x12V\n" + - "\x17plan_difference_updated\x183 \x01(\v2\x1c.until.PlanDifferenceUpdatedH\x00R\x15planDifferenceUpdated\x12Y\n" + - "\x18plan_difference_resolved\x184 \x01(\v2\x1d.until.PlanDifferenceResolvedH\x00R\x16planDifferenceResolved\x12M\n" + - "\x14agent_run_dispatched\x185 \x01(\v2\x19.until.AgentRunDispatchedH\x00R\x12agentRunDispatched\x12D\n" + - "\x11agent_run_started\x186 \x01(\v2\x16.until.AgentRunStartedH\x00R\x0fagentRunStarted\x12g\n" + - "\x1eagent_run_pull_request_matched\x187 \x01(\v2!.until.AgentRunPullRequestMatchedH\x00R\x1aagentRunPullRequestMatched\x12^\n" + - "\x1bagent_run_flagged_needs_you\x188 \x01(\v2\x1e.until.AgentRunFlaggedNeedsYouH\x00R\x17agentRunFlaggedNeedsYou\x12A\n" + - "\x10agent_run_merged\x189 \x01(\v2\x15.until.AgentRunMergedH\x00R\x0eagentRunMerged\x12G\n" + - "\x12agent_run_declined\x18: \x01(\v2\x17.until.AgentRunDeclinedH\x00R\x10agentRunDeclined\x12J\n" + - "\x13agent_run_cancelled\x18; \x01(\v2\x18.until.AgentRunCancelledH\x00R\x11agentRunCancelled\x12N\n" + - "\x15agent_run_gate_passed\x18J \x01(\v2\x19.until.AgentRunGatePassedH\x00R\x12agentRunGatePassed\x12k\n" + - " pull_request_linked_to_agent_run\x18< \x01(\v2\".until.PullRequestLinkedToAgentRunH\x00R\x1bpullRequestLinkedToAgentRun\x12:\n" + - "\rloop_ingested\x18= \x01(\v2\x13.until.LoopIngestedH\x00R\floopIngested\x12f\n" + - "\x1dpull_request_review_requested\x18? \x01(\v2!.until.PullRequestReviewRequestedH\x00R\x1apullRequestReviewRequested\x12P\n" + - "\x15pull_request_approved\x18@ \x01(\v2\x1a.until.PullRequestApprovedH\x00R\x13pullRequestApproved\x12i\n" + - "\x1epull_request_changes_requested\x18A \x01(\v2\".until.PullRequestChangesRequestedH\x00R\x1bpullRequestChangesRequested\x12f\n" + - "\x1dpull_request_review_dismissed\x18B \x01(\v2!.until.PullRequestReviewDismissedH\x00R\x1apullRequestReviewDismissed\x12O\n" + - "\x14credential_connected\x18C \x01(\v2\x1a.until.CredentialConnectedH\x00R\x13credentialConnected\x12I\n" + - "\x12credential_revoked\x18D \x01(\v2\x18.until.CredentialRevokedH\x00R\x11credentialRevoked\x12J\n" + - "\x13agent_run_annotated\x18E \x01(\v2\x18.until.AgentRunAnnotatedH\x00R\x11agentRunAnnotated\x12F\n" + - "\x11workspace_created\x18G \x01(\v2\x17.until.WorkspaceCreatedH\x00R\x10workspaceCreated\x12v\n" + - "#mcp_grant_workspace_binding_changed\x18I \x01(\v2&.until.MCPGrantWorkspaceBindingChangedH\x00R\x1fmcpGrantWorkspaceBindingChanged\x12k\n" + - "\x1eworkspace_onboarding_completed\x18K \x01(\v2#.until.WorkspaceOnboardingCompletedH\x00R\x1cworkspaceOnboardingCompleted\x12F\n" + - "\x11workspace_renamed\x18L \x01(\v2\x17.until.WorkspaceRenamedH\x00R\x10workspaceRenamed\x12F\n" + - "\x11workspace_deleted\x18M \x01(\v2\x17.until.WorkspaceDeletedH\x00R\x10workspaceDeleted\x12`\n" + - "\x1bapproved_email_domain_added\x18N \x01(\v2\x1f.until.ApprovedEmailDomainAddedH\x00R\x18approvedEmailDomainAdded\x12i\n" + - "\x1eapproved_email_domain_verified\x18O \x01(\v2\".until.ApprovedEmailDomainVerifiedH\x00R\x1bapprovedEmailDomainVerified\x12f\n" + - "\x1dapproved_email_domain_deleted\x18P \x01(\v2!.until.ApprovedEmailDomainDeletedH\x00R\x1aapprovedEmailDomainDeleted\x12=\n" + - "\x0egitlab_webhook\x18Q \x01(\v2\x14.until.GitLabWebhookH\x00R\rgitlabWebhook\x12u\n" + - "\"workspace_llm_credential_connected\x18R \x01(\v2&.until.WorkspaceLLMCredentialConnectedH\x00R\x1fworkspaceLlmCredentialConnected\x12o\n" + - " workspace_llm_credential_revoked\x18S \x01(\v2$.until.WorkspaceLLMCredentialRevokedH\x00R\x1dworkspaceLlmCredentialRevoked\x12F\n" + - "\x11bitbucket_webhook\x18T \x01(\v2\x17.until.BitbucketWebhookH\x00R\x10bitbucketWebhook\x12V\n" + - "\x17workspace_member_joined\x18U \x01(\v2\x1c.until.WorkspaceMemberJoinedH\x00R\x15workspaceMemberJoined\x12P\n" + - "\x15workspace_member_left\x18V \x01(\v2\x1a.until.WorkspaceMemberLeftH\x00R\x13workspaceMemberLeft\x12Y\n" + - "\x18composio_trigger_message\x18W \x01(\v2\x1d.until.ComposioTriggerMessageH\x00R\x16composioTriggerMessage\x12e\n" + - "\x1cplan_difference_acknowledged\x18X \x01(\v2!.until.PlanDifferenceAcknowledgedH\x00R\x1aplanDifferenceAcknowledged\x12\x84\x01\n" + - "'plan_difference_acknowledgement_cleared\x18Y \x01(\v2+.until.PlanDifferenceAcknowledgementClearedH\x00R$planDifferenceAcknowledgementCleared\x12]\n" + - "\x1aplan_review_policy_decided\x18Z \x01(\v2\x1e.until.PlanReviewPolicyDecidedH\x00R\x17planReviewPolicyDecided\x12@\n" + - "\x0freview_restored\x18[ \x01(\v2\x15.until.ReviewRestoredH\x00R\x0ereviewRestored\x12l\n" + - "\x1fworkspace_review_policy_updated\x18\\ \x01(\v2#.until.WorkspaceReviewPolicyUpdatedH\x00R\x1cworkspaceReviewPolicyUpdated\x12S\n" + - "\x16unknown_stored_payload\x18F \x01(\v2\x1b.until.UnknownStoredPayloadH\x00R\x14unknownStoredPayloadB\t\n" + - "\apayloadB\t\n" + - "\a_objectB\x12\n" + - "\x10_source_repo_urlB\v\n" + - "\t_trace_idB\n" + - "\n" + - "\b_span_idB\x16\n" + - "\x14_honeycomb_trace_urlJ\x04\b>\x10?R\x13audit_trail_queried\"+\n" + - "\x05Actor\x12\x12\n" + - "\x04kind\x18\x01 \x01(\tR\x04kind\x12\x0e\n" + - "\x02id\x18\x02 \x01(\tR\x02id\"5\n" + - "\x0fObjectReference\x12\x12\n" + - "\x04type\x18\x01 \x01(\tR\x04type\x12\x0e\n" + - "\x02id\x18\x02 \x01(\tR\x02id\"\xdb\x01\n" + - "\vPlanCreated\x12\x1b\n" + - "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12%\n" + - "\x0eauthor_subject\x18\x02 \x01(\tR\rauthorSubject\x12\x14\n" + - "\x05title\x18\x03 \x01(\tR\x05title\x12\x18\n" + - "\acontent\x18\x04 \x01(\tR\acontent\x12.\n" + - "\x13author_principal_id\x18\x05 \x01(\tR\x11authorPrincipalId\"\x95\x03\n" + - "\vPlanUpdated\x12\x1b\n" + - "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x12%\n" + - "\x0echanged_fields\x18\x02 \x03(\tR\rchangedFields\x12<\n" + - "\bprevious\x18\x03 \x03(\v2 .until.PlanUpdated.PreviousEntryR\bprevious\x123\n" + - "\x05after\x18\x05 \x03(\v2\x1d.until.PlanUpdated.AfterEntryR\x05after\x1aS\n" + - "\rPreviousEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + - "\n" + - "AfterEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xab\x01\n" + - "\vPlanDeleted\x12\x1b\n" + - "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x12%\n" + - "\x0eauthor_subject\x18\x02 \x01(\tR\rauthorSubject\x12.\n" + - "\x13author_principal_id\x18\x03 \x01(\tR\x11authorPrincipalId\"\xcb\x01\n" + - "\rReviewDeleted\x12\x1b\n" + - "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + - "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x05 \x01(\tR\x0eplanFriendlyId\x122\n" + - "\x15reviewer_principal_id\x18\x04 \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04R\x1cactual_reviewer_principal_id\"\xa8\x01\n" + - "\x0eReviewRestored\x12\x1b\n" + - "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + - "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x122\n" + - "\x15reviewer_principal_id\x18\x03 \x01(\tR\x13reviewerPrincipalId\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x85\x01\n" + - "\fPlanRestored\x12\x1b\n" + - "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x03 \x01(\tR\x0eplanFriendlyId\x12.\n" + - "\x13author_principal_id\x18\x02 \x01(\tR\x11authorPrincipalId\"\x8c\x02\n" + - "\x0fReviewRequested\x12\x1b\n" + - "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + - "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x122\n" + - "\x15reviewer_principal_id\x18\x06 \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06R\x10reviewer_subjectR\x1frequested_reviewer_principal_idR\x1cactual_reviewer_principal_id\"\xe1\x02\n" + - "\x0fReviewSubmitted\x12\x1b\n" + - "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + - "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\t \x01(\tR\x0eplanFriendlyId\x12\x16\n" + - "\x06status\x18\x04 \x01(\tR\x06status\x12'\n" + - "\x0fverdict_comment\x18\x05 \x01(\tR\x0everdictComment\x129\n" + - "\n" + - "decided_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tdecidedAt\x122\n" + - "\x15reviewer_principal_id\x18\b \x01(\tR\x13reviewerPrincipalIdJ\x04\b\x03\x10\x04J\x04\b\a\x10\bR\x10reviewer_subjectR\x1cactual_reviewer_principal_id\"\xd8\x01\n" + - "\x18ReviewNoEligibleReviewer\x12\x1b\n" + - "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\x124\n" + - "\x16requester_principal_id\x18\x02 \x01(\tR\x14requesterPrincipalId\x12?\n" + - "\x1cactive_human_principal_count\x18\x03 \x01(\x05R\x19activeHumanPrincipalCount\"\xba\x02\n" + - "\x17PlanReviewPolicyDecided\x12\x1b\n" + - "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\x12-\n" + - "\x12review_requirement\x18\x03 \x01(\tR\x11reviewRequirement\x120\n" + - "\x14review_policy_reason\x18\x04 \x01(\tR\x12reviewPolicyReason\x12?\n" + - "\x1cactive_human_principal_count\x18\x05 \x01(\x05R\x19activeHumanPrincipalCount\x126\n" + - "\x17workspace_review_policy\x18\x06 \x01(\tR\x15workspaceReviewPolicy\"\xa7\x01\n" + - "\x1cWorkspaceReviewPolicyUpdated\x12'\n" + - "\x0fprevious_policy\x18\x01 \x01(\tR\x0epreviousPolicy\x12\x1d\n" + - "\n" + - "new_policy\x18\x02 \x01(\tR\tnewPolicy\x12?\n" + - "\x1cactive_human_principal_count\x18\x03 \x01(\x05R\x19activeHumanPrincipalCount\"l\n" + - "\x10PrincipalCreated\x12!\n" + - "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x12\n" + - "\x04kind\x18\x02 \x01(\tR\x04kind\x12!\n" + - "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\x80\x03\n" + - "\x10PrincipalUpdated\x12!\n" + - "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12%\n" + - "\x0echanged_fields\x18\x02 \x03(\tR\rchangedFields\x12A\n" + - "\bprevious\x18\x03 \x03(\v2%.until.PrincipalUpdated.PreviousEntryR\bprevious\x128\n" + - "\x05after\x18\x04 \x03(\v2\".until.PrincipalUpdated.AfterEntryR\x05after\x1aS\n" + - "\rPreviousEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + - "\n" + - "AfterEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"L\n" + - "\x13PrincipalTombstoned\x12!\n" + - "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12\x12\n" + - "\x04kind\x18\x02 \x01(\tR\x04kind\"\x9a\x01\n" + - "\x10WorkspaceCreated\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + - "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + - "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12,\n" + - "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"|\n" + - "\x1cWorkspaceOnboardingCompleted\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x129\n" + - "\x19completed_by_principal_id\x18\x02 \x01(\tR\x16completedByPrincipalId\"\xed\x01\n" + - "\x10WorkspaceRenamed\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x19\n" + - "\bold_slug\x18\x02 \x01(\tR\aoldSlug\x12\x19\n" + - "\bnew_slug\x18\x03 \x01(\tR\anewSlug\x12(\n" + - "\x10old_display_name\x18\x04 \x01(\tR\x0eoldDisplayName\x12(\n" + - "\x10new_display_name\x18\x05 \x01(\tR\x0enewDisplayName\x12,\n" + - "\x12admin_principal_id\x18\x06 \x01(\tR\x10adminPrincipalId\"l\n" + - "\x10WorkspaceDeleted\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + - "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + - "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\xbf\x01\n" + - "\x15WorkspaceMemberJoined\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12!\n" + - "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x12\n" + - "\x04role\x18\x04 \x01(\tR\x04role\x12)\n" + - "\x06source\x18\x05 \x01(\x0e2\x11.until.JoinSourceR\x06source\"~\n" + - "\x13WorkspaceMemberLeft\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12!\n" + - "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\xbc\x01\n" + - "\x18ApprovedEmailDomainAdded\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x127\n" + - "\x18approved_email_domain_id\x18\x02 \x01(\tR\x15approvedEmailDomainId\x12\x16\n" + - "\x06domain\x18\x03 \x01(\tR\x06domain\x12,\n" + - "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"\xbf\x01\n" + - "\x1bApprovedEmailDomainVerified\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x127\n" + - "\x18approved_email_domain_id\x18\x02 \x01(\tR\x15approvedEmailDomainId\x12\x16\n" + - "\x06domain\x18\x03 \x01(\tR\x06domain\x12,\n" + - "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"\xbe\x01\n" + - "\x1aApprovedEmailDomainDeleted\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x127\n" + - "\x18approved_email_domain_id\x18\x02 \x01(\tR\x15approvedEmailDomainId\x12\x16\n" + - "\x06domain\x18\x03 \x01(\tR\x06domain\x12,\n" + - "\x12admin_principal_id\x18\x04 \x01(\tR\x10adminPrincipalId\"\xc1\x02\n" + - "\x1fMCPGrantWorkspaceBindingChanged\x12\x1d\n" + - "\n" + - "binding_id\x18\x01 \x01(\tR\tbindingId\x12\x1b\n" + - "\tgrant_key\x18\x02 \x01(\tR\bgrantKey\x12!\n" + - "\fworkspace_id\x18\x03 \x01(\tR\vworkspaceId\x12\x18\n" + - "\asubject\x18\x04 \x01(\tR\asubject\x12\x16\n" + - "\x06action\x18\x05 \x01(\tR\x06action\x12.\n" + - "\x13previous_binding_id\x18\x06 \x01(\tR\x11previousBindingId\x122\n" + - "\x15previous_workspace_id\x18\a \x01(\tR\x13previousWorkspaceId\x12)\n" + - "\x10previous_subject\x18\b \x01(\tR\x0fpreviousSubject\"\x8b\x01\n" + - "\x0fIdentityCreated\x12\x1f\n" + - "\videntity_id\x18\x01 \x01(\tR\n" + - "identityId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + - "\asubject\x18\x04 \x01(\tR\asubject\"\x8b\x01\n" + - "\x0fIdentityDeleted\x12\x1f\n" + - "\videntity_id\x18\x01 \x01(\tR\n" + - "identityId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x1a\n" + - "\bprovider\x18\x03 \x01(\tR\bprovider\x12\x18\n" + - "\asubject\x18\x04 \x01(\tR\asubject\"\x94\x01\n" + - "\x0eBindingCreated\x12\x1d\n" + - "\n" + - "binding_id\x18\x01 \x01(\tR\tbindingId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x12\n" + - "\x04kind\x18\x03 \x01(\tR\x04kind\x12\x16\n" + - "\x06handle\x18\x04 \x01(\tR\x06handle\x12\x14\n" + - "\x05state\x18\x05 \x01(\tR\x05state\"\x99\x03\n" + - "\x0eBindingUpdated\x12\x1d\n" + - "\n" + - "binding_id\x18\x01 \x01(\tR\tbindingId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12%\n" + - "\x0echanged_fields\x18\x03 \x03(\tR\rchangedFields\x12?\n" + - "\bprevious\x18\x04 \x03(\v2#.until.BindingUpdated.PreviousEntryR\bprevious\x126\n" + - "\x05after\x18\x05 \x03(\v2 .until.BindingUpdated.AfterEntryR\x05after\x1aS\n" + - "\rPreviousEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + - "\n" + - "AfterEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"~\n" + - "\x0eBindingDeleted\x12\x1d\n" + - "\n" + - "binding_id\x18\x01 \x01(\tR\tbindingId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x12\n" + - "\x04kind\x18\x03 \x01(\tR\x04kind\x12\x16\n" + - "\x06handle\x18\x04 \x01(\tR\x06handle\"y\n" + - "\x13CredentialConnected\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\x12#\n" + - "\raccount_email\x18\x02 \x01(\tR\faccountEmail\x12!\n" + - "\fsecret_last4\x18\x03 \x01(\tR\vsecretLast4\"/\n" + - "\x11CredentialRevoked\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\"`\n" + - "\x1fWorkspaceLLMCredentialConnected\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\x12!\n" + - "\fsecret_last4\x18\x02 \x01(\tR\vsecretLast4\";\n" + - "\x1dWorkspaceLLMCredentialRevoked\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\"\xef\x01\n" + - "\x14ReviewDriveByStarted\x12\x1b\n" + - "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + - "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x05 \x01(\tR\x0eplanFriendlyId\x12.\n" + - "\x13caller_principal_id\x18\x03 \x01(\tR\x11callerPrincipalId\x12C\n" + - "\x1eassigned_reviewer_principal_id\x18\x04 \x01(\tR\x1bassignedReviewerPrincipalId\"\xb5\x01\n" + - "\n" + - "OtherEvent\x12\x16\n" + - "\x06source\x18\x01 \x01(\tR\x06source\x12\x1d\n" + - "\n" + - "event_kind\x18\x02 \x01(\tR\teventKind\x125\n" + - "\x06fields\x18\x03 \x03(\v2\x1d.until.OtherEvent.FieldsEntryR\x06fields\x1a9\n" + - "\vFieldsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x88\x01\n" + - "\x14UnknownStoredPayload\x12.\n" + - "\x13stored_payload_type\x18\x01 \x01(\tR\x11storedPayloadType\x12(\n" + - "\x10raw_payload_json\x18\x02 \x01(\fR\x0erawPayloadJson\x12\x16\n" + - "\x06reason\x18\x03 \x01(\tR\x06reason\"\xb3\x03\n" + - "\x11PullRequestOpened\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + - "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\b \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\t \x01(\tR\n" + - "baseBranch\x12\x19\n" + - "\bis_draft\x18\n" + - " \x01(\bR\aisDraft\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + - "\vlink_reason\x18\x0f \x01(\tR\n" + - "linkReasonJ\x04\b\f\x10\rJ\x04\b\r\x10\x0e\"\xd9\x03\n" + - "\x17PullRequestSynchronized\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + - "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\b \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\t \x01(\tR\n" + - "baseBranch\x12\x19\n" + - "\bis_draft\x18\n" + - " \x01(\bR\aisDraft\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x12*\n" + - "\x11previous_head_sha\x18\f \x01(\tR\x0fpreviousHeadSha\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + - "\vlink_reason\x18\x0f \x01(\tR\n" + - "linkReason\"\xf7\x05\n" + - "\x12PullRequestUpdated\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + - "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\b \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\t \x01(\tR\n" + - "baseBranch\x12\x19\n" + - "\bis_draft\x18\n" + - " \x01(\bR\aisDraft\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x12%\n" + - "\x0echanged_fields\x18\f \x03(\tR\rchangedFields\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12\x1f\n" + - "\vlink_reason\x18\x0f \x01(\tR\n" + - "linkReason\x12(\n" + - "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12C\n" + - "\bprevious\x18\x11 \x03(\v2'.until.PullRequestUpdated.PreviousEntryR\bprevious\x12:\n" + - "\x05after\x18\x12 \x03(\v2$.until.PullRequestUpdated.AfterEntryR\x05after\x1aS\n" + - "\rPreviousEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + - "\n" + - "AfterEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xe9\x03\n" + - "\x11PullRequestClosed\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + - "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\b \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\t \x01(\tR\n" + - "baseBranch\x12\x19\n" + - "\bis_draft\x18\n" + - " \x01(\bR\aisDraft\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x12\x16\n" + - "\x06merged\x18\f \x01(\bR\x06merged\x12(\n" + - "\x10merge_commit_sha\x18\r \x01(\tR\x0emergeCommitSha\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + - "\vlink_reason\x18\x0f \x01(\tR\n" + - "linkReason\"\xad\x03\n" + - "\x17PullRequestLinkedToPlan\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + - "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\b \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\t \x01(\tR\n" + - "baseBranch\x12\x19\n" + - "\bis_draft\x18\n" + - " \x01(\bR\aisDraft\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x10 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + - "\vlink_reason\x18\x0f \x01(\tR\n" + - "linkReason\"\xdf\x03\n" + - "\x1bPullRequestUnlinkedFromPlan\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + - "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\b \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\t \x01(\tR\n" + - "baseBranch\x12\x19\n" + - "\bis_draft\x18\n" + - " \x01(\bR\aisDraft\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x11 \x01(\tR\x0eplanFriendlyId\x12\x1f\n" + - "\vlink_reason\x18\x0f \x01(\tR\n" + - "linkReason\x12,\n" + - "\x12previous_plan_uuid\x18\x10 \x01(\tR\x10previousPlanUuid\"\xad\x03\n" + - "\x1bPullRequestLinkedToAgentRun\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x14\n" + - "\x05title\x18\x04 \x01(\tR\x05title\x12\x12\n" + - "\x04body\x18\x05 \x01(\tR\x04body\x12\x16\n" + - "\x06author\x18\x06 \x01(\tR\x06author\x12\x19\n" + - "\bhead_sha\x18\a \x01(\tR\aheadSha\x12\x1f\n" + - "\vhead_branch\x18\b \x01(\tR\n" + - "headBranch\x12\x1f\n" + - "\vbase_branch\x18\t \x01(\tR\n" + - "baseBranch\x12\x19\n" + - "\bis_draft\x18\n" + - " \x01(\bR\aisDraft\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x12(\n" + - "\x10linked_plan_uuid\x18\x0e \x01(\tR\x0elinkedPlanUuid\x12\x1f\n" + - "\vlink_reason\x18\x0f \x01(\tR\n" + - "linkReason\x12$\n" + - "\x0eagent_run_uuid\x18\x10 \x01(\tR\fagentRunUuid\"\xb3\x03\n" + - "\x1aPullRequestReviewRequested\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + - "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12%\n" + - "\x0erequested_team\x18\b \x01(\tR\rrequestedTeam\x12\x10\n" + - "\x03url\x18\t \x01(\tR\x03url\x12E\n" + - "\x1frequested_reviewer_principal_id\x18\n" + - " \x01(\tR\x1crequestedReviewerPrincipalId\x129\n" + - "\x19requested_reviewer_is_bot\x18\v \x01(\bR\x16requestedReviewerIsBotJ\x04\b\a\x10\bR\x12requested_reviewer\"\xe6\x03\n" + - "\x13PullRequestApproved\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + - "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12&\n" + - "\x0freviewer_is_bot\x18\b \x01(\bR\rreviewerIsBot\x12\x1b\n" + - "\treview_id\x18\t \x01(\x03R\breviewId\x12\x1b\n" + - "\tcommit_id\x18\n" + - " \x01(\tR\bcommitId\x12!\n" + - "\fsubmitted_at\x18\v \x01(\tR\vsubmittedAt\x12\x10\n" + - "\x03url\x18\f \x01(\tR\x03url\x122\n" + - "\x15reviewer_principal_id\x18\r \x01(\tR\x13reviewerPrincipalId\x122\n" + - "\x15reviewer_github_login\x18\x0e \x01(\tR\x13reviewerGithubLoginJ\x04\b\a\x10\bR\breviewer\"\xba\x03\n" + - "\x1bPullRequestChangesRequested\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + - "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12&\n" + - "\x0freviewer_is_bot\x18\b \x01(\bR\rreviewerIsBot\x12\x1b\n" + - "\treview_id\x18\t \x01(\x03R\breviewId\x12\x1b\n" + - "\tcommit_id\x18\n" + - " \x01(\tR\bcommitId\x12!\n" + - "\fsubmitted_at\x18\v \x01(\tR\vsubmittedAt\x12\x10\n" + - "\x03url\x18\f \x01(\tR\x03url\x122\n" + - "\x15reviewer_principal_id\x18\r \x01(\tR\x13reviewerPrincipalIdJ\x04\b\a\x10\bR\breviewer\"\xb9\x03\n" + - "\x1aPullRequestReviewDismissed\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + - "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\x12\x1b\n" + - "\treview_id\x18\b \x01(\x03R\breviewId\x12\x1b\n" + - "\tcommit_id\x18\t \x01(\tR\bcommitId\x12!\n" + - "\fdismissed_at\x18\n" + - " \x01(\tR\vdismissedAt\x12\x10\n" + - "\x03url\x18\v \x01(\tR\x03url\x122\n" + - "\x15reviewer_principal_id\x18\f \x01(\tR\x13reviewerPrincipalId\x12&\n" + - "\x0freviewer_is_bot\x18\r \x01(\bR\rreviewerIsBotJ\x04\b\a\x10\bR\breviewer\"\xf7\x02\n" + - "\x19PullRequestCommentCreated\x12\x13\n" + - "\x05pr_id\x18\x01 \x01(\tR\x04prId\x12$\n" + - "\x0erepo_full_name\x18\x02 \x01(\tR\frepoFullName\x12\x16\n" + - "\x06number\x18\x03 \x01(\x05R\x06number\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12(\n" + - "\x10linked_plan_uuid\x18\x05 \x01(\tR\x0elinkedPlanUuid\x12(\n" + - "\x10plan_friendly_id\x18\v \x01(\tR\x0eplanFriendlyId\x12\x1d\n" + - "\n" + - "comment_id\x18\x06 \x01(\tR\tcommentId\x12%\n" + - "\x0ecomment_source\x18\a \x01(\tR\rcommentSource\x12\x16\n" + - "\x06action\x18\b \x01(\tR\x06action\x12\x16\n" + - "\x06author\x18\t \x01(\tR\x06author\x12\"\n" + - "\rauthor_is_bot\x18\n" + - " \x01(\bR\vauthorIsBot\"\x88\x02\n" + - "\x10PlanCheckStarted\x12\"\n" + - "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12\x13\n" + - "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12\x1e\n" + - "\vloop_run_id\x18\x05 \x01(\tR\tloopRunId\x129\n" + - "\n" + - "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xb3\x01\n" + - "\x11DifferenceSummary\x12\x12\n" + - "\x04kind\x18\x01 \x01(\tR\x04kind\x12\"\n" + - "\facknowledged\x18\x02 \x01(\bR\facknowledged\x12\x1d\n" + - "\n" + - "ack_source\x18\x03 \x01(\tR\tackSource\x12\x17\n" + - "\aack_ref\x18\x04 \x01(\tR\x06ackRef\x12.\n" + - "\x13ack_reasoning_quote\x18\x05 \x01(\tR\x11ackReasoningQuote\"\xf7\x04\n" + - "\x12PlanCheckCompleted\x12\"\n" + - "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12\x13\n" + - "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\f \x01(\tR\x0eplanFriendlyId\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12j\n" + - "\x17difference_count_by_tag\x18\a \x03(\v23.until.PlanCheckCompleted.DifferenceCountByTagEntryR\x14differenceCountByTag\x12=\n" + - "\fcompleted_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12,\n" + - "\x12plan_check_outcome\x18\t \x01(\tR\x10planCheckOutcome\x12G\n" + - " applied_blocking_difference_tags\x18\n" + - " \x03(\tR\x1dappliedBlockingDifferenceTags\x12:\n" + - "\vdifferences\x18\v \x03(\v2\x18.until.DifferenceSummaryR\vdifferences\x1aG\n" + - "\x19DifferenceCountByTagEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01J\x04\b\x05\x10\x06J\x04\b\x06\x10\aR\averdictR\n" + - "summary_md\"\xfd\x01\n" + - "\x0fPlanCheckFailed\x12\"\n" + - "\rplan_check_id\x18\x01 \x01(\tR\vplanCheckId\x12\x13\n" + - "\x05pr_id\x18\x02 \x01(\tR\x04prId\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\a \x01(\tR\x0eplanFriendlyId\x12\x19\n" + - "\bhead_sha\x18\x04 \x01(\tR\aheadSha\x12\x16\n" + - "\x06reason\x18\x05 \x01(\tR\x06reason\x127\n" + - "\tfailed_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\xd3\x01\n" + - "\x16PlanDifferenceRecorded\x12,\n" + - "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + - "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + - "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x18\n" + - "\asummary\x18\x04 \x01(\tR\asummary\x12;\n" + - "\vrecorded_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "recordedAt\"\xea\x03\n" + - "\x15PlanDifferenceUpdated\x12,\n" + - "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + - "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + - "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x18\n" + - "\asummary\x18\x04 \x01(\tR\asummary\x12%\n" + - "\x0echanged_fields\x18\x05 \x03(\tR\rchangedFields\x12F\n" + - "\bprevious\x18\x06 \x03(\v2*.until.PlanDifferenceUpdated.PreviousEntryR\bprevious\x12=\n" + - "\x05after\x18\a \x03(\v2'.until.PlanDifferenceUpdated.AfterEntryR\x05after\x1aS\n" + - "\rPreviousEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1aP\n" + - "\n" + - "AfterEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12,\n" + - "\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xfe\x01\n" + - "\x16PlanDifferenceResolved\x12,\n" + - "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + - "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + - "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x16\n" + - "\x06reason\x18\x04 \x01(\tR\x06reason\x12+\n" + - "\x11resolution_commit\x18\x05 \x01(\tR\x10resolutionCommit\x12;\n" + - "\vresolved_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\n" + - "resolvedAt\"\xc1\x02\n" + - "\x1aPlanDifferenceAcknowledged\x12,\n" + - "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + - "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + - "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x12\n" + - "\x04slug\x18\x04 \x01(\tR\x04slug\x12\x1d\n" + - "\n" + - "ack_source\x18\x05 \x01(\tR\tackSource\x12\x17\n" + - "\aack_ref\x18\x06 \x01(\tR\x06ackRef\x12.\n" + - "\x13ack_reasoning_quote\x18\a \x01(\tR\x11ackReasoningQuote\x12C\n" + - "\x0facknowledged_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0eacknowledgedAt\"\xc1\x02\n" + - "$PlanDifferenceAcknowledgementCleared\x12,\n" + - "\x12plan_difference_id\x18\x01 \x01(\tR\x10planDifferenceId\x12\"\n" + - "\rplan_check_id\x18\x02 \x01(\tR\vplanCheckId\x12\x10\n" + - "\x03tag\x18\x03 \x01(\tR\x03tag\x12\x12\n" + - "\x04slug\x18\x04 \x01(\tR\x04slug\x12\x1d\n" + - "\n" + - "ack_source\x18\x05 \x01(\tR\tackSource\x12\x17\n" + - "\aack_ref\x18\x06 \x01(\tR\x06ackRef\x12.\n" + - "\x13ack_reasoning_quote\x18\a \x01(\tR\x11ackReasoningQuote\x129\n" + - "\n" + - "cleared_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tclearedAt\"\xa2\x02\n" + - "\x12AgentRunDispatched\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x1b\n" + - "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\t \x01(\tR\x0eplanFriendlyId\x12\x18\n" + - "\aattempt\x18\x03 \x01(\x05R\aattempt\x12\x18\n" + - "\aharness\x18\x04 \x01(\tR\aharness\x12\x14\n" + - "\x05model\x18\x05 \x01(\tR\x05model\x12\x16\n" + - "\x06branch\x18\x06 \x01(\tR\x06branch\x12\x1d\n" + - "\n" + - "run_handle\x18\a \x01(\tR\trunHandle\x12\x1e\n" + - "\vrun_log_url\x18\b \x01(\tR\trunLogUrl\"~\n" + - "\x0fAgentRunStarted\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x1b\n" + - "\tplan_uuid\x18\x02 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x03 \x01(\tR\x0eplanFriendlyId\"\xa2\x01\n" + - "\x1aAgentRunPullRequestMatched\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x17\n" + - "\apr_uuid\x18\x02 \x01(\tR\x06prUuid\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x9e\x01\n" + - "\x17AgentRunFlaggedNeedsYou\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x16\n" + - "\x06reason\x18\x02 \x01(\tR\x06reason\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x9a\x01\n" + - "\x12AgentRunGatePassed\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x17\n" + - "\apr_uuid\x18\x02 \x01(\tR\x06prUuid\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x96\x01\n" + - "\x0eAgentRunMerged\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x17\n" + - "\apr_uuid\x18\x02 \x01(\tR\x06prUuid\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"\x98\x01\n" + - "\x11AgentRunCancelled\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x16\n" + - "\x06reason\x18\x02 \x01(\tR\x06reason\x12\x1b\n" + - "\tplan_uuid\x18\x03 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x04 \x01(\tR\x0eplanFriendlyId\"q\n" + - "\x10AgentRunDeclined\x12\x1b\n" + - "\tplan_uuid\x18\x01 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x03 \x01(\tR\x0eplanFriendlyId\x12\x16\n" + - "\x06reason\x18\x02 \x01(\tR\x06reason\"\xe4\x01\n" + - "\x11AgentRunAnnotated\x12$\n" + - "\x0eagent_run_uuid\x18\x01 \x01(\tR\fagentRunUuid\x12\x16\n" + - "\x06signal\x18\x02 \x01(\tR\x06signal\x12.\n" + - "\x13author_principal_id\x18\x03 \x01(\tR\x11authorPrincipalId\x12\x1a\n" + - "\bprovider\x18\x04 \x01(\tR\bprovider\x12\x1b\n" + - "\tplan_uuid\x18\x05 \x01(\tR\bplanUuid\x12(\n" + - "\x10plan_friendly_id\x18\x06 \x01(\tR\x0eplanFriendlyId\"\x97\x02\n" + - "\fLoopIngested\x121\n" + - "\x15source_repo_full_name\x18\x01 \x01(\tR\x12sourceRepoFullName\x12\x1f\n" + - "\vsource_path\x18\x02 \x01(\tR\n" + - "sourcePath\x12\x1d\n" + - "\n" + - "commit_sha\x18\x03 \x01(\tR\tcommitSha\x12\x18\n" + - "\aoutcome\x18\x04 \x01(\tR\aoutcome\x12\x14\n" + - "\x05error\x18\x05 \x01(\tR\x05error\x12-\n" + - "\x10loop_external_id\x18\x06 \x01(\tH\x00R\x0eloopExternalId\x88\x01\x01\x12\x17\n" + - "\x04name\x18\a \x01(\tH\x01R\x04name\x88\x01\x01B\x13\n" + - "\x11_loop_external_idB\a\n" + - "\x05_name\"\xd8\x01\n" + - "\rLoopRunQueued\x12\x1e\n" + - "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + - "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + - "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x127\n" + - "\tqueued_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bqueuedAt\"\xdb\x01\n" + - "\x0eLoopRunStarted\x12\x1e\n" + - "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + - "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + - "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x129\n" + - "\n" + - "started_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\"\xe1\x01\n" + - "\x10LoopRunCompleted\x12\x1e\n" + - "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + - "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + - "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12=\n" + - "\fcompleted_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\"\xfd\x01\n" + - "\rLoopRunFailed\x12\x1e\n" + - "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + - "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + - "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12#\n" + - "\rerror_message\x18\x06 \x01(\tR\ferrorMessage\x127\n" + - "\tfailed_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\bfailedAt\"\x86\x02\n" + - "\x10LoopRunCancelled\x12\x1e\n" + - "\vloop_run_id\x18\x01 \x01(\tR\tloopRunId\x12\x1b\n" + - "\tloop_name\x18\x02 \x01(\tR\bloopName\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x13\n" + - "\x05pr_id\x18\x04 \x01(\tR\x04prId\x12\x19\n" + - "\bhead_sha\x18\x05 \x01(\tR\aheadSha\x12#\n" + - "\rcancel_reason\x18\x06 \x01(\tR\fcancelReason\x12=\n" + - "\fcancelled_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vcancelledAt\"\xb5\x01\n" + - "\fSlackWebhook\x12\x1f\n" + - "\vdelivery_id\x18\x01 \x01(\tR\n" + - "deliveryId\x12\x1d\n" + - "\n" + - "event_type\x18\x02 \x01(\tR\teventType\x12!\n" + - "\faccount_name\x18\x03 \x01(\tR\vaccountName\x12\x17\n" + - "\ateam_id\x18\x04 \x01(\tR\x06teamId\x12)\n" + - "\revent_payload\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\"\xe9\x01\n" + - "\rLinearWebhook\x12\x1f\n" + - "\vdelivery_id\x18\x01 \x01(\tR\n" + - "deliveryId\x12\x1d\n" + - "\n" + - "event_type\x18\x02 \x01(\tR\teventType\x12!\n" + - "\fevent_action\x18\x03 \x01(\tR\veventAction\x12!\n" + - "\faccount_name\x18\x04 \x01(\tR\vaccountName\x12'\n" + - "\x0forganization_id\x18\x05 \x01(\tR\x0eorganizationId\x12)\n" + - "\revent_payload\x18\x06 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\"\xd8\x01\n" + - "\x16ComposioTriggerMessage\x12\x1f\n" + - "\vdelivery_id\x18\x01 \x01(\tR\n" + - "deliveryId\x12!\n" + - "\ftrigger_slug\x18\x02 \x01(\tR\vtriggerSlug\x12\x1d\n" + - "\n" + - "trigger_id\x18\x03 \x01(\tR\ttriggerId\x120\n" + - "\x14connected_account_id\x18\x04 \x01(\tR\x12connectedAccountId\x12)\n" + - "\revent_payload\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\"z\n" + - "\rGitHubWebhook\x12\x1f\n" + - "\vdelivery_id\x18\x01 \x01(\tR\n" + - "deliveryId\x12)\n" + - "\revent_payload\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\x12\x1d\n" + - "\n" + - "event_type\x18\x03 \x01(\tR\teventType\"\xb0\x01\n" + - "\rGitLabWebhook\x12\x1f\n" + - "\vdelivery_id\x18\x01 \x01(\tR\n" + - "deliveryId\x12)\n" + - "\revent_payload\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\x12\x1d\n" + - "\n" + - "event_type\x18\x03 \x01(\tR\teventType\x124\n" + - "\x16account_integration_id\x18\x04 \x01(\x03R\x14accountIntegrationId\"\xb3\x01\n" + - "\x10BitbucketWebhook\x12\x1f\n" + - "\vdelivery_id\x18\x01 \x01(\tR\n" + - "deliveryId\x12)\n" + - "\revent_payload\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\feventPayload\x12\x1d\n" + - "\n" + - "event_type\x18\x03 \x01(\tR\teventType\x124\n" + - "\x16account_integration_id\x18\x04 \x01(\x03R\x14accountIntegrationId\"J\n" + - "\x16EmbeddedJsonCELFixture\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12 \n" + - "\bdocument\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\bdocument\"\x88\x02\n" + - "\x14SlackMentionReceived\x12\x17\n" + - "\ateam_id\x18\x01 \x01(\tR\x06teamId\x12\x1d\n" + - "\n" + - "channel_id\x18\x02 \x01(\tR\tchannelId\x12!\n" + - "\fchannel_name\x18\x03 \x01(\tR\vchannelName\x12\x17\n" + - "\auser_id\x18\x04 \x01(\tR\x06userId\x12\x1d\n" + - "\n" + - "message_ts\x18\x05 \x01(\tR\tmessageTs\x12\x12\n" + - "\x04text\x18\x06 \x01(\tR\x04text\x12\x1b\n" + - "\tthread_ts\x18\a \x01(\tR\bthreadTs\x12,\n" + - "\x12mentioned_user_ids\x18\b \x03(\tR\x10mentionedUserIds\"\xa9\x01\n" + - "#OrganisationAppInstallationUpserted\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\x122\n" + - "\x15external_workspace_id\x18\x02 \x01(\tR\x13externalWorkspaceId\x122\n" + - "\x15external_principal_id\x18\x03 \x01(\tR\x13externalPrincipalId\"t\n" + - "\"OrganisationAppInstallationDeleted\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\x122\n" + - "\x15external_principal_id\x18\x02 \x01(\tR\x13externalPrincipalId\"\xc2\x01\n" + - "\x12SlackReactionAdded\x12\x17\n" + - "\ateam_id\x18\x01 \x01(\tR\x06teamId\x12\x1d\n" + - "\n" + - "channel_id\x18\x02 \x01(\tR\tchannelId\x12\x17\n" + - "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x1d\n" + - "\n" + - "message_ts\x18\x04 \x01(\tR\tmessageTs\x12\x1a\n" + - "\breaction\x18\x05 \x01(\tR\breaction\x12 \n" + - "\fitem_user_id\x18\x06 \x01(\tR\n" + - "itemUserId\"5\n" + - "\x10ListLoopsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"=\n" + - "\x11ListLoopsResponse\x12(\n" + - "\x05loops\x18\x01 \x03(\v2\x12.until.LoopSummaryR\x05loops\"\xbf\x03\n" + - "\vLoopSummary\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + - "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + - "\vdescription\x18\x04 \x01(\tR\vdescription\x121\n" + - "\x15source_repo_full_name\x18\x05 \x01(\tR\x12sourceRepoFullName\x12\x1f\n" + - "\vsource_path\x18\x06 \x01(\tR\n" + - "sourcePath\x12*\n" + - "\x11source_commit_sha\x18\a \x01(\tR\x0fsourceCommitSha\x129\n" + - "\n" + - "created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" + - "\x06status\x18\n" + - " \x01(\tR\x06status\x12#\n" + - "\rerror_message\x18\v \x01(\tR\ferrorMessage\x12\x14\n" + - "\x05model\x18\f \x01(\tR\x05model\" \n" + - "\x0eGetLoopRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"2\n" + - "\x0fGetLoopResponse\x12\x1f\n" + - "\x04loop\x18\x01 \x01(\v2\v.until.LoopR\x04loop\"\xf6\x03\n" + - "\x04Loop\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + - "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + - "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x17\n" + - "\aon_yaml\x18\x05 \x01(\tR\x06onYaml\x12#\n" + - "\rbody_template\x18\x06 \x01(\tR\fbodyTemplate\x121\n" + - "\x15source_repo_full_name\x18\a \x01(\tR\x12sourceRepoFullName\x12\x1f\n" + - "\vsource_path\x18\b \x01(\tR\n" + - "sourcePath\x12*\n" + - "\x11source_commit_sha\x18\t \x01(\tR\x0fsourceCommitSha\x129\n" + - "\n" + - "created_at\x18\n" + - " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" + - "\x06status\x18\f \x01(\tR\x06status\x12#\n" + - "\rerror_message\x18\r \x01(\tR\ferrorMessage\x12\x14\n" + - "\x05model\x18\x0e \x01(\tR\x05model\"\xa6\x01\n" + - "\x13ListLoopRunsRequest\x12\x1b\n" + - "\tloop_name\x18\x01 \x01(\tR\bloopName\x12\x14\n" + - "\x05limit\x18\x02 \x01(\rR\x05limit\x12!\n" + - "\fafter_cursor\x18\x03 \x01(\tR\vafterCursor\x12\x16\n" + - "\x06status\x18\x04 \x01(\tR\x06status\x12!\n" + - "\faccount_name\x18\x05 \x01(\tR\vaccountName\"b\n" + - "\x14ListLoopRunsResponse\x12)\n" + - "\x04runs\x18\x01 \x03(\v2\x15.until.LoopRunSummaryR\x04runs\x12\x1f\n" + - "\vnext_cursor\x18\x02 \x01(\tR\n" + - "nextCursor\"\xc5\t\n" + - "\x0eLoopRunSummary\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + - "\x04name\x18\x04 \x01(\tR\x04name\x12 \n" + - "\vdescription\x18\x05 \x01(\tR\vdescription\x12\x16\n" + - "\x06status\x18\x06 \x01(\tR\x06status\x12!\n" + - "\ftrigger_kind\x18\a \x01(\tR\vtriggerKind\x12-\n" + - "\x10plan_friendly_id\x18\b \x01(\tH\x00R\x0eplanFriendlyId\x88\x01\x01\x12 \n" + - "\treview_id\x18\t \x01(\tH\x01R\breviewId\x88\x01\x01\x12(\n" + - "\rerror_message\x18\v \x01(\tH\x02R\ferrorMessage\x88\x01\x01\x122\n" + - "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x123\n" + - "\x16loop_source_commit_sha\x18\r \x01(\tR\x13loopSourceCommitSha\x12>\n" + - "\n" + - "started_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampH\x03R\tstartedAt\x88\x01\x01\x12B\n" + - "\fcompleted_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\x04R\vcompletedAt\x88\x01\x01\x129\n" + - "\n" + - "created_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\"\n" + - "\n" + - "thread_key\x18\x12 \x01(\tH\x05R\tthreadKey\x88\x01\x01\x120\n" + - "\x14previous_response_id\x18\x13 \x01(\tR\x12previousResponseId\x122\n" + - "\x13resumed_from_run_id\x18\x14 \x01(\tH\x06R\x10resumedFromRunId\x88\x01\x01\x12 \n" + - "\tplan_uuid\x18\x15 \x01(\tH\aR\bplanUuid\x88\x01\x01\x12\x1c\n" + - "\aloop_id\x18\x16 \x01(\tH\bR\x06loopId\x88\x01\x01\x12\x18\n" + - "\x05pr_id\x18\x17 \x01(\tH\tR\x04prId\x88\x01\x01\x12.\n" + - "\x11pr_repo_full_name\x18\x18 \x01(\tH\n" + - "R\x0eprRepoFullName\x88\x01\x01\x12 \n" + - "\tpr_number\x18\x19 \x01(\x05H\vR\bprNumber\x88\x01\x01\x12\x14\n" + - "\x05model\x18\x1a \x01(\tR\x05modelB\x13\n" + - "\x11_plan_friendly_idB\f\n" + - "\n" + - "_review_idB\x10\n" + - "\x0e_error_messageB\r\n" + - "\v_started_atB\x0f\n" + - "\r_completed_atB\r\n" + - "\v_thread_keyB\x16\n" + - "\x14_resumed_from_run_idB\f\n" + - "\n" + - "_plan_uuidB\n" + - "\n" + - "\b_loop_idB\b\n" + - "\x06_pr_idB\x14\n" + - "\x12_pr_repo_full_nameB\f\n" + - "\n" + - "_pr_numberJ\x04\b\x03\x10\x04J\x04\b\n" + - "\x10\vR\rworkflow_kindR\x06pr_key\"#\n" + - "\x11GetLoopRunRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"0\n" + - "\x1eGetLoopRunThreadHistoryRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"q\n" + - "\x14LoopRunThreadSegment\x12'\n" + - "\x03run\x18\x01 \x01(\v2\x15.until.LoopRunSummaryR\x03run\x120\n" + - "\x05steps\x18\x02 \x03(\v2\x1a.until.ExecuteLoopResponseR\x05steps\"x\n" + - "\x1fGetLoopRunThreadHistoryResponse\x127\n" + - "\bsegments\x18\x01 \x03(\v2\x1b.until.LoopRunThreadSegmentR\bsegments\x12\x1c\n" + - "\ttruncated\x18\x02 \x01(\bR\ttruncated\"l\n" + - "\x12GetLoopRunResponse\x12 \n" + - "\x03run\x18\x01 \x01(\v2\x0e.until.LoopRunR\x03run\x12+\n" + - "\x04loop\x18\x02 \x01(\v2\x12.until.LoopSummaryH\x00R\x04loop\x88\x01\x01B\a\n" + - "\x05_loop\"\xa1\n" + - "\n" + - "\aLoopRun\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + - "\x04name\x18\x04 \x01(\tR\x04name\x12 \n" + - "\vdescription\x18\x05 \x01(\tR\vdescription\x12\x16\n" + - "\x06status\x18\x06 \x01(\tR\x06status\x12!\n" + - "\ftrigger_kind\x18\a \x01(\tR\vtriggerKind\x12-\n" + - "\x10plan_friendly_id\x18\b \x01(\tH\x00R\x0eplanFriendlyId\x88\x01\x01\x12 \n" + - "\treview_id\x18\t \x01(\tH\x01R\breviewId\x88\x01\x01\x12(\n" + - "\rerror_message\x18\v \x01(\tH\x02R\ferrorMessage\x88\x01\x01\x122\n" + - "\x15triggering_event_type\x18\f \x01(\tR\x13triggeringEventType\x123\n" + - "\x16loop_source_commit_sha\x18\r \x01(\tR\x13loopSourceCommitSha\x12>\n" + - "\n" + - "started_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampH\x03R\tstartedAt\x88\x01\x01\x12B\n" + - "\fcompleted_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\x04R\vcompletedAt\x88\x01\x01\x129\n" + - "\n" + - "created_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" + - "\x06prompt\x18\x12 \x01(\tR\x06prompt\x12#\n" + - "\rbrent_version\x18\x14 \x01(\tR\fbrentVersion\x12\x1f\n" + - "\vresponse_id\x18\x15 \x01(\tR\n" + - "responseId\x12)\n" + - "\x10cancel_requested\x18\x16 \x01(\bR\x0fcancelRequested\x12K\n" + - "\x18triggering_event_payload\x18\x17 \x01(\v2\f.until.EventH\x05R\x16triggeringEventPayload\x88\x01\x01\x12\"\n" + - "\n" + - "thread_key\x18\x18 \x01(\tH\x06R\tthreadKey\x88\x01\x01\x120\n" + - "\x14previous_response_id\x18\x19 \x01(\tR\x12previousResponseId\x122\n" + - "\x13resumed_from_run_id\x18\x1a \x01(\tH\aR\x10resumedFromRunId\x88\x01\x01\x12 \n" + - "\tplan_uuid\x18\x1b \x01(\tH\bR\bplanUuid\x88\x01\x01\x12\x18\n" + - "\x05pr_id\x18\x1c \x01(\tH\tR\x04prId\x88\x01\x01\x12\x14\n" + - "\x05model\x18\x1d \x01(\tR\x05modelB\x13\n" + - "\x11_plan_friendly_idB\f\n" + - "\n" + - "_review_idB\x10\n" + - "\x0e_error_messageB\r\n" + - "\v_started_atB\x0f\n" + - "\r_completed_atB\x1b\n" + - "\x19_triggering_event_payloadB\r\n" + - "\v_thread_keyB\x16\n" + - "\x14_resumed_from_run_idB\f\n" + - "\n" + - "_plan_uuidB\b\n" + - "\x06_pr_idJ\x04\b\x03\x10\x04J\x04\b\n" + - "\x10\vJ\x04\b\x13\x10\x14R\rworkflow_kindR\x06pr_keyR\bhead_sha\"\x1b\n" + - "\x19GetPrincipalStatusRequest\"\xe5\x01\n" + - "\x1aGetPrincipalStatusResponse\x121\n" + - "\x05state\x18\x01 \x01(\x0e2\x1b.until.PrincipalStatusStateR\x05state\x123\n" + - "\tprincipal\x18\x02 \x01(\v2\x10.until.PrincipalH\x00R\tprincipal\x88\x01\x01\x12<\n" + - "\fintegrations\x18\x03 \x03(\v2\x18.until.IntegrationStatusR\fintegrationsB\f\n" + - "\n" + - "_principalJ\x04\b\x04\x10\x05R\rpreferred_ide\"\xb0\x01\n" + - "\x1fGetIntegrationConnectURLRequest\x126\n" + - "\bprovider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x120\n" + - "\x06intent\x18\x02 \x01(\x0e2\x18.until.IntegrationIntentR\x06intent\x12#\n" + - "\rinstance_slug\x18\x03 \x01(\tR\finstanceSlug\"4\n" + - " GetIntegrationConnectURLResponse\x12\x10\n" + - "\x03url\x18\x01 \x01(\tR\x03url\"\x9c\x01\n" + - "\x1cDisconnectIntegrationRequest\x126\n" + - "\bprovider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x12#\n" + - "\rinstance_slug\x18\x02 \x01(\tR\finstanceSlug\x12\x1f\n" + - "\vinstance_id\x18\x03 \x01(\tR\n" + - "instanceId\"\x1f\n" + - "\x1dDisconnectIntegrationResponse\"\xd5\x01\n" + - "\x18ConnectByoHttpMcpRequest\x12\x1a\n" + - "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12!\n" + - "\fbearer_token\x18\x02 \x01(\tR\vbearerToken\x12\"\n" + - "\rca_bundle_pem\x18\x03 \x01(\tR\vcaBundlePem\x12&\n" + - "\x0foauth_client_id\x18\x04 \x01(\tR\roauthClientId\x12.\n" + - "\x13oauth_client_secret\x18\x05 \x01(\tR\x11oauthClientSecret\"\x7f\n" + - "\x19ConnectByoHttpMcpResponse\x122\n" + - "\x15discovered_tool_count\x18\x01 \x01(\rR\x13discoveredToolCount\x12.\n" + - "\x13oauth_authorize_url\x18\x02 \x01(\tR\x11oauthAuthorizeUrl\"\x1c\n" + - "\x1aGetGitLabConnectionRequest\"\x95\x01\n" + - "\x1bGetGitLabConnectionResponse\x12\x1c\n" + - "\tconnected\x18\x01 \x01(\bR\tconnected\x12\x19\n" + - "\bbase_url\x18\x02 \x01(\tR\abaseUrl\x12=\n" + - "\fconnected_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vconnectedAt\"T\n" + - "\x14ConnectGitLabRequest\x12\x19\n" + - "\bbase_url\x18\x01 \x01(\tR\abaseUrl\x12!\n" + - "\faccess_token\x18\x02 \x01(\tR\vaccessToken\"_\n" + - "\x15ConnectGitLabResponse\x12\x1f\n" + - "\vwebhook_url\x18\x01 \x01(\tR\n" + - "webhookUrl\x12%\n" + - "\x0ewebhook_secret\x18\x02 \x01(\tR\rwebhookSecret\"D\n" + - "\x1dSaveGitLabSigningTokenRequest\x12#\n" + - "\rsigning_token\x18\x01 \x01(\tR\fsigningToken\" \n" + - "\x1eSaveGitLabSigningTokenResponse\"\xaa\x01\n" + - "\x14GitHubPendingInstall\x12\x19\n" + - "\borg_name\x18\x01 \x01(\tR\aorgName\x12\x15\n" + - "\x06org_id\x18\x02 \x01(\x03R\x05orgId\x12=\n" + - "\frequested_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12!\n" + - "\frequested_by\x18\x04 \x01(\tR\vrequestedBy\"\xc2\x03\n" + - "\x11IntegrationStatus\x126\n" + - "\bprovider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x12#\n" + - "\rorg_installed\x18\x02 \x01(\bR\forgInstalled\x12\x1d\n" + - "\n" + - "user_bound\x18\x03 \x01(\bR\tuserBound\x12B\n" + - "\x0egithub_pending\x18\x04 \x03(\v2\x1b.until.GitHubPendingInstallR\rgithubPending\x12=\n" + - "\fconnected_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\vconnectedAt\x12\x1d\n" + - "\n" + - "manage_url\x18\x06 \x01(\tR\tmanageUrl\x12F\n" + - "\x06status\x18\a \x01(\x0e2\".until.IntegrationConnectionStatusB\n" + - "\xbaH\a\x82\x01\x04\x10\x01 \x00R\x06status\x12#\n" + - "\asummary\x18\b \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\asummary\x12\"\n" + - "\x06detail\x18\t \x01(\tB\n" + - "\xbaH\ar\x05\x10\x01\x18\xa0\x01R\x06detail\"%\n" + - "#GetWorkspaceIntegrationRolesRequest\"\xbf\x01\n" + - "$GetWorkspaceIntegrationRolesResponse\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProvider\x12$\n" + - "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\x98\x01\n" + - "#SetWorkspaceIntegrationRolesRequest\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProviderJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xbf\x01\n" + - "$SetWorkspaceIntegrationRolesResponse\x12=\n" + - "\fgit_provider\x18\x01 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProvider\x12$\n" + - "\x0egit_manage_url\x18\x04 \x01(\tR\fgitManageUrlJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04R\x12ticketing_providerR\x12messaging_provider\"\xca\x02\n" + - "\tPrincipal\x12\x1f\n" + - "\vexternal_id\x18\x01 \x01(\tR\n" + - "externalId\x12!\n" + - "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + - "\x04kind\x18\x03 \x01(\tR\x04kind\x12\x16\n" + - "\x06status\x18\x04 \x01(\tR\x06status\x12!\n" + - "\fdisplay_name\x18\x05 \x01(\tR\vdisplayName\x129\n" + - "\n" + - "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12$\n" + - "\vpicture_url\x18\b \x01(\tH\x00R\n" + - "pictureUrl\x88\x01\x01B\x0e\n" + - "\f_picture_url\"\xbf\x02\n" + - "\tWorkspace\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + - "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + - "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x12\n" + - "\x04role\x18\x04 \x01(\tR\x04role\x12$\n" + - "\vpicture_url\x18\x05 \x01(\tH\x00R\n" + - "pictureUrl\x88\x01\x01\x12$\n" + - "\vtheme_color\x18\x06 \x01(\tH\x01R\n" + - "themeColor\x88\x01\x01\x121\n" + - "\x14onboarding_completed\x18\a \x01(\bR\x13onboardingCompleted\x12%\n" + - "\x0eprevious_slugs\x18\b \x03(\tR\rpreviousSlugsB\x0e\n" + - "\f_picture_urlB\x0e\n" + - "\f_theme_color\";\n" + - "\x16CreateWorkspaceRequest\x12!\n" + - "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"I\n" + - "\x17CreateWorkspaceResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"\x19\n" + - "\x17ListMyWorkspacesRequest\"L\n" + - "\x18ListMyWorkspacesResponse\x120\n" + - "\n" + - "workspaces\x18\x01 \x03(\v2\x10.until.WorkspaceR\n" + - "workspaces\"(\n" + - "&DiscoverLoginRecoveryCandidatesRequest\"\xab\x01\n" + - "\x16LoginRecoveryCandidate\x120\n" + - "\bprovider\x18\x01 \x01(\x0e2\x14.until.LoginProviderR\bprovider\x12)\n" + - "\x10auth0_connection\x18\x02 \x01(\tR\x0fauth0Connection\x124\n" + - "\x16active_workspace_count\x18\x03 \x01(\rR\x14activeWorkspaceCount\"\xab\x01\n" + - "'DiscoverLoginRecoveryCandidatesResponse\x12A\n" + - "\x11arriving_provider\x18\x01 \x01(\x0e2\x14.until.LoginProviderR\x10arrivingProvider\x12=\n" + - "\n" + - "candidates\x18\x02 \x03(\v2\x1d.until.LoginRecoveryCandidateR\n" + - "candidates\";\n" + - "\x16RenameWorkspaceRequest\x12!\n" + - "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"I\n" + - "\x17RenameWorkspaceResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\";\n" + - "\x16DeleteWorkspaceRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"\x19\n" + - "\x17DeleteWorkspaceResponse\"\x1f\n" + - "\x1dListJoinableWorkspacesRequest\"Z\n" + - "\x1eListJoinableWorkspacesResponse\x128\n" + - "\n" + - "workspaces\x18\x01 \x03(\v2\x18.until.JoinableWorkspaceR\n" + - "workspaces\"\x9d\x03\n" + - "\x11JoinableWorkspace\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x12\n" + - "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + - "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12$\n" + - "\vpicture_url\x18\x04 \x01(\tH\x00R\n" + - "pictureUrl\x88\x01\x01\x129\n" + - "\n" + - "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12&\n" + - "\x0fcreated_by_name\x18\x06 \x01(\tR\rcreatedByName\x12G\n" + - "\x0fmember_previews\x18\a \x03(\v2\x1e.until.JoinableWorkspaceMemberR\x0ememberPreviews\x12!\n" + - "\fmember_count\x18\b \x01(\rR\vmemberCount\x12)\n" + - "\x06source\x18\t \x01(\x0e2\x11.until.JoinSourceR\x06sourceB\x0e\n" + - "\f_picture_url\"r\n" + - "\x17JoinableWorkspaceMember\x12!\n" + - "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12$\n" + - "\vpicture_url\x18\x02 \x01(\tH\x00R\n" + - "pictureUrl\x88\x01\x01B\x0e\n" + - "\f_picture_url\"9\n" + - "\x14JoinWorkspaceRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"G\n" + - "\x15JoinWorkspaceResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"\xe7\x01\n" + - "\x13ApprovedEmailDomain\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + - "\x06domain\x18\x02 \x01(\tR\x06domain\x12\x1a\n" + - "\bverified\x18\x03 \x01(\bR\bverified\x12\"\n" + - "\radded_by_name\x18\x04 \x01(\tR\vaddedByName\x129\n" + - "\n" + - "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12-\n" + - "\x12verification_email\x18\x06 \x01(\tR\x11verificationEmail\"!\n" + - "\x1fListApprovedEmailDomainsRequest\"X\n" + - " ListApprovedEmailDomainsResponse\x124\n" + - "\adomains\x18\x01 \x03(\v2\x1a.until.ApprovedEmailDomainR\adomains\"f\n" + - "\x1dAddApprovedEmailDomainRequest\x12\x16\n" + - "\x06domain\x18\x01 \x01(\tR\x06domain\x12-\n" + - "\x12verification_email\x18\x02 \x01(\tR\x11verificationEmail\"T\n" + - "\x1eAddApprovedEmailDomainResponse\x122\n" + - "\x06domain\x18\x01 \x01(\v2\x1a.until.ApprovedEmailDomainR\x06domain\"F\n" + - " VerifyApprovedEmailDomainRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + - "\x04code\x18\x02 \x01(\tR\x04code\"W\n" + - "!VerifyApprovedEmailDomainResponse\x122\n" + - "\x06domain\x18\x01 \x01(\v2\x1a.until.ApprovedEmailDomainR\x06domain\"6\n" + - "$ResendApprovedEmailDomainCodeRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"'\n" + - "%ResendApprovedEmailDomainCodeResponse\" \n" + - "\x1eResendVerificationEmailRequest\"!\n" + - "\x1fResendVerificationEmailResponse\"2\n" + - " DeleteApprovedEmailDomainRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\tR\x02id\"#\n" + - "!DeleteApprovedEmailDomainResponse\"\xfe\x01\n" + - "\x1cWorkspaceLLMCredentialStatus\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x1c\n" + - "\tconnected\x18\x02 \x01(\bR\tconnected\x12!\n" + - "\fsecret_last4\x18\x03 \x01(\tR\vsecretLast4\x12F\n" + - "\x11last_validated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastValidatedAt\x129\n" + - "\n" + - "updated_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"D\n" + - "&GetWorkspaceLLMCredentialStatusRequest\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\"f\n" + - "'GetWorkspaceLLMCredentialStatusResponse\x12;\n" + - "\x06status\x18\x01 \x01(\v2#.until.WorkspaceLLMCredentialStatusR\x06status\"V\n" + - " SetWorkspaceLLMCredentialRequest\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x16\n" + - "\x06secret\x18\x02 \x01(\tR\x06secret\"\x8f\x01\n" + - "!SetWorkspaceLLMCredentialResponse\x12;\n" + - "\x06status\x18\x01 \x01(\v2#.until.WorkspaceLLMCredentialStatusR\x06status\x12-\n" + - "\x12validation_warning\x18\x02 \x01(\tR\x11validationWarning\"A\n" + - "#DeleteWorkspaceLLMCredentialRequest\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\"&\n" + - "$DeleteWorkspaceLLMCredentialResponse\"\xa3\x01\n" + - "\x18MyCursorCredentialStatus\x12\x1c\n" + - "\tconnected\x18\x01 \x01(\bR\tconnected\x12!\n" + - "\fsecret_last4\x18\x02 \x01(\tR\vsecretLast4\x12F\n" + - "\x11last_validated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastValidatedAt\"$\n" + - "\"GetMyCursorCredentialStatusRequest\"^\n" + - "#GetMyCursorCredentialStatusResponse\x127\n" + - "\x06status\x18\x01 \x01(\v2\x1f.until.MyCursorCredentialStatusR\x06status\"6\n" + - "\x1cSetMyCursorCredentialRequest\x12\x16\n" + - "\x06secret\x18\x01 \x01(\tR\x06secret\"X\n" + - "\x1dSetMyCursorCredentialResponse\x127\n" + - "\x06status\x18\x01 \x01(\v2\x1f.until.MyCursorCredentialStatusR\x06status\"!\n" + - "\x1fDeleteMyCursorCredentialRequest\"\"\n" + - " DeleteMyCursorCredentialResponse\"A\n" + - "\x1eUpdateWorkspaceBrandingRequest\x12\x1f\n" + - "\vtheme_color\x18\x01 \x01(\tR\n" + - "themeColor\"Q\n" + - "\x1fUpdateWorkspaceBrandingResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"G\n" + - "\"CompleteWorkspaceOnboardingRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"U\n" + - "#CompleteWorkspaceOnboardingResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"f\n" + - "\x17CreateInvitationRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x14\n" + - "\x05email\x18\x02 \x01(\tR\x05email\x12\x12\n" + - "\x04role\x18\x03 \x01(\tR\x04role\"\xad\x01\n" + - "\x18CreateInvitationResponse\x12\x1d\n" + - "\n" + - "accept_url\x18\x01 \x01(\tR\tacceptUrl\x12#\n" + - "\rinvited_email\x18\x02 \x01(\tR\finvitedEmail\x12\x12\n" + - "\x04role\x18\x03 \x01(\tR\x04role\x129\n" + - "\n" + - "expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"i\n" + - "\x18CreateInvitationsRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12\x16\n" + - "\x06emails\x18\x02 \x03(\tR\x06emails\x12\x12\n" + - "\x04role\x18\x03 \x01(\tR\x04role\"\xa3\x01\n" + - "\x10InvitationResult\x12\x14\n" + - "\x05email\x18\x01 \x01(\tR\x05email\x125\n" + - "\x06status\x18\x02 \x01(\x0e2\x1d.until.InvitationResultStatusR\x06status\x12\x1d\n" + - "\n" + - "accept_url\x18\x03 \x01(\tR\tacceptUrl\x12#\n" + - "\rerror_message\x18\x04 \x01(\tR\ferrorMessage\"N\n" + - "\x19CreateInvitationsResponse\x121\n" + - "\aresults\x18\x01 \x03(\v2\x17.until.InvitationResultR\aresults\"/\n" + - "\x17AcceptInvitationRequest\x12\x14\n" + - "\x05token\x18\x01 \x01(\tR\x05token\"J\n" + - "\x18AcceptInvitationResponse\x12.\n" + - "\tworkspace\x18\x01 \x01(\v2\x10.until.WorkspaceR\tworkspace\"@\n" + - "\x1bListWorkspaceMembersRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\"P\n" + - "\x1cListWorkspaceMembersResponse\x120\n" + - "\amembers\x18\x01 \x03(\v2\x16.until.WorkspaceMemberR\amembers\"\x86\x02\n" + - "\x0fWorkspaceMember\x12!\n" + - "\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12!\n" + - "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x14\n" + - "\x05email\x18\x03 \x01(\tR\x05email\x12\x12\n" + - "\x04role\x18\x04 \x01(\tR\x04role\x12\x1a\n" + - "\x06status\x18\x05 \x01(\tB\x02\x18\x01R\x06status\x121\n" + - "\x05state\x18\x06 \x01(\x0e2\x1b.until.WorkspaceMemberStateR\x05state\x12$\n" + - "\vpicture_url\x18\a \x01(\tH\x00R\n" + - "pictureUrl\x88\x01\x01B\x0e\n" + - "\f_picture_url\"_\n" + - "\x17ResendInvitationRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\"t\n" + - "\x18ResendInvitationResponse\x12\x1d\n" + - "\n" + - "accept_url\x18\x01 \x01(\tR\tacceptUrl\x129\n" + - "\n" + - "expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"_\n" + - "\x17RevokeInvitationRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\"\x1a\n" + - "\x18RevokeInvitationResponse\"d\n" + - "\x1cRemoveWorkspaceMemberRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\"\x1f\n" + - "\x1dRemoveWorkspaceMemberResponse\"|\n" + - " UpdateWorkspaceMemberRoleRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12!\n" + - "\fprincipal_id\x18\x02 \x01(\tR\vprincipalId\x12\x12\n" + - "\x04role\x18\x03 \x01(\tR\x04role\"#\n" + - "!UpdateWorkspaceMemberRoleResponse\",\n" + - "\x14GetInvitationRequest\x12\x14\n" + - "\x05token\x18\x01 \x01(\tR\x05token\"\xc9\x02\n" + - "\x15GetInvitationResponse\x12/\n" + - "\x06status\x18\x01 \x01(\x0e2\x17.until.InvitationStatusR\x06status\x12!\n" + - "\fworkspace_id\x18\x02 \x01(\tR\vworkspaceId\x12\x12\n" + - "\x04slug\x18\x03 \x01(\tR\x04slug\x124\n" + - "\x16workspace_display_name\x18\x04 \x01(\tR\x14workspaceDisplayName\x12$\n" + - "\vpicture_url\x18\x05 \x01(\tH\x00R\n" + - "pictureUrl\x88\x01\x01\x12#\n" + - "\rinviter_email\x18\x06 \x01(\tR\finviterEmail\x12#\n" + - "\rinvited_email\x18\a \x01(\tR\finvitedEmail\x12\x12\n" + - "\x04role\x18\b \x01(\tR\x04roleB\x0e\n" + - "\f_picture_url\"h\n" + - "\x1eUpsertMyVerifiedBindingRequest\x12\x1a\n" + - "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x16\n" + - "\x06handle\x18\x02 \x01(\tR\x06handleJ\x04\b\x03\x10\x04R\fcapabilities\"K\n" + - "\x1fUpsertMyVerifiedBindingResponse\x12(\n" + - "\abinding\x18\x01 \x01(\v2\x0e.until.BindingR\abinding\"?\n" + - "\x1aUpdateMyDisplayNameRequest\x12!\n" + - "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\"M\n" + - "\x1bUpdateMyDisplayNameResponse\x12.\n" + - "\tprincipal\x18\x01 \x01(\v2\x10.until.PrincipalR\tprincipal\"\x17\n" + - "\x15ListMyBindingsRequest\"D\n" + - "\x16ListMyBindingsResponse\x12*\n" + - "\bbindings\x18\x01 \x03(\v2\x0e.until.BindingR\bbindings\"\xc7\x01\n" + - "\x17NotificationPreferences\x12Q\n" + - "\vpreferences\x18\x01 \x03(\v2/.until.NotificationPreferences.PreferencesEntryR\vpreferences\x1aY\n" + - "\x10PreferencesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12/\n" + - "\x05value\x18\x02 \x01(\v2\x19.until.ChannelPreferencesR\x05value:\x028\x01\"\x96\x01\n" + - "\x12ChannelPreferences\x12C\n" + - "\bchannels\x18\x01 \x03(\v2'.until.ChannelPreferences.ChannelsEntryR\bchannels\x1a;\n" + - "\rChannelsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"%\n" + - "#GetMyNotificationPreferencesRequest\"h\n" + - "$GetMyNotificationPreferencesResponse\x12@\n" + - "\vpreferences\x18\x01 \x01(\v2\x1e.until.NotificationPreferencesR\vpreferences\"j\n" + - "&UpdateMyNotificationPreferencesRequest\x12@\n" + - "\vpreferences\x18\x01 \x01(\v2\x1e.until.NotificationPreferencesR\vpreferences\"k\n" + - "'UpdateMyNotificationPreferencesResponse\x12@\n" + - "\vpreferences\x18\x01 \x01(\v2\x1e.until.NotificationPreferencesR\vpreferences\"k\n" + - "!RegisterMyPushSubscriptionRequest\x12\x1a\n" + - "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\x16\n" + - "\x06p256dh\x18\x02 \x01(\tR\x06p256dh\x12\x12\n" + - "\x04auth\x18\x03 \x01(\tR\x04auth\"$\n" + - "\"RegisterMyPushSubscriptionResponse\"\x1c\n" + - "\x1aGetWebPushPublicKeyRequest\"<\n" + - "\x1bGetWebPushPublicKeyResponse\x12\x1d\n" + - "\n" + - "public_key\x18\x01 \x01(\tR\tpublicKey\"\x98\x02\n" + - "\aBinding\x12\x1f\n" + - "\vexternal_id\x18\x01 \x01(\tR\n" + - "externalId\x12\x1a\n" + - "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x16\n" + - "\x06handle\x18\x03 \x01(\tR\x06handle\x12\x14\n" + - "\x05state\x18\x04 \x01(\tR\x05state\x129\n" + - "\n" + - "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + - "\n" + - "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x18\n" + - "\asubject\x18\b \x01(\tR\asubjectJ\x04\b\x05\x10\x06R\fcapabilities\"3\n" + - "\x1bBlockingDifferenceTagsPatch\x12\x14\n" + - "\x05kinds\x18\x01 \x03(\tR\x05kinds\"@\n" + - "\x1bGetPlanCheckSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\x90\x02\n" + - "\x1cGetPlanCheckSettingsResponse\x128\n" + - "\x18blocking_difference_tags\x18\x01 \x03(\tR\x16blockingDifferenceTags\x12L\n" + - "#blocking_difference_tags_updated_by\x18\x02 \x01(\tR\x1fblockingDifferenceTagsUpdatedBy\x12h\n" + - "#blocking_difference_tags_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x1fblockingDifferenceTagsUpdatedAt\"\xc3\x01\n" + - "\x1eUpdatePlanCheckSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12a\n" + - "\x18blocking_difference_tags\x18\x02 \x01(\v2\".until.BlockingDifferenceTagsPatchH\x00R\x16blockingDifferenceTags\x88\x01\x01B\x1b\n" + - "\x19_blocking_difference_tags\"\x93\x02\n" + - "\x1fUpdatePlanCheckSettingsResponse\x128\n" + - "\x18blocking_difference_tags\x18\x01 \x03(\tR\x16blockingDifferenceTags\x12L\n" + - "#blocking_difference_tags_updated_by\x18\x02 \x01(\tR\x1fblockingDifferenceTagsUpdatedBy\x12h\n" + - "#blocking_difference_tags_updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x1fblockingDifferenceTagsUpdatedAt\"L\n" + - "'AdminGetAccountPlanCheckSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xcf\x01\n" + - "*AdminUpdateAccountPlanCheckSettingsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12a\n" + - "\x18blocking_difference_tags\x18\x02 \x01(\v2\".until.BlockingDifferenceTagsPatchH\x00R\x16blockingDifferenceTags\x88\x01\x01B\x1b\n" + - "\x19_blocking_difference_tags\"G\n" + - "\"AdminGetAccountReviewPolicyRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xf6\x01\n" + - "#AdminGetAccountReviewPolicyResponse\x124\n" + - "\x06policy\x18\x01 \x01(\x0e2\x1c.until.WorkspaceReviewPolicyR\x06policy\x12?\n" + - "\x1cactive_human_principal_count\x18\x02 \x01(\x05R\x19activeHumanPrincipalCount\x12\x1d\n" + - "\n" + - "updated_by\x18\x03 \x01(\tR\tupdatedBy\x129\n" + - "\n" + - "updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x80\x01\n" + - "%AdminUpdateAccountReviewPolicyRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x124\n" + - "\x06policy\x18\x02 \x01(\x0e2\x1c.until.WorkspaceReviewPolicyR\x06policy\"\xf9\x01\n" + - "&AdminUpdateAccountReviewPolicyResponse\x124\n" + - "\x06policy\x18\x01 \x01(\x0e2\x1c.until.WorkspaceReviewPolicyR\x06policy\x12?\n" + - "\x1cactive_human_principal_count\x18\x02 \x01(\x05R\x19activeHumanPrincipalCount\x12\x1d\n" + - "\n" + - "updated_by\x18\x03 \x01(\tR\tupdatedBy\x129\n" + - "\n" + - "updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"j\n" + - ")AdminGetAccountLLMCredentialStatusRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\x12\x1a\n" + - "\bprovider\x18\x02 \x01(\tR\bprovider\"\x94\x01\n" + - "*AdminGetAccountLLMCredentialStatusResponse\x12;\n" + - "\x06status\x18\x01 \x01(\v2#.until.WorkspaceLLMCredentialStatusR\x06status\x12)\n" + - "\x11key_source_in_use\x18\x02 \x01(\tR\x0ekeySourceInUse\"H\n" + - "#AdminListAccountIntegrationsRequest\x12!\n" + - "\faccount_name\x18\x01 \x01(\tR\vaccountName\"\xb2\x04\n" + - "\x1eAdminAccountIntegrationInstall\x12\x1d\n" + - "\n" + - "install_id\x18\x01 \x01(\x03R\tinstallId\x12\x1a\n" + - "\bprovider\x18\x02 \x01(\tR\bprovider\x122\n" + - "\x15external_workspace_id\x18\x03 \x01(\tR\x13externalWorkspaceId\x122\n" + - "\x15external_principal_id\x18\x04 \x01(\tR\x13externalPrincipalId\x129\n" + - "\n" + - "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12(\n" + - "\x10has_access_token\x18\x06 \x01(\bR\x0ehasAccessToken\x12\x1d\n" + - "\n" + - "has_config\x18\a \x01(\bR\thasConfig\x12*\n" + - "\x11has_signing_token\x18\b \x01(\bR\x0fhasSigningToken\x12,\n" + - "\x12has_webhook_secret\x18\t \x01(\bR\x10hasWebhookSecret\x12F\n" + - "\x06status\x18\n" + - " \x01(\x0e2\".until.IntegrationConnectionStatusB\n" + - "\xbaH\a\x82\x01\x04\x10\x01 \x00R\x06status\x12#\n" + - "\asummary\x18\v \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18 R\asummary\x12\"\n" + - "\x06detail\x18\f \x01(\tB\n" + - "\xbaH\ar\x05\x10\x01\x18\xa0\x01R\x06detail\"\xbe\x02\n" + - "$AdminListAccountIntegrationsResponse\x12A\n" + - "\binstalls\x18\x01 \x03(\v2%.until.AdminAccountIntegrationInstallR\binstalls\x12=\n" + - "\fgit_provider\x18\x02 \x01(\x0e2\x1a.until.IntegrationProviderR\vgitProvider\x12I\n" + - "\x12ticketing_provider\x18\x03 \x01(\x0e2\x1a.until.IntegrationProviderR\x11ticketingProvider\x12I\n" + - "\x12messaging_provider\x18\x04 \x01(\x0e2\x1a.until.IntegrationProviderR\x11messagingProvider\"!\n" + - "\x1fListIntegrationCatalogueRequest\"^\n" + - " ListIntegrationCatalogueResponse\x12:\n" + - "\aentries\x18\x01 \x03(\v2 .until.IntegrationCatalogueEntryR\aentries\"\x94\x04\n" + - "\x19IntegrationCatalogueEntry\x12\x1b\n" + - "\tstable_id\x18\x01 \x01(\tR\bstableId\x12\x12\n" + - "\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" + - "\bcategory\x18\x03 \x01(\tR\bcategory\x12 \n" + - "\vdescription\x18\x04 \x01(\tR\vdescription\x12)\n" + - "\x10advertised_tools\x18\x05 \x03(\tR\x0fadvertisedTools\x122\n" + - "\x15recommended_for_brent\x18\x06 \x01(\bR\x13recommendedForBrent\x12\x1f\n" + - "\vnewly_added\x18\a \x01(\bR\n" + - "newlyAdded\x12\x1c\n" + - "\tconnected\x18\b \x01(\bR\tconnected\x129\n" + - "\x06source\x18\t \x01(\x0e2!.until.IntegrationCatalogueSourceR\x06source\x126\n" + - "\bprovider\x18\n" + - " \x01(\x0e2\x1a.until.IntegrationProviderR\bprovider\x12\x1b\n" + - "\tauto_rank\x18\v \x01(\x05R\bautoRank\x129\n" + - "\n" + - "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1f\n" + - "\vinstance_id\x18\r \x01(\tR\n" + - "instanceId\"c\n" + - "\x14GetPlanPromptRequest\x12!\n" + - "\fworkspace_id\x18\x01 \x01(\tR\vworkspaceId\x12(\n" + - "\x10plan_friendly_id\x18\x02 \x01(\tR\x0eplanFriendlyId\"`\n" + - "\x15GetPlanPromptResponse\x12(\n" + - "\x10plan_friendly_id\x18\x01 \x01(\tR\x0eplanFriendlyId\x12\x1d\n" + - "\n" + - "plan_title\x18\x02 \x01(\tR\tplanTitle*\x89\x01\n" + - "\tRunStatus\x12\x1a\n" + - "\x16RUN_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + - "\x12RUN_STATUS_RUNNING\x10\x01\x12\x18\n" + - "\x14RUN_STATUS_COMPLETED\x10\x02\x12\x14\n" + - "\x10RUN_STATUS_ERROR\x10\x03\x12\x18\n" + - "\x14RUN_STATUS_CANCELLED\x10\x04*\x9c\x01\n" + - "\x15MetricsComparisonMode\x12'\n" + - "#METRICS_COMPARISON_MODE_UNSPECIFIED\x10\x00\x12(\n" + - "$METRICS_COMPARISON_MODE_BEFORE_AFTER\x10\x01\x120\n" + - ",METRICS_COMPARISON_MODE_PLANNED_VS_UNPLANNED\x10\x02*\x8d\x01\n" + - "\x14PrincipalStatusState\x12&\n" + - "\"PRINCIPAL_STATUS_STATE_UNSPECIFIED\x10\x00\x12+\n" + - "'PRINCIPAL_STATUS_STATE_NEEDS_ONBOARDING\x10\x01\x12 \n" + - "\x1cPRINCIPAL_STATUS_STATE_READY\x10\x02*\xb2\x02\n" + - "\x13IntegrationProvider\x12$\n" + - " INTEGRATION_PROVIDER_UNSPECIFIED\x10\x00\x12\x1f\n" + - "\x1bINTEGRATION_PROVIDER_GITHUB\x10\x01\x12\x1f\n" + - "\x1bINTEGRATION_PROVIDER_LINEAR\x10\x02\x12\x1e\n" + - "\x1aINTEGRATION_PROVIDER_SLACK\x10\x03\x12%\n" + - "!INTEGRATION_PROVIDER_BYO_HTTP_MCP\x10\x04\x12'\n" + - "#INTEGRATION_PROVIDER_MCP_AGGREGATOR\x10\x05\x12\"\n" + - "\x1eINTEGRATION_PROVIDER_BITBUCKET\x10\x06\x12\x1f\n" + - "\x1bINTEGRATION_PROVIDER_GITLAB\x10\a*t\n" + - "\x11IntegrationIntent\x12\"\n" + - "\x1eINTEGRATION_INTENT_UNSPECIFIED\x10\x00\x12\x1e\n" + - "\x1aINTEGRATION_INTENT_INSTALL\x10\x01\x12\x1b\n" + - "\x17INTEGRATION_INTENT_LINK\x10\x02*\x8c\x02\n" + - "\x1bIntegrationConnectionStatus\x12-\n" + - ")INTEGRATION_CONNECTION_STATUS_UNSPECIFIED\x10\x00\x12/\n" + - "+INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED\x10\x01\x12-\n" + - ")INTEGRATION_CONNECTION_STATUS_IN_PROGRESS\x10\x02\x121\n" + - "-INTEGRATION_CONNECTION_STATUS_NEEDS_ATTENTION\x10\x03\x12+\n" + - "'INTEGRATION_CONNECTION_STATUS_CONNECTED\x10\x04*\xb8\x01\n" + - "\rLoginProvider\x12\x1e\n" + - "\x1aLOGIN_PROVIDER_UNSPECIFIED\x10\x00\x12\x19\n" + - "\x15LOGIN_PROVIDER_GOOGLE\x10\x01\x12\x19\n" + - "\x15LOGIN_PROVIDER_GITHUB\x10\x02\x12\x1c\n" + - "\x18LOGIN_PROVIDER_BITBUCKET\x10\x03\x12\x19\n" + - "\x15LOGIN_PROVIDER_GITLAB\x10\x04\x12\x18\n" + - "\x14LOGIN_PROVIDER_SLACK\x10\x05*Y\n" + - "\n" + - "JoinSource\x12\x1b\n" + - "\x17JOIN_SOURCE_UNSPECIFIED\x10\x00\x12\x16\n" + - "\x12JOIN_SOURCE_DOMAIN\x10\x01\x12\x16\n" + - "\x12JOIN_SOURCE_INVITE\x10\x02*\xd3\x01\n" + - "\x10InvitationStatus\x12!\n" + - "\x1dINVITATION_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n" + - "\x19INVITATION_STATUS_INVITED\x10\x01\x12\x1e\n" + - "\x1aINVITATION_STATUS_ACCEPTED\x10\x02\x12\x1d\n" + - "\x19INVITATION_STATUS_REVOKED\x10\x03\x12\x1d\n" + - "\x19INVITATION_STATUS_EXPIRED\x10\x04\x12\x1f\n" + - "\x1bINVITATION_STATUS_NOT_FOUND\x10\x05*\xe5\x01\n" + - "\x16InvitationResultStatus\x12(\n" + - "$INVITATION_RESULT_STATUS_UNSPECIFIED\x10\x00\x12$\n" + - " INVITATION_RESULT_STATUS_CREATED\x10\x01\x12+\n" + - "'INVITATION_RESULT_STATUS_ALREADY_EXISTS\x10\x02\x12*\n" + - "&INVITATION_RESULT_STATUS_INVALID_EMAIL\x10\x03\x12\"\n" + - "\x1eINVITATION_RESULT_STATUS_ERROR\x10\x04*\x85\x01\n" + - "\x14WorkspaceMemberState\x12&\n" + - "\"WORKSPACE_MEMBER_STATE_UNSPECIFIED\x10\x00\x12!\n" + - "\x1dWORKSPACE_MEMBER_STATE_ACTIVE\x10\x01\x12\"\n" + - "\x1eWORKSPACE_MEMBER_STATE_INVITED\x10\x02*\x8c\x01\n" + - "\x15WorkspaceReviewPolicy\x12'\n" + - "#WORKSPACE_REVIEW_POLICY_UNSPECIFIED\x10\x00\x12$\n" + - " WORKSPACE_REVIEW_POLICY_DISABLED\x10\x01\x12$\n" + - " WORKSPACE_REVIEW_POLICY_REQUIRED\x10\x02*\xcf\x01\n" + - "\x1aIntegrationCatalogueSource\x12,\n" + - "(INTEGRATION_CATALOGUE_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + - "(INTEGRATION_CATALOGUE_SOURCE_FIRST_PARTY\x10\x01\x12$\n" + - " INTEGRATION_CATALOGUE_SOURCE_BYO\x10\x02\x12/\n" + - "+INTEGRATION_CATALOGUE_SOURCE_MCP_AGGREGATOR\x10\x032\xc0(\n" + - "\x10WorkspaceService\x12_\n" + - "\x14ListOpenPullRequests\x12\".until.ListOpenPullRequestsRequest\x1a#.until.ListOpenPullRequestsResponse\x12M\n" + - "\x0eGetPullRequest\x12\x1c.until.GetPullRequestRequest\x1a\x1d.until.GetPullRequestResponse\x12Y\n" + - "\x12GetPrincipalStatus\x12 .until.GetPrincipalStatusRequest\x1a!.until.GetPrincipalStatusResponse\x12J\n" + - "\rGetPlanPrompt\x12\x1b.until.GetPlanPromptRequest\x1a\x1c.until.GetPlanPromptResponse\x12k\n" + - "\x18GetIntegrationConnectURL\x12&.until.GetIntegrationConnectURLRequest\x1a'.until.GetIntegrationConnectURLResponse\x12b\n" + - "\x15DisconnectIntegration\x12#.until.DisconnectIntegrationRequest\x1a$.until.DisconnectIntegrationResponse\x12V\n" + - "\x11ConnectByoHttpMcp\x12\x1f.until.ConnectByoHttpMcpRequest\x1a .until.ConnectByoHttpMcpResponse\x12\\\n" + - "\x13GetGitLabConnection\x12!.until.GetGitLabConnectionRequest\x1a\".until.GetGitLabConnectionResponse\x12J\n" + - "\rConnectGitLab\x12\x1b.until.ConnectGitLabRequest\x1a\x1c.until.ConnectGitLabResponse\x12e\n" + - "\x16SaveGitLabSigningToken\x12$.until.SaveGitLabSigningTokenRequest\x1a%.until.SaveGitLabSigningTokenResponse\x12h\n" + - "\x17UpsertMyVerifiedBinding\x12%.until.UpsertMyVerifiedBindingRequest\x1a&.until.UpsertMyVerifiedBindingResponse\x12M\n" + - "\x0eListMyBindings\x12\x1c.until.ListMyBindingsRequest\x1a\x1d.until.ListMyBindingsResponse\x12w\n" + - "\x1cGetMyNotificationPreferences\x12*.until.GetMyNotificationPreferencesRequest\x1a+.until.GetMyNotificationPreferencesResponse\x12\x80\x01\n" + - "\x1fUpdateMyNotificationPreferences\x12-.until.UpdateMyNotificationPreferencesRequest\x1a..until.UpdateMyNotificationPreferencesResponse\x12q\n" + - "\x1aRegisterMyPushSubscription\x12(.until.RegisterMyPushSubscriptionRequest\x1a).until.RegisterMyPushSubscriptionResponse\x12\\\n" + - "\x13GetWebPushPublicKey\x12!.until.GetWebPushPublicKeyRequest\x1a\".until.GetWebPushPublicKeyResponse\x12\\\n" + - "\x13UpdateMyDisplayName\x12!.until.UpdateMyDisplayNameRequest\x1a\".until.UpdateMyDisplayNameResponse\x12_\n" + - "\x14GetPlanCheckSettings\x12\".until.GetPlanCheckSettingsRequest\x1a#.until.GetPlanCheckSettingsResponse\x12h\n" + - "\x17UpdatePlanCheckSettings\x12%.until.UpdatePlanCheckSettingsRequest\x1a&.until.UpdatePlanCheckSettingsResponse\x12k\n" + - "\x18ListIntegrationCatalogue\x12&.until.ListIntegrationCatalogueRequest\x1a'.until.ListIntegrationCatalogueResponse\x12P\n" + - "\x0fCreateWorkspace\x12\x1d.until.CreateWorkspaceRequest\x1a\x1e.until.CreateWorkspaceResponse\x12S\n" + - "\x10ListMyWorkspaces\x12\x1e.until.ListMyWorkspacesRequest\x1a\x1f.until.ListMyWorkspacesResponse\x12\x80\x01\n" + - "\x1fDiscoverLoginRecoveryCandidates\x12-.until.DiscoverLoginRecoveryCandidatesRequest\x1a..until.DiscoverLoginRecoveryCandidatesResponse\x12P\n" + - "\x0fRenameWorkspace\x12\x1d.until.RenameWorkspaceRequest\x1a\x1e.until.RenameWorkspaceResponse\x12h\n" + - "\x17UpdateWorkspaceBranding\x12%.until.UpdateWorkspaceBrandingRequest\x1a&.until.UpdateWorkspaceBrandingResponse\x12t\n" + - "\x1bCompleteWorkspaceOnboarding\x12).until.CompleteWorkspaceOnboardingRequest\x1a*.until.CompleteWorkspaceOnboardingResponse\x12P\n" + - "\x0fDeleteWorkspace\x12\x1d.until.DeleteWorkspaceRequest\x1a\x1e.until.DeleteWorkspaceResponse\x12e\n" + - "\x16ListJoinableWorkspaces\x12$.until.ListJoinableWorkspacesRequest\x1a%.until.ListJoinableWorkspacesResponse\x12J\n" + - "\rJoinWorkspace\x12\x1b.until.JoinWorkspaceRequest\x1a\x1c.until.JoinWorkspaceResponse\x12S\n" + - "\x10CreateInvitation\x12\x1e.until.CreateInvitationRequest\x1a\x1f.until.CreateInvitationResponse\x12V\n" + - "\x11CreateInvitations\x12\x1f.until.CreateInvitationsRequest\x1a .until.CreateInvitationsResponse\x12S\n" + - "\x10AcceptInvitation\x12\x1e.until.AcceptInvitationRequest\x1a\x1f.until.AcceptInvitationResponse\x12_\n" + - "\x14ListWorkspaceMembers\x12\".until.ListWorkspaceMembersRequest\x1a#.until.ListWorkspaceMembersResponse\x12S\n" + - "\x10ResendInvitation\x12\x1e.until.ResendInvitationRequest\x1a\x1f.until.ResendInvitationResponse\x12S\n" + - "\x10RevokeInvitation\x12\x1e.until.RevokeInvitationRequest\x1a\x1f.until.RevokeInvitationResponse\x12b\n" + - "\x15RemoveWorkspaceMember\x12#.until.RemoveWorkspaceMemberRequest\x1a$.until.RemoveWorkspaceMemberResponse\x12n\n" + - "\x19UpdateWorkspaceMemberRole\x12'.until.UpdateWorkspaceMemberRoleRequest\x1a(.until.UpdateWorkspaceMemberRoleResponse\x12k\n" + - "\x18ListApprovedEmailDomains\x12&.until.ListApprovedEmailDomainsRequest\x1a'.until.ListApprovedEmailDomainsResponse\x12e\n" + - "\x16AddApprovedEmailDomain\x12$.until.AddApprovedEmailDomainRequest\x1a%.until.AddApprovedEmailDomainResponse\x12n\n" + - "\x19VerifyApprovedEmailDomain\x12'.until.VerifyApprovedEmailDomainRequest\x1a(.until.VerifyApprovedEmailDomainResponse\x12z\n" + - "\x1dResendApprovedEmailDomainCode\x12+.until.ResendApprovedEmailDomainCodeRequest\x1a,.until.ResendApprovedEmailDomainCodeResponse\x12n\n" + - "\x19DeleteApprovedEmailDomain\x12'.until.DeleteApprovedEmailDomainRequest\x1a(.until.DeleteApprovedEmailDomainResponse\x12\x80\x01\n" + - "\x1fGetWorkspaceLLMCredentialStatus\x12-.until.GetWorkspaceLLMCredentialStatusRequest\x1a..until.GetWorkspaceLLMCredentialStatusResponse\x12n\n" + - "\x19SetWorkspaceLLMCredential\x12'.until.SetWorkspaceLLMCredentialRequest\x1a(.until.SetWorkspaceLLMCredentialResponse\x12w\n" + - "\x1cDeleteWorkspaceLLMCredential\x12*.until.DeleteWorkspaceLLMCredentialRequest\x1a+.until.DeleteWorkspaceLLMCredentialResponse\x12t\n" + - "\x1bGetMyCursorCredentialStatus\x12).until.GetMyCursorCredentialStatusRequest\x1a*.until.GetMyCursorCredentialStatusResponse\x12b\n" + - "\x15SetMyCursorCredential\x12#.until.SetMyCursorCredentialRequest\x1a$.until.SetMyCursorCredentialResponse\x12k\n" + - "\x18DeleteMyCursorCredential\x12&.until.DeleteMyCursorCredentialRequest\x1a'.until.DeleteMyCursorCredentialResponse\x12w\n" + - "\x1cGetWorkspaceIntegrationRoles\x12*.until.GetWorkspaceIntegrationRolesRequest\x1a+.until.GetWorkspaceIntegrationRolesResponse\x12w\n" + - "\x1cSetWorkspaceIntegrationRoles\x12*.until.SetWorkspaceIntegrationRolesRequest\x1a+.until.SetWorkspaceIntegrationRolesResponse\x12h\n" + - "\x17ResendVerificationEmail\x12%.until.ResendVerificationEmailRequest\x1a&.until.ResendVerificationEmailResponse2[\n" + - "\rPublicService\x12J\n" + - "\rGetInvitation\x12\x1b.until.GetInvitationRequest\x1a\x1c.until.GetInvitationResponse2\xc9\x1f\n" + - "\fAdminService\x12F\n" + - "\vExecuteLoop\x12\x19.until.ExecuteLoopRequest\x1a\x1a.until.ExecuteLoopResponse0\x01\x12;\n" + - "\bListRuns\x12\x16.until.ListRunsRequest\x1a\x17.until.ListRunsResponse\x12@\n" + - "\bWatchRun\x12\x16.until.WatchRunRequest\x1a\x1a.until.ExecuteLoopResponse0\x01\x12I\n" + - "\fStreamEvents\x12\x1a.until.StreamEventsRequest\x1a\x1b.until.StreamEventsResponse0\x01\x12A\n" + - "\n" + - "ListEvents\x12\x18.until.ListEventsRequest\x1a\x19.until.ListEventsResponse\x12>\n" + - "\tCancelRun\x12\x17.until.CancelRunRequest\x1a\x18.until.CancelRunResponse\x12H\n" + - "\fSendQuestion\x12\x1a.until.SendQuestionRequest\x1a\x1a.until.ExecuteLoopResponse0\x01\x12H\n" + - "\tListPlans\x12\x1c.until.AdminListPlansRequest\x1a\x1d.until.AdminListPlansResponse\x12B\n" + - "\aGetPlan\x12\x1a.until.AdminGetPlanRequest\x1a\x1b.until.AdminGetPlanResponse\x12N\n" + - "\vListReviews\x12\x1e.until.AdminListReviewsRequest\x1a\x1f.until.AdminListReviewsResponse\x12H\n" + - "\tGetReview\x12\x1c.until.AdminGetReviewRequest\x1a\x1d.until.AdminGetReviewResponse\x12H\n" + - "\fListAccounts\x12\x16.google.protobuf.Empty\x1a .until.AdminListAccountsResponse\x12`\n" + - "\x11GetAccountSummary\x12$.until.AdminGetAccountSummaryRequest\x1a%.until.AdminGetAccountSummaryResponse\x12u\n" + - "\x18GetAccountHealthAnalysis\x12+.until.AdminGetAccountHealthAnalysisRequest\x1a,.until.AdminGetAccountHealthAnalysisResponse\x12o\n" + - "\x16ListAccountMetricRepos\x12).until.AdminListAccountMetricReposRequest\x1a*.until.AdminListAccountMetricReposResponse\x12\x84\x01\n" + - "\x1dStartAccountMetricsComparison\x120.until.AdminStartAccountMetricsComparisonRequest\x1a1.until.AdminStartAccountMetricsComparisonResponse\x12\x87\x01\n" + - "\x1eGetAccountMetricsComparisonRun\x121.until.AdminGetAccountMetricsComparisonRunRequest\x1a2.until.AdminGetAccountMetricsComparisonRunResponse\x12r\n" + - "\x1bGetAccountPlanCheckSettings\x12..until.AdminGetAccountPlanCheckSettingsRequest\x1a#.until.GetPlanCheckSettingsResponse\x12{\n" + - "\x1eUpdateAccountPlanCheckSettings\x121.until.AdminUpdateAccountPlanCheckSettingsRequest\x1a&.until.UpdatePlanCheckSettingsResponse\x12o\n" + - "\x16GetAccountReviewPolicy\x12).until.AdminGetAccountReviewPolicyRequest\x1a*.until.AdminGetAccountReviewPolicyResponse\x12x\n" + - "\x19UpdateAccountReviewPolicy\x12,.until.AdminUpdateAccountReviewPolicyRequest\x1a-.until.AdminUpdateAccountReviewPolicyResponse\x12\x84\x01\n" + - "\x1dGetAccountLLMCredentialStatus\x120.until.AdminGetAccountLLMCredentialStatusRequest\x1a1.until.AdminGetAccountLLMCredentialStatusResponse\x12r\n" + - "\x17ListAccountIntegrations\x12*.until.AdminListAccountIntegrationsRequest\x1a+.until.AdminListAccountIntegrationsResponse\x12>\n" + - "\tListLoops\x12\x17.until.ListLoopsRequest\x1a\x18.until.ListLoopsResponse\x128\n" + - "\aGetLoop\x12\x15.until.GetLoopRequest\x1a\x16.until.GetLoopResponse\x12G\n" + - "\fListLoopRuns\x12\x1a.until.ListLoopRunsRequest\x1a\x1b.until.ListLoopRunsResponse\x12A\n" + - "\n" + - "GetLoopRun\x12\x18.until.GetLoopRunRequest\x1a\x19.until.GetLoopRunResponse\x12h\n" + - "\x17GetLoopRunThreadHistory\x12%.until.GetLoopRunThreadHistoryRequest\x1a&.until.GetLoopRunThreadHistoryResponse\x12S\n" + - "\x10ListPullRequests\x12\x1e.until.ListPullRequestsRequest\x1a\x1f.until.ListPullRequestsResponse\x12Y\n" + - "\x12GetPullRequestByID\x12 .until.GetPullRequestByIDRequest\x1a!.until.GetPullRequestByIDResponse\x12\\\n" + - "\x13ListPlanChecksForPR\x12!.until.ListPlanChecksForPRRequest\x1a\".until.ListPlanChecksForPRResponse\x12W\n" + - "\x0eListPrincipals\x12!.until.AdminListPrincipalsRequest\x1a\".until.AdminListPrincipalsResponse\x12Q\n" + - "\fGetPrincipal\x12\x1f.until.AdminGetPrincipalRequest\x1a .until.AdminGetPrincipalResponse\x12o\n" + - "\x16UpsertPrincipalBinding\x12).until.AdminUpsertPrincipalBindingRequest\x1a*.until.AdminUpsertPrincipalBindingResponse\x12o\n" + - "\x16DeletePrincipalBinding\x12).until.AdminDeletePrincipalBindingRequest\x1a*.until.AdminDeletePrincipalBindingResponse\x12Z\n" + - "\x0fUpdatePrincipal\x12\".until.AdminUpdatePrincipalRequest\x1a#.until.AdminUpdatePrincipalResponse\x12r\n" + - "\x17CreatePrincipalIdentity\x12*.until.AdminCreatePrincipalIdentityRequest\x1a+.until.AdminCreatePrincipalIdentityResponse\x12r\n" + - "\x17DeletePrincipalIdentity\x12*.until.AdminDeletePrincipalIdentityRequest\x1a+.until.AdminDeletePrincipalIdentityResponse\x12o\n" + - "\x16SetPrincipalCredential\x12).until.AdminSetPrincipalCredentialRequest\x1a*.until.AdminSetPrincipalCredentialResponse\x12\x93\x01\n" + - "\"ListPrincipalCredentialConnections\x125.until.AdminListPrincipalCredentialConnectionsRequest\x1a6.until.AdminListPrincipalCredentialConnectionsResponse\x12x\n" + - "\x19DeletePrincipalCredential\x12,.until.AdminDeletePrincipalCredentialRequest\x1a-.until.AdminDeletePrincipalCredentialResponse\x12e\n" + - "\x16GetPullRequestTimeline\x12$.until.GetPullRequestTimelineRequest\x1a%.until.GetPullRequestTimelineResponse:D\n" + - "\rembedded_json\x12\x1d.google.protobuf.FieldOptions\x18ц\x03 \x01(\bR\fembeddedJsonB1Z/github.com/overmindtech/workspace/go/sdp-go;sdpb\x06proto3" - -var ( - file_brent_proto_rawDescOnce sync.Once - file_brent_proto_rawDescData []byte -) - -func file_brent_proto_rawDescGZIP() []byte { - file_brent_proto_rawDescOnce.Do(func() { - file_brent_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc))) - }) - return file_brent_proto_rawDescData -} - -var file_brent_proto_enumTypes = make([]protoimpl.EnumInfo, 13) -var file_brent_proto_msgTypes = make([]protoimpl.MessageInfo, 336) -var file_brent_proto_goTypes = []any{ - (RunStatus)(0), // 0: until.RunStatus - (MetricsComparisonMode)(0), // 1: until.MetricsComparisonMode - (PrincipalStatusState)(0), // 2: until.PrincipalStatusState - (IntegrationProvider)(0), // 3: until.IntegrationProvider - (IntegrationIntent)(0), // 4: until.IntegrationIntent - (IntegrationConnectionStatus)(0), // 5: until.IntegrationConnectionStatus - (LoginProvider)(0), // 6: until.LoginProvider - (JoinSource)(0), // 7: until.JoinSource - (InvitationStatus)(0), // 8: until.InvitationStatus - (InvitationResultStatus)(0), // 9: until.InvitationResultStatus - (WorkspaceMemberState)(0), // 10: until.WorkspaceMemberState - (WorkspaceReviewPolicy)(0), // 11: until.WorkspaceReviewPolicy - (IntegrationCatalogueSource)(0), // 12: until.IntegrationCatalogueSource - (*ListPullRequestsRequest)(nil), // 13: until.ListPullRequestsRequest - (*ListPullRequestsResponse)(nil), // 14: until.ListPullRequestsResponse - (*GetPullRequestByIDRequest)(nil), // 15: until.GetPullRequestByIDRequest - (*GetPullRequestByIDResponse)(nil), // 16: until.GetPullRequestByIDResponse - (*ListPlanChecksForPRRequest)(nil), // 17: until.ListPlanChecksForPRRequest - (*ListPlanChecksForPRResponse)(nil), // 18: until.ListPlanChecksForPRResponse - (*GetPullRequestTimelineRequest)(nil), // 19: until.GetPullRequestTimelineRequest - (*PullRequestTimelineEventRow)(nil), // 20: until.PullRequestTimelineEventRow - (*PullRequestTimelineWarning)(nil), // 21: until.PullRequestTimelineWarning - (*GetPullRequestTimelineResponse)(nil), // 22: until.GetPullRequestTimelineResponse - (*PullRequestSummary)(nil), // 23: until.PullRequestSummary - (*PullRequest)(nil), // 24: until.PullRequest - (*PlanCheckSummary)(nil), // 25: until.PlanCheckSummary - (*PlanDifference)(nil), // 26: until.PlanDifference - (*ExecuteLoopRequest)(nil), // 27: until.ExecuteLoopRequest - (*ListRunsRequest)(nil), // 28: until.ListRunsRequest - (*ListRunsResponse)(nil), // 29: until.ListRunsResponse - (*RunSummary)(nil), // 30: until.RunSummary - (*WatchRunRequest)(nil), // 31: until.WatchRunRequest - (*StreamEventsRequest)(nil), // 32: until.StreamEventsRequest - (*StreamEventsResponse)(nil), // 33: until.StreamEventsResponse - (*ListEventsRequest)(nil), // 34: until.ListEventsRequest - (*ListEventsResponse)(nil), // 35: until.ListEventsResponse - (*CancelRunRequest)(nil), // 36: until.CancelRunRequest - (*CancelRunResponse)(nil), // 37: until.CancelRunResponse - (*ListOpenPullRequestsRequest)(nil), // 38: until.ListOpenPullRequestsRequest - (*ListOpenPullRequestsResponse)(nil), // 39: until.ListOpenPullRequestsResponse - (*GetPullRequestRequest)(nil), // 40: until.GetPullRequestRequest - (*GetPullRequestResponse)(nil), // 41: until.GetPullRequestResponse - (*OpenPullRequest)(nil), // 42: until.OpenPullRequest - (*ExecuteLoopResponse)(nil), // 43: until.ExecuteLoopResponse - (*ReasoningStep)(nil), // 44: until.ReasoningStep - (*ToolCallStep)(nil), // 45: until.ToolCallStep - (*ToolResultStep)(nil), // 46: until.ToolResultStep - (*CompletionStep)(nil), // 47: until.CompletionStep - (*ErrorStep)(nil), // 48: until.ErrorStep - (*StatusStep)(nil), // 49: until.StatusStep - (*RunStartedStep)(nil), // 50: until.RunStartedStep - (*QAReadyStep)(nil), // 51: until.QAReadyStep - (*UserQuestionStep)(nil), // 52: until.UserQuestionStep - (*UserMessageStep)(nil), // 53: until.UserMessageStep - (*SendQuestionRequest)(nil), // 54: until.SendQuestionRequest - (*AdminListPlansRequest)(nil), // 55: until.AdminListPlansRequest - (*AdminListPlansResponse)(nil), // 56: until.AdminListPlansResponse - (*PlanSummary)(nil), // 57: until.PlanSummary - (*AdminGetPlanRequest)(nil), // 58: until.AdminGetPlanRequest - (*AdminGetPlanResponse)(nil), // 59: until.AdminGetPlanResponse - (*Plan)(nil), // 60: until.Plan - (*AdminListPrincipalsRequest)(nil), // 61: until.AdminListPrincipalsRequest - (*AdminListPrincipalsResponse)(nil), // 62: until.AdminListPrincipalsResponse - (*AdminGetPrincipalRequest)(nil), // 63: until.AdminGetPrincipalRequest - (*AdminGetPrincipalResponse)(nil), // 64: until.AdminGetPrincipalResponse - (*PrincipalIdentity)(nil), // 65: until.PrincipalIdentity - (*AdminUpsertPrincipalBindingRequest)(nil), // 66: until.AdminUpsertPrincipalBindingRequest - (*AdminUpsertPrincipalBindingResponse)(nil), // 67: until.AdminUpsertPrincipalBindingResponse - (*AdminDeletePrincipalBindingRequest)(nil), // 68: until.AdminDeletePrincipalBindingRequest - (*AdminDeletePrincipalBindingResponse)(nil), // 69: until.AdminDeletePrincipalBindingResponse - (*AdminUpdatePrincipalRequest)(nil), // 70: until.AdminUpdatePrincipalRequest - (*AdminUpdatePrincipalResponse)(nil), // 71: until.AdminUpdatePrincipalResponse - (*AdminCreatePrincipalIdentityRequest)(nil), // 72: until.AdminCreatePrincipalIdentityRequest - (*AdminCreatePrincipalIdentityResponse)(nil), // 73: until.AdminCreatePrincipalIdentityResponse - (*AdminDeletePrincipalIdentityRequest)(nil), // 74: until.AdminDeletePrincipalIdentityRequest - (*AdminDeletePrincipalIdentityResponse)(nil), // 75: until.AdminDeletePrincipalIdentityResponse - (*AdminSetPrincipalCredentialRequest)(nil), // 76: until.AdminSetPrincipalCredentialRequest - (*AdminSetPrincipalCredentialResponse)(nil), // 77: until.AdminSetPrincipalCredentialResponse - (*AdminListPrincipalCredentialConnectionsRequest)(nil), // 78: until.AdminListPrincipalCredentialConnectionsRequest - (*AdminListPrincipalCredentialConnectionsResponse)(nil), // 79: until.AdminListPrincipalCredentialConnectionsResponse - (*PrincipalCredentialConnection)(nil), // 80: until.PrincipalCredentialConnection - (*AdminDeletePrincipalCredentialRequest)(nil), // 81: until.AdminDeletePrincipalCredentialRequest - (*AdminDeletePrincipalCredentialResponse)(nil), // 82: until.AdminDeletePrincipalCredentialResponse - (*AdminListReviewsRequest)(nil), // 83: until.AdminListReviewsRequest - (*AdminListReviewsResponse)(nil), // 84: until.AdminListReviewsResponse - (*ReviewSummary)(nil), // 85: until.ReviewSummary - (*AdminGetReviewRequest)(nil), // 86: until.AdminGetReviewRequest - (*AdminGetReviewResponse)(nil), // 87: until.AdminGetReviewResponse - (*Review)(nil), // 88: until.Review - (*AccountSummary)(nil), // 89: until.AccountSummary - (*AdminListAccountsResponse)(nil), // 90: until.AdminListAccountsResponse - (*AdminGetAccountSummaryRequest)(nil), // 91: until.AdminGetAccountSummaryRequest - (*AccountRunSummary)(nil), // 92: until.AccountRunSummary - (*AdminGetAccountSummaryResponse)(nil), // 93: until.AdminGetAccountSummaryResponse - (*AdminGetAccountHealthAnalysisRequest)(nil), // 94: until.AdminGetAccountHealthAnalysisRequest - (*AccountHealthFinding)(nil), // 95: until.AccountHealthFinding - (*AdminGetAccountHealthAnalysisResponse)(nil), // 96: until.AdminGetAccountHealthAnalysisResponse - (*AdminListAccountMetricReposRequest)(nil), // 97: until.AdminListAccountMetricReposRequest - (*AccountMetricRepo)(nil), // 98: until.AccountMetricRepo - (*AdminListAccountMetricReposResponse)(nil), // 99: until.AdminListAccountMetricReposResponse - (*AdminStartAccountMetricsComparisonRequest)(nil), // 100: until.AdminStartAccountMetricsComparisonRequest - (*AdminStartAccountMetricsComparisonResponse)(nil), // 101: until.AdminStartAccountMetricsComparisonResponse - (*AdminGetAccountMetricsComparisonRunRequest)(nil), // 102: until.AdminGetAccountMetricsComparisonRunRequest - (*MetricsComparisonHeadline)(nil), // 103: until.MetricsComparisonHeadline - (*MetricsComparisonArtifact)(nil), // 104: until.MetricsComparisonArtifact - (*AdminGetAccountMetricsComparisonRunResponse)(nil), // 105: until.AdminGetAccountMetricsComparisonRunResponse - (*Event)(nil), // 106: until.Event - (*Actor)(nil), // 107: until.Actor - (*ObjectReference)(nil), // 108: until.ObjectReference - (*PlanCreated)(nil), // 109: until.PlanCreated - (*PlanUpdated)(nil), // 110: until.PlanUpdated - (*PlanDeleted)(nil), // 111: until.PlanDeleted - (*ReviewDeleted)(nil), // 112: until.ReviewDeleted - (*ReviewRestored)(nil), // 113: until.ReviewRestored - (*PlanRestored)(nil), // 114: until.PlanRestored - (*ReviewRequested)(nil), // 115: until.ReviewRequested - (*ReviewSubmitted)(nil), // 116: until.ReviewSubmitted - (*ReviewNoEligibleReviewer)(nil), // 117: until.ReviewNoEligibleReviewer - (*PlanReviewPolicyDecided)(nil), // 118: until.PlanReviewPolicyDecided - (*WorkspaceReviewPolicyUpdated)(nil), // 119: until.WorkspaceReviewPolicyUpdated - (*PrincipalCreated)(nil), // 120: until.PrincipalCreated - (*PrincipalUpdated)(nil), // 121: until.PrincipalUpdated - (*PrincipalTombstoned)(nil), // 122: until.PrincipalTombstoned - (*WorkspaceCreated)(nil), // 123: until.WorkspaceCreated - (*WorkspaceOnboardingCompleted)(nil), // 124: until.WorkspaceOnboardingCompleted - (*WorkspaceRenamed)(nil), // 125: until.WorkspaceRenamed - (*WorkspaceDeleted)(nil), // 126: until.WorkspaceDeleted - (*WorkspaceMemberJoined)(nil), // 127: until.WorkspaceMemberJoined - (*WorkspaceMemberLeft)(nil), // 128: until.WorkspaceMemberLeft - (*ApprovedEmailDomainAdded)(nil), // 129: until.ApprovedEmailDomainAdded - (*ApprovedEmailDomainVerified)(nil), // 130: until.ApprovedEmailDomainVerified - (*ApprovedEmailDomainDeleted)(nil), // 131: until.ApprovedEmailDomainDeleted - (*MCPGrantWorkspaceBindingChanged)(nil), // 132: until.MCPGrantWorkspaceBindingChanged - (*IdentityCreated)(nil), // 133: until.IdentityCreated - (*IdentityDeleted)(nil), // 134: until.IdentityDeleted - (*BindingCreated)(nil), // 135: until.BindingCreated - (*BindingUpdated)(nil), // 136: until.BindingUpdated - (*BindingDeleted)(nil), // 137: until.BindingDeleted - (*CredentialConnected)(nil), // 138: until.CredentialConnected - (*CredentialRevoked)(nil), // 139: until.CredentialRevoked - (*WorkspaceLLMCredentialConnected)(nil), // 140: until.WorkspaceLLMCredentialConnected - (*WorkspaceLLMCredentialRevoked)(nil), // 141: until.WorkspaceLLMCredentialRevoked - (*ReviewDriveByStarted)(nil), // 142: until.ReviewDriveByStarted - (*OtherEvent)(nil), // 143: until.OtherEvent - (*UnknownStoredPayload)(nil), // 144: until.UnknownStoredPayload - (*PullRequestOpened)(nil), // 145: until.PullRequestOpened - (*PullRequestSynchronized)(nil), // 146: until.PullRequestSynchronized - (*PullRequestUpdated)(nil), // 147: until.PullRequestUpdated - (*PullRequestClosed)(nil), // 148: until.PullRequestClosed - (*PullRequestLinkedToPlan)(nil), // 149: until.PullRequestLinkedToPlan - (*PullRequestUnlinkedFromPlan)(nil), // 150: until.PullRequestUnlinkedFromPlan - (*PullRequestLinkedToAgentRun)(nil), // 151: until.PullRequestLinkedToAgentRun - (*PullRequestReviewRequested)(nil), // 152: until.PullRequestReviewRequested - (*PullRequestApproved)(nil), // 153: until.PullRequestApproved - (*PullRequestChangesRequested)(nil), // 154: until.PullRequestChangesRequested - (*PullRequestReviewDismissed)(nil), // 155: until.PullRequestReviewDismissed - (*PullRequestCommentCreated)(nil), // 156: until.PullRequestCommentCreated - (*PlanCheckStarted)(nil), // 157: until.PlanCheckStarted - (*DifferenceSummary)(nil), // 158: until.DifferenceSummary - (*PlanCheckCompleted)(nil), // 159: until.PlanCheckCompleted - (*PlanCheckFailed)(nil), // 160: until.PlanCheckFailed - (*PlanDifferenceRecorded)(nil), // 161: until.PlanDifferenceRecorded - (*PlanDifferenceUpdated)(nil), // 162: until.PlanDifferenceUpdated - (*PlanDifferenceResolved)(nil), // 163: until.PlanDifferenceResolved - (*PlanDifferenceAcknowledged)(nil), // 164: until.PlanDifferenceAcknowledged - (*PlanDifferenceAcknowledgementCleared)(nil), // 165: until.PlanDifferenceAcknowledgementCleared - (*AgentRunDispatched)(nil), // 166: until.AgentRunDispatched - (*AgentRunStarted)(nil), // 167: until.AgentRunStarted - (*AgentRunPullRequestMatched)(nil), // 168: until.AgentRunPullRequestMatched - (*AgentRunFlaggedNeedsYou)(nil), // 169: until.AgentRunFlaggedNeedsYou - (*AgentRunGatePassed)(nil), // 170: until.AgentRunGatePassed - (*AgentRunMerged)(nil), // 171: until.AgentRunMerged - (*AgentRunCancelled)(nil), // 172: until.AgentRunCancelled - (*AgentRunDeclined)(nil), // 173: until.AgentRunDeclined - (*AgentRunAnnotated)(nil), // 174: until.AgentRunAnnotated - (*LoopIngested)(nil), // 175: until.LoopIngested - (*LoopRunQueued)(nil), // 176: until.LoopRunQueued - (*LoopRunStarted)(nil), // 177: until.LoopRunStarted - (*LoopRunCompleted)(nil), // 178: until.LoopRunCompleted - (*LoopRunFailed)(nil), // 179: until.LoopRunFailed - (*LoopRunCancelled)(nil), // 180: until.LoopRunCancelled - (*SlackWebhook)(nil), // 181: until.SlackWebhook - (*LinearWebhook)(nil), // 182: until.LinearWebhook - (*ComposioTriggerMessage)(nil), // 183: until.ComposioTriggerMessage - (*GitHubWebhook)(nil), // 184: until.GitHubWebhook - (*GitLabWebhook)(nil), // 185: until.GitLabWebhook - (*BitbucketWebhook)(nil), // 186: until.BitbucketWebhook - (*EmbeddedJsonCELFixture)(nil), // 187: until.EmbeddedJsonCELFixture - (*SlackMentionReceived)(nil), // 188: until.SlackMentionReceived - (*OrganisationAppInstallationUpserted)(nil), // 189: until.OrganisationAppInstallationUpserted - (*OrganisationAppInstallationDeleted)(nil), // 190: until.OrganisationAppInstallationDeleted - (*SlackReactionAdded)(nil), // 191: until.SlackReactionAdded - (*ListLoopsRequest)(nil), // 192: until.ListLoopsRequest - (*ListLoopsResponse)(nil), // 193: until.ListLoopsResponse - (*LoopSummary)(nil), // 194: until.LoopSummary - (*GetLoopRequest)(nil), // 195: until.GetLoopRequest - (*GetLoopResponse)(nil), // 196: until.GetLoopResponse - (*Loop)(nil), // 197: until.Loop - (*ListLoopRunsRequest)(nil), // 198: until.ListLoopRunsRequest - (*ListLoopRunsResponse)(nil), // 199: until.ListLoopRunsResponse - (*LoopRunSummary)(nil), // 200: until.LoopRunSummary - (*GetLoopRunRequest)(nil), // 201: until.GetLoopRunRequest - (*GetLoopRunThreadHistoryRequest)(nil), // 202: until.GetLoopRunThreadHistoryRequest - (*LoopRunThreadSegment)(nil), // 203: until.LoopRunThreadSegment - (*GetLoopRunThreadHistoryResponse)(nil), // 204: until.GetLoopRunThreadHistoryResponse - (*GetLoopRunResponse)(nil), // 205: until.GetLoopRunResponse - (*LoopRun)(nil), // 206: until.LoopRun - (*GetPrincipalStatusRequest)(nil), // 207: until.GetPrincipalStatusRequest - (*GetPrincipalStatusResponse)(nil), // 208: until.GetPrincipalStatusResponse - (*GetIntegrationConnectURLRequest)(nil), // 209: until.GetIntegrationConnectURLRequest - (*GetIntegrationConnectURLResponse)(nil), // 210: until.GetIntegrationConnectURLResponse - (*DisconnectIntegrationRequest)(nil), // 211: until.DisconnectIntegrationRequest - (*DisconnectIntegrationResponse)(nil), // 212: until.DisconnectIntegrationResponse - (*ConnectByoHttpMcpRequest)(nil), // 213: until.ConnectByoHttpMcpRequest - (*ConnectByoHttpMcpResponse)(nil), // 214: until.ConnectByoHttpMcpResponse - (*GetGitLabConnectionRequest)(nil), // 215: until.GetGitLabConnectionRequest - (*GetGitLabConnectionResponse)(nil), // 216: until.GetGitLabConnectionResponse - (*ConnectGitLabRequest)(nil), // 217: until.ConnectGitLabRequest - (*ConnectGitLabResponse)(nil), // 218: until.ConnectGitLabResponse - (*SaveGitLabSigningTokenRequest)(nil), // 219: until.SaveGitLabSigningTokenRequest - (*SaveGitLabSigningTokenResponse)(nil), // 220: until.SaveGitLabSigningTokenResponse - (*GitHubPendingInstall)(nil), // 221: until.GitHubPendingInstall - (*IntegrationStatus)(nil), // 222: until.IntegrationStatus - (*GetWorkspaceIntegrationRolesRequest)(nil), // 223: until.GetWorkspaceIntegrationRolesRequest - (*GetWorkspaceIntegrationRolesResponse)(nil), // 224: until.GetWorkspaceIntegrationRolesResponse - (*SetWorkspaceIntegrationRolesRequest)(nil), // 225: until.SetWorkspaceIntegrationRolesRequest - (*SetWorkspaceIntegrationRolesResponse)(nil), // 226: until.SetWorkspaceIntegrationRolesResponse - (*Principal)(nil), // 227: until.Principal - (*Workspace)(nil), // 228: until.Workspace - (*CreateWorkspaceRequest)(nil), // 229: until.CreateWorkspaceRequest - (*CreateWorkspaceResponse)(nil), // 230: until.CreateWorkspaceResponse - (*ListMyWorkspacesRequest)(nil), // 231: until.ListMyWorkspacesRequest - (*ListMyWorkspacesResponse)(nil), // 232: until.ListMyWorkspacesResponse - (*DiscoverLoginRecoveryCandidatesRequest)(nil), // 233: until.DiscoverLoginRecoveryCandidatesRequest - (*LoginRecoveryCandidate)(nil), // 234: until.LoginRecoveryCandidate - (*DiscoverLoginRecoveryCandidatesResponse)(nil), // 235: until.DiscoverLoginRecoveryCandidatesResponse - (*RenameWorkspaceRequest)(nil), // 236: until.RenameWorkspaceRequest - (*RenameWorkspaceResponse)(nil), // 237: until.RenameWorkspaceResponse - (*DeleteWorkspaceRequest)(nil), // 238: until.DeleteWorkspaceRequest - (*DeleteWorkspaceResponse)(nil), // 239: until.DeleteWorkspaceResponse - (*ListJoinableWorkspacesRequest)(nil), // 240: until.ListJoinableWorkspacesRequest - (*ListJoinableWorkspacesResponse)(nil), // 241: until.ListJoinableWorkspacesResponse - (*JoinableWorkspace)(nil), // 242: until.JoinableWorkspace - (*JoinableWorkspaceMember)(nil), // 243: until.JoinableWorkspaceMember - (*JoinWorkspaceRequest)(nil), // 244: until.JoinWorkspaceRequest - (*JoinWorkspaceResponse)(nil), // 245: until.JoinWorkspaceResponse - (*ApprovedEmailDomain)(nil), // 246: until.ApprovedEmailDomain - (*ListApprovedEmailDomainsRequest)(nil), // 247: until.ListApprovedEmailDomainsRequest - (*ListApprovedEmailDomainsResponse)(nil), // 248: until.ListApprovedEmailDomainsResponse - (*AddApprovedEmailDomainRequest)(nil), // 249: until.AddApprovedEmailDomainRequest - (*AddApprovedEmailDomainResponse)(nil), // 250: until.AddApprovedEmailDomainResponse - (*VerifyApprovedEmailDomainRequest)(nil), // 251: until.VerifyApprovedEmailDomainRequest - (*VerifyApprovedEmailDomainResponse)(nil), // 252: until.VerifyApprovedEmailDomainResponse - (*ResendApprovedEmailDomainCodeRequest)(nil), // 253: until.ResendApprovedEmailDomainCodeRequest - (*ResendApprovedEmailDomainCodeResponse)(nil), // 254: until.ResendApprovedEmailDomainCodeResponse - (*ResendVerificationEmailRequest)(nil), // 255: until.ResendVerificationEmailRequest - (*ResendVerificationEmailResponse)(nil), // 256: until.ResendVerificationEmailResponse - (*DeleteApprovedEmailDomainRequest)(nil), // 257: until.DeleteApprovedEmailDomainRequest - (*DeleteApprovedEmailDomainResponse)(nil), // 258: until.DeleteApprovedEmailDomainResponse - (*WorkspaceLLMCredentialStatus)(nil), // 259: until.WorkspaceLLMCredentialStatus - (*GetWorkspaceLLMCredentialStatusRequest)(nil), // 260: until.GetWorkspaceLLMCredentialStatusRequest - (*GetWorkspaceLLMCredentialStatusResponse)(nil), // 261: until.GetWorkspaceLLMCredentialStatusResponse - (*SetWorkspaceLLMCredentialRequest)(nil), // 262: until.SetWorkspaceLLMCredentialRequest - (*SetWorkspaceLLMCredentialResponse)(nil), // 263: until.SetWorkspaceLLMCredentialResponse - (*DeleteWorkspaceLLMCredentialRequest)(nil), // 264: until.DeleteWorkspaceLLMCredentialRequest - (*DeleteWorkspaceLLMCredentialResponse)(nil), // 265: until.DeleteWorkspaceLLMCredentialResponse - (*MyCursorCredentialStatus)(nil), // 266: until.MyCursorCredentialStatus - (*GetMyCursorCredentialStatusRequest)(nil), // 267: until.GetMyCursorCredentialStatusRequest - (*GetMyCursorCredentialStatusResponse)(nil), // 268: until.GetMyCursorCredentialStatusResponse - (*SetMyCursorCredentialRequest)(nil), // 269: until.SetMyCursorCredentialRequest - (*SetMyCursorCredentialResponse)(nil), // 270: until.SetMyCursorCredentialResponse - (*DeleteMyCursorCredentialRequest)(nil), // 271: until.DeleteMyCursorCredentialRequest - (*DeleteMyCursorCredentialResponse)(nil), // 272: until.DeleteMyCursorCredentialResponse - (*UpdateWorkspaceBrandingRequest)(nil), // 273: until.UpdateWorkspaceBrandingRequest - (*UpdateWorkspaceBrandingResponse)(nil), // 274: until.UpdateWorkspaceBrandingResponse - (*CompleteWorkspaceOnboardingRequest)(nil), // 275: until.CompleteWorkspaceOnboardingRequest - (*CompleteWorkspaceOnboardingResponse)(nil), // 276: until.CompleteWorkspaceOnboardingResponse - (*CreateInvitationRequest)(nil), // 277: until.CreateInvitationRequest - (*CreateInvitationResponse)(nil), // 278: until.CreateInvitationResponse - (*CreateInvitationsRequest)(nil), // 279: until.CreateInvitationsRequest - (*InvitationResult)(nil), // 280: until.InvitationResult - (*CreateInvitationsResponse)(nil), // 281: until.CreateInvitationsResponse - (*AcceptInvitationRequest)(nil), // 282: until.AcceptInvitationRequest - (*AcceptInvitationResponse)(nil), // 283: until.AcceptInvitationResponse - (*ListWorkspaceMembersRequest)(nil), // 284: until.ListWorkspaceMembersRequest - (*ListWorkspaceMembersResponse)(nil), // 285: until.ListWorkspaceMembersResponse - (*WorkspaceMember)(nil), // 286: until.WorkspaceMember - (*ResendInvitationRequest)(nil), // 287: until.ResendInvitationRequest - (*ResendInvitationResponse)(nil), // 288: until.ResendInvitationResponse - (*RevokeInvitationRequest)(nil), // 289: until.RevokeInvitationRequest - (*RevokeInvitationResponse)(nil), // 290: until.RevokeInvitationResponse - (*RemoveWorkspaceMemberRequest)(nil), // 291: until.RemoveWorkspaceMemberRequest - (*RemoveWorkspaceMemberResponse)(nil), // 292: until.RemoveWorkspaceMemberResponse - (*UpdateWorkspaceMemberRoleRequest)(nil), // 293: until.UpdateWorkspaceMemberRoleRequest - (*UpdateWorkspaceMemberRoleResponse)(nil), // 294: until.UpdateWorkspaceMemberRoleResponse - (*GetInvitationRequest)(nil), // 295: until.GetInvitationRequest - (*GetInvitationResponse)(nil), // 296: until.GetInvitationResponse - (*UpsertMyVerifiedBindingRequest)(nil), // 297: until.UpsertMyVerifiedBindingRequest - (*UpsertMyVerifiedBindingResponse)(nil), // 298: until.UpsertMyVerifiedBindingResponse - (*UpdateMyDisplayNameRequest)(nil), // 299: until.UpdateMyDisplayNameRequest - (*UpdateMyDisplayNameResponse)(nil), // 300: until.UpdateMyDisplayNameResponse - (*ListMyBindingsRequest)(nil), // 301: until.ListMyBindingsRequest - (*ListMyBindingsResponse)(nil), // 302: until.ListMyBindingsResponse - (*NotificationPreferences)(nil), // 303: until.NotificationPreferences - (*ChannelPreferences)(nil), // 304: until.ChannelPreferences - (*GetMyNotificationPreferencesRequest)(nil), // 305: until.GetMyNotificationPreferencesRequest - (*GetMyNotificationPreferencesResponse)(nil), // 306: until.GetMyNotificationPreferencesResponse - (*UpdateMyNotificationPreferencesRequest)(nil), // 307: until.UpdateMyNotificationPreferencesRequest - (*UpdateMyNotificationPreferencesResponse)(nil), // 308: until.UpdateMyNotificationPreferencesResponse - (*RegisterMyPushSubscriptionRequest)(nil), // 309: until.RegisterMyPushSubscriptionRequest - (*RegisterMyPushSubscriptionResponse)(nil), // 310: until.RegisterMyPushSubscriptionResponse - (*GetWebPushPublicKeyRequest)(nil), // 311: until.GetWebPushPublicKeyRequest - (*GetWebPushPublicKeyResponse)(nil), // 312: until.GetWebPushPublicKeyResponse - (*Binding)(nil), // 313: until.Binding - (*BlockingDifferenceTagsPatch)(nil), // 314: until.BlockingDifferenceTagsPatch - (*GetPlanCheckSettingsRequest)(nil), // 315: until.GetPlanCheckSettingsRequest - (*GetPlanCheckSettingsResponse)(nil), // 316: until.GetPlanCheckSettingsResponse - (*UpdatePlanCheckSettingsRequest)(nil), // 317: until.UpdatePlanCheckSettingsRequest - (*UpdatePlanCheckSettingsResponse)(nil), // 318: until.UpdatePlanCheckSettingsResponse - (*AdminGetAccountPlanCheckSettingsRequest)(nil), // 319: until.AdminGetAccountPlanCheckSettingsRequest - (*AdminUpdateAccountPlanCheckSettingsRequest)(nil), // 320: until.AdminUpdateAccountPlanCheckSettingsRequest - (*AdminGetAccountReviewPolicyRequest)(nil), // 321: until.AdminGetAccountReviewPolicyRequest - (*AdminGetAccountReviewPolicyResponse)(nil), // 322: until.AdminGetAccountReviewPolicyResponse - (*AdminUpdateAccountReviewPolicyRequest)(nil), // 323: until.AdminUpdateAccountReviewPolicyRequest - (*AdminUpdateAccountReviewPolicyResponse)(nil), // 324: until.AdminUpdateAccountReviewPolicyResponse - (*AdminGetAccountLLMCredentialStatusRequest)(nil), // 325: until.AdminGetAccountLLMCredentialStatusRequest - (*AdminGetAccountLLMCredentialStatusResponse)(nil), // 326: until.AdminGetAccountLLMCredentialStatusResponse - (*AdminListAccountIntegrationsRequest)(nil), // 327: until.AdminListAccountIntegrationsRequest - (*AdminAccountIntegrationInstall)(nil), // 328: until.AdminAccountIntegrationInstall - (*AdminListAccountIntegrationsResponse)(nil), // 329: until.AdminListAccountIntegrationsResponse - (*ListIntegrationCatalogueRequest)(nil), // 330: until.ListIntegrationCatalogueRequest - (*ListIntegrationCatalogueResponse)(nil), // 331: until.ListIntegrationCatalogueResponse - (*IntegrationCatalogueEntry)(nil), // 332: until.IntegrationCatalogueEntry - (*GetPlanPromptRequest)(nil), // 333: until.GetPlanPromptRequest - (*GetPlanPromptResponse)(nil), // 334: until.GetPlanPromptResponse - nil, // 335: until.PlanUpdated.PreviousEntry - nil, // 336: until.PlanUpdated.AfterEntry - nil, // 337: until.PrincipalUpdated.PreviousEntry - nil, // 338: until.PrincipalUpdated.AfterEntry - nil, // 339: until.BindingUpdated.PreviousEntry - nil, // 340: until.BindingUpdated.AfterEntry - nil, // 341: until.OtherEvent.FieldsEntry - nil, // 342: until.PullRequestUpdated.PreviousEntry - nil, // 343: until.PullRequestUpdated.AfterEntry - nil, // 344: until.PlanCheckCompleted.DifferenceCountByTagEntry - nil, // 345: until.PlanDifferenceUpdated.PreviousEntry - nil, // 346: until.PlanDifferenceUpdated.AfterEntry - nil, // 347: until.NotificationPreferences.PreferencesEntry - nil, // 348: until.ChannelPreferences.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 349: google.protobuf.Timestamp - (*structpb.Value)(nil), // 350: google.protobuf.Value - (*descriptorpb.FieldOptions)(nil), // 351: google.protobuf.FieldOptions - (*emptypb.Empty)(nil), // 352: google.protobuf.Empty -} -var file_brent_proto_depIdxs = []int32{ - 23, // 0: until.ListPullRequestsResponse.pull_requests:type_name -> until.PullRequestSummary - 24, // 1: until.GetPullRequestByIDResponse.pull_request:type_name -> until.PullRequest - 25, // 2: until.ListPlanChecksForPRResponse.analyses:type_name -> until.PlanCheckSummary - 349, // 3: until.PullRequestTimelineEventRow.occurred_at:type_name -> google.protobuf.Timestamp - 24, // 4: until.GetPullRequestTimelineResponse.pull_request:type_name -> until.PullRequest - 20, // 5: until.GetPullRequestTimelineResponse.events:type_name -> until.PullRequestTimelineEventRow - 21, // 6: until.GetPullRequestTimelineResponse.warnings:type_name -> until.PullRequestTimelineWarning - 349, // 7: until.PullRequestSummary.updated_at:type_name -> google.protobuf.Timestamp - 349, // 8: until.PullRequest.created_at:type_name -> google.protobuf.Timestamp - 349, // 9: until.PullRequest.updated_at:type_name -> google.protobuf.Timestamp - 349, // 10: until.PullRequest.closed_at:type_name -> google.protobuf.Timestamp - 349, // 11: until.PlanCheckSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 12: until.PlanCheckSummary.completed_at:type_name -> google.protobuf.Timestamp - 349, // 13: until.PlanCheckSummary.failed_at:type_name -> google.protobuf.Timestamp - 26, // 14: until.PlanCheckSummary.differences:type_name -> until.PlanDifference - 349, // 15: until.PlanDifference.resolved_at:type_name -> google.protobuf.Timestamp - 30, // 16: until.ListRunsResponse.runs:type_name -> until.RunSummary - 0, // 17: until.RunSummary.status:type_name -> until.RunStatus - 349, // 18: until.RunSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 19: until.RunSummary.completed_at:type_name -> google.protobuf.Timestamp - 106, // 20: until.StreamEventsResponse.event:type_name -> until.Event - 349, // 21: until.ListEventsRequest.occurred_from:type_name -> google.protobuf.Timestamp - 349, // 22: until.ListEventsRequest.occurred_to:type_name -> google.protobuf.Timestamp - 106, // 23: until.ListEventsResponse.events:type_name -> until.Event - 42, // 24: until.ListOpenPullRequestsResponse.pull_requests:type_name -> until.OpenPullRequest - 42, // 25: until.GetPullRequestResponse.pull_request:type_name -> until.OpenPullRequest - 349, // 26: until.OpenPullRequest.updated_at:type_name -> google.protobuf.Timestamp - 349, // 27: until.ExecuteLoopResponse.timestamp:type_name -> google.protobuf.Timestamp - 44, // 28: until.ExecuteLoopResponse.reasoning:type_name -> until.ReasoningStep - 45, // 29: until.ExecuteLoopResponse.tool_call:type_name -> until.ToolCallStep - 46, // 30: until.ExecuteLoopResponse.tool_result:type_name -> until.ToolResultStep - 47, // 31: until.ExecuteLoopResponse.completion:type_name -> until.CompletionStep - 48, // 32: until.ExecuteLoopResponse.error:type_name -> until.ErrorStep - 49, // 33: until.ExecuteLoopResponse.status:type_name -> until.StatusStep - 50, // 34: until.ExecuteLoopResponse.run_started:type_name -> until.RunStartedStep - 51, // 35: until.ExecuteLoopResponse.qa_ready:type_name -> until.QAReadyStep - 52, // 36: until.ExecuteLoopResponse.user_question:type_name -> until.UserQuestionStep - 53, // 37: until.ExecuteLoopResponse.user_message:type_name -> until.UserMessageStep - 57, // 38: until.AdminListPlansResponse.plans:type_name -> until.PlanSummary - 349, // 39: until.PlanSummary.created_at:type_name -> google.protobuf.Timestamp - 349, // 40: until.PlanSummary.updated_at:type_name -> google.protobuf.Timestamp - 349, // 41: until.PlanSummary.deleted_at:type_name -> google.protobuf.Timestamp - 349, // 42: until.PlanSummary.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 60, // 43: until.AdminGetPlanResponse.plan:type_name -> until.Plan - 85, // 44: until.AdminGetPlanResponse.related_reviews:type_name -> until.ReviewSummary - 23, // 45: until.AdminGetPlanResponse.related_pull_requests:type_name -> until.PullRequestSummary - 349, // 46: until.Plan.created_at:type_name -> google.protobuf.Timestamp - 349, // 47: until.Plan.updated_at:type_name -> google.protobuf.Timestamp - 349, // 48: until.Plan.lifecycle_stage_updated_at:type_name -> google.protobuf.Timestamp - 227, // 49: until.AdminListPrincipalsResponse.principals:type_name -> until.Principal - 227, // 50: until.AdminGetPrincipalResponse.principal:type_name -> until.Principal - 65, // 51: until.AdminGetPrincipalResponse.identities:type_name -> until.PrincipalIdentity - 313, // 52: until.AdminGetPrincipalResponse.bindings:type_name -> until.Binding - 349, // 53: until.PrincipalIdentity.created_at:type_name -> google.protobuf.Timestamp - 349, // 54: until.PrincipalIdentity.updated_at:type_name -> google.protobuf.Timestamp - 313, // 55: until.AdminUpsertPrincipalBindingResponse.binding:type_name -> until.Binding - 227, // 56: until.AdminUpdatePrincipalResponse.principal:type_name -> until.Principal - 65, // 57: until.AdminCreatePrincipalIdentityResponse.identity:type_name -> until.PrincipalIdentity - 80, // 58: until.AdminListPrincipalCredentialConnectionsResponse.connections:type_name -> until.PrincipalCredentialConnection - 349, // 59: until.PrincipalCredentialConnection.last_validated_at:type_name -> google.protobuf.Timestamp - 85, // 60: until.AdminListReviewsResponse.reviews:type_name -> until.ReviewSummary - 349, // 61: until.ReviewSummary.requested_at:type_name -> google.protobuf.Timestamp - 349, // 62: until.ReviewSummary.decided_at:type_name -> google.protobuf.Timestamp - 88, // 63: until.AdminGetReviewResponse.review:type_name -> until.Review - 57, // 64: until.AdminGetReviewResponse.plan:type_name -> until.PlanSummary - 349, // 65: until.Review.requested_at:type_name -> google.protobuf.Timestamp - 349, // 66: until.Review.decided_at:type_name -> google.protobuf.Timestamp - 349, // 67: until.Review.created_at:type_name -> google.protobuf.Timestamp - 349, // 68: until.Review.updated_at:type_name -> google.protobuf.Timestamp - 89, // 69: until.AdminListAccountsResponse.accounts:type_name -> until.AccountSummary - 349, // 70: until.AccountRunSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 71: until.AdminGetAccountSummaryResponse.last_active_at:type_name -> google.protobuf.Timestamp - 92, // 72: until.AdminGetAccountSummaryResponse.recent_runs:type_name -> until.AccountRunSummary - 95, // 73: until.AdminGetAccountHealthAnalysisResponse.findings:type_name -> until.AccountHealthFinding - 349, // 74: until.AdminGetAccountHealthAnalysisResponse.computed_at:type_name -> google.protobuf.Timestamp - 98, // 75: until.AdminListAccountMetricReposResponse.repos:type_name -> until.AccountMetricRepo - 349, // 76: until.AdminStartAccountMetricsComparisonRequest.before_start:type_name -> google.protobuf.Timestamp - 349, // 77: until.AdminStartAccountMetricsComparisonRequest.before_end:type_name -> google.protobuf.Timestamp - 349, // 78: until.AdminStartAccountMetricsComparisonRequest.after_start:type_name -> google.protobuf.Timestamp - 349, // 79: until.AdminStartAccountMetricsComparisonRequest.after_end:type_name -> google.protobuf.Timestamp - 1, // 80: until.AdminStartAccountMetricsComparisonRequest.comparison_mode:type_name -> until.MetricsComparisonMode - 349, // 81: until.AdminStartAccountMetricsComparisonRequest.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 349, // 82: until.AdminStartAccountMetricsComparisonRequest.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 349, // 83: until.AdminGetAccountMetricsComparisonRunResponse.started_at:type_name -> google.protobuf.Timestamp - 349, // 84: until.AdminGetAccountMetricsComparisonRunResponse.completed_at:type_name -> google.protobuf.Timestamp - 103, // 85: until.AdminGetAccountMetricsComparisonRunResponse.headline:type_name -> until.MetricsComparisonHeadline - 349, // 86: until.AdminGetAccountMetricsComparisonRunResponse.before_start:type_name -> google.protobuf.Timestamp - 349, // 87: until.AdminGetAccountMetricsComparisonRunResponse.before_end:type_name -> google.protobuf.Timestamp - 349, // 88: until.AdminGetAccountMetricsComparisonRunResponse.after_start:type_name -> google.protobuf.Timestamp - 349, // 89: until.AdminGetAccountMetricsComparisonRunResponse.after_end:type_name -> google.protobuf.Timestamp - 104, // 90: until.AdminGetAccountMetricsComparisonRunResponse.artifacts:type_name -> until.MetricsComparisonArtifact - 1, // 91: until.AdminGetAccountMetricsComparisonRunResponse.comparison_mode:type_name -> until.MetricsComparisonMode - 349, // 92: until.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_start:type_name -> google.protobuf.Timestamp - 349, // 93: until.AdminGetAccountMetricsComparisonRunResponse.planned_unplanned_end:type_name -> google.protobuf.Timestamp - 349, // 94: until.Event.occurred_at:type_name -> google.protobuf.Timestamp - 107, // 95: until.Event.actor:type_name -> until.Actor - 108, // 96: until.Event.object:type_name -> until.ObjectReference - 349, // 97: until.Event.received_at:type_name -> google.protobuf.Timestamp - 109, // 98: until.Event.plan_created:type_name -> until.PlanCreated - 110, // 99: until.Event.plan_updated:type_name -> until.PlanUpdated - 111, // 100: until.Event.plan_deleted:type_name -> until.PlanDeleted - 115, // 101: until.Event.review_requested:type_name -> until.ReviewRequested - 116, // 102: until.Event.review_submitted:type_name -> until.ReviewSubmitted - 143, // 103: until.Event.other:type_name -> until.OtherEvent - 184, // 104: until.Event.github_webhook:type_name -> until.GitHubWebhook - 188, // 105: until.Event.slack_mention:type_name -> until.SlackMentionReceived - 191, // 106: until.Event.slack_reaction:type_name -> until.SlackReactionAdded - 145, // 107: until.Event.pull_request_opened:type_name -> until.PullRequestOpened - 146, // 108: until.Event.pull_request_synchronized:type_name -> until.PullRequestSynchronized - 147, // 109: until.Event.pull_request_updated:type_name -> until.PullRequestUpdated - 148, // 110: until.Event.pull_request_closed:type_name -> until.PullRequestClosed - 149, // 111: until.Event.pull_request_linked_to_plan:type_name -> until.PullRequestLinkedToPlan - 150, // 112: until.Event.pull_request_unlinked_from_plan:type_name -> until.PullRequestUnlinkedFromPlan - 189, // 113: until.Event.organisation_app_installation_upserted:type_name -> until.OrganisationAppInstallationUpserted - 190, // 114: until.Event.organisation_app_installation_deleted:type_name -> until.OrganisationAppInstallationDeleted - 157, // 115: until.Event.plan_check_started:type_name -> until.PlanCheckStarted - 159, // 116: until.Event.plan_check_completed:type_name -> until.PlanCheckCompleted - 160, // 117: until.Event.plan_check_failed:type_name -> until.PlanCheckFailed - 176, // 118: until.Event.loop_run_queued:type_name -> until.LoopRunQueued - 177, // 119: until.Event.loop_run_started:type_name -> until.LoopRunStarted - 178, // 120: until.Event.loop_run_completed:type_name -> until.LoopRunCompleted - 179, // 121: until.Event.loop_run_failed:type_name -> until.LoopRunFailed - 180, // 122: until.Event.loop_run_cancelled:type_name -> until.LoopRunCancelled - 117, // 123: until.Event.review_no_eligible_reviewer:type_name -> until.ReviewNoEligibleReviewer - 120, // 124: until.Event.principal_created:type_name -> until.PrincipalCreated - 121, // 125: until.Event.principal_updated:type_name -> until.PrincipalUpdated - 122, // 126: until.Event.principal_tombstoned:type_name -> until.PrincipalTombstoned - 133, // 127: until.Event.identity_created:type_name -> until.IdentityCreated - 134, // 128: until.Event.identity_deleted:type_name -> until.IdentityDeleted - 135, // 129: until.Event.binding_created:type_name -> until.BindingCreated - 136, // 130: until.Event.binding_updated:type_name -> until.BindingUpdated - 137, // 131: until.Event.binding_deleted:type_name -> until.BindingDeleted - 142, // 132: until.Event.review_drive_by_started:type_name -> until.ReviewDriveByStarted - 181, // 133: until.Event.slack_webhook:type_name -> until.SlackWebhook - 112, // 134: until.Event.review_deleted:type_name -> until.ReviewDeleted - 114, // 135: until.Event.plan_restored:type_name -> until.PlanRestored - 182, // 136: until.Event.linear_webhook:type_name -> until.LinearWebhook - 156, // 137: until.Event.pull_request_comment_created:type_name -> until.PullRequestCommentCreated - 161, // 138: until.Event.plan_difference_recorded:type_name -> until.PlanDifferenceRecorded - 162, // 139: until.Event.plan_difference_updated:type_name -> until.PlanDifferenceUpdated - 163, // 140: until.Event.plan_difference_resolved:type_name -> until.PlanDifferenceResolved - 166, // 141: until.Event.agent_run_dispatched:type_name -> until.AgentRunDispatched - 167, // 142: until.Event.agent_run_started:type_name -> until.AgentRunStarted - 168, // 143: until.Event.agent_run_pull_request_matched:type_name -> until.AgentRunPullRequestMatched - 169, // 144: until.Event.agent_run_flagged_needs_you:type_name -> until.AgentRunFlaggedNeedsYou - 171, // 145: until.Event.agent_run_merged:type_name -> until.AgentRunMerged - 173, // 146: until.Event.agent_run_declined:type_name -> until.AgentRunDeclined - 172, // 147: until.Event.agent_run_cancelled:type_name -> until.AgentRunCancelled - 170, // 148: until.Event.agent_run_gate_passed:type_name -> until.AgentRunGatePassed - 151, // 149: until.Event.pull_request_linked_to_agent_run:type_name -> until.PullRequestLinkedToAgentRun - 175, // 150: until.Event.loop_ingested:type_name -> until.LoopIngested - 152, // 151: until.Event.pull_request_review_requested:type_name -> until.PullRequestReviewRequested - 153, // 152: until.Event.pull_request_approved:type_name -> until.PullRequestApproved - 154, // 153: until.Event.pull_request_changes_requested:type_name -> until.PullRequestChangesRequested - 155, // 154: until.Event.pull_request_review_dismissed:type_name -> until.PullRequestReviewDismissed - 138, // 155: until.Event.credential_connected:type_name -> until.CredentialConnected - 139, // 156: until.Event.credential_revoked:type_name -> until.CredentialRevoked - 174, // 157: until.Event.agent_run_annotated:type_name -> until.AgentRunAnnotated - 123, // 158: until.Event.workspace_created:type_name -> until.WorkspaceCreated - 132, // 159: until.Event.mcp_grant_workspace_binding_changed:type_name -> until.MCPGrantWorkspaceBindingChanged - 124, // 160: until.Event.workspace_onboarding_completed:type_name -> until.WorkspaceOnboardingCompleted - 125, // 161: until.Event.workspace_renamed:type_name -> until.WorkspaceRenamed - 126, // 162: until.Event.workspace_deleted:type_name -> until.WorkspaceDeleted - 129, // 163: until.Event.approved_email_domain_added:type_name -> until.ApprovedEmailDomainAdded - 130, // 164: until.Event.approved_email_domain_verified:type_name -> until.ApprovedEmailDomainVerified - 131, // 165: until.Event.approved_email_domain_deleted:type_name -> until.ApprovedEmailDomainDeleted - 185, // 166: until.Event.gitlab_webhook:type_name -> until.GitLabWebhook - 140, // 167: until.Event.workspace_llm_credential_connected:type_name -> until.WorkspaceLLMCredentialConnected - 141, // 168: until.Event.workspace_llm_credential_revoked:type_name -> until.WorkspaceLLMCredentialRevoked - 186, // 169: until.Event.bitbucket_webhook:type_name -> until.BitbucketWebhook - 127, // 170: until.Event.workspace_member_joined:type_name -> until.WorkspaceMemberJoined - 128, // 171: until.Event.workspace_member_left:type_name -> until.WorkspaceMemberLeft - 183, // 172: until.Event.composio_trigger_message:type_name -> until.ComposioTriggerMessage - 164, // 173: until.Event.plan_difference_acknowledged:type_name -> until.PlanDifferenceAcknowledged - 165, // 174: until.Event.plan_difference_acknowledgement_cleared:type_name -> until.PlanDifferenceAcknowledgementCleared - 118, // 175: until.Event.plan_review_policy_decided:type_name -> until.PlanReviewPolicyDecided - 113, // 176: until.Event.review_restored:type_name -> until.ReviewRestored - 119, // 177: until.Event.workspace_review_policy_updated:type_name -> until.WorkspaceReviewPolicyUpdated - 144, // 178: until.Event.unknown_stored_payload:type_name -> until.UnknownStoredPayload - 335, // 179: until.PlanUpdated.previous:type_name -> until.PlanUpdated.PreviousEntry - 336, // 180: until.PlanUpdated.after:type_name -> until.PlanUpdated.AfterEntry - 349, // 181: until.ReviewSubmitted.decided_at:type_name -> google.protobuf.Timestamp - 337, // 182: until.PrincipalUpdated.previous:type_name -> until.PrincipalUpdated.PreviousEntry - 338, // 183: until.PrincipalUpdated.after:type_name -> until.PrincipalUpdated.AfterEntry - 7, // 184: until.WorkspaceMemberJoined.source:type_name -> until.JoinSource - 339, // 185: until.BindingUpdated.previous:type_name -> until.BindingUpdated.PreviousEntry - 340, // 186: until.BindingUpdated.after:type_name -> until.BindingUpdated.AfterEntry - 341, // 187: until.OtherEvent.fields:type_name -> until.OtherEvent.FieldsEntry - 342, // 188: until.PullRequestUpdated.previous:type_name -> until.PullRequestUpdated.PreviousEntry - 343, // 189: until.PullRequestUpdated.after:type_name -> until.PullRequestUpdated.AfterEntry - 349, // 190: until.PlanCheckStarted.started_at:type_name -> google.protobuf.Timestamp - 344, // 191: until.PlanCheckCompleted.difference_count_by_tag:type_name -> until.PlanCheckCompleted.DifferenceCountByTagEntry - 349, // 192: until.PlanCheckCompleted.completed_at:type_name -> google.protobuf.Timestamp - 158, // 193: until.PlanCheckCompleted.differences:type_name -> until.DifferenceSummary - 349, // 194: until.PlanCheckFailed.failed_at:type_name -> google.protobuf.Timestamp - 349, // 195: until.PlanDifferenceRecorded.recorded_at:type_name -> google.protobuf.Timestamp - 345, // 196: until.PlanDifferenceUpdated.previous:type_name -> until.PlanDifferenceUpdated.PreviousEntry - 346, // 197: until.PlanDifferenceUpdated.after:type_name -> until.PlanDifferenceUpdated.AfterEntry - 349, // 198: until.PlanDifferenceResolved.resolved_at:type_name -> google.protobuf.Timestamp - 349, // 199: until.PlanDifferenceAcknowledged.acknowledged_at:type_name -> google.protobuf.Timestamp - 349, // 200: until.PlanDifferenceAcknowledgementCleared.cleared_at:type_name -> google.protobuf.Timestamp - 349, // 201: until.LoopRunQueued.queued_at:type_name -> google.protobuf.Timestamp - 349, // 202: until.LoopRunStarted.started_at:type_name -> google.protobuf.Timestamp - 349, // 203: until.LoopRunCompleted.completed_at:type_name -> google.protobuf.Timestamp - 349, // 204: until.LoopRunFailed.failed_at:type_name -> google.protobuf.Timestamp - 349, // 205: until.LoopRunCancelled.cancelled_at:type_name -> google.protobuf.Timestamp - 194, // 206: until.ListLoopsResponse.loops:type_name -> until.LoopSummary - 349, // 207: until.LoopSummary.created_at:type_name -> google.protobuf.Timestamp - 349, // 208: until.LoopSummary.updated_at:type_name -> google.protobuf.Timestamp - 197, // 209: until.GetLoopResponse.loop:type_name -> until.Loop - 349, // 210: until.Loop.created_at:type_name -> google.protobuf.Timestamp - 349, // 211: until.Loop.updated_at:type_name -> google.protobuf.Timestamp - 200, // 212: until.ListLoopRunsResponse.runs:type_name -> until.LoopRunSummary - 349, // 213: until.LoopRunSummary.started_at:type_name -> google.protobuf.Timestamp - 349, // 214: until.LoopRunSummary.completed_at:type_name -> google.protobuf.Timestamp - 349, // 215: until.LoopRunSummary.created_at:type_name -> google.protobuf.Timestamp - 349, // 216: until.LoopRunSummary.updated_at:type_name -> google.protobuf.Timestamp - 200, // 217: until.LoopRunThreadSegment.run:type_name -> until.LoopRunSummary - 43, // 218: until.LoopRunThreadSegment.steps:type_name -> until.ExecuteLoopResponse - 203, // 219: until.GetLoopRunThreadHistoryResponse.segments:type_name -> until.LoopRunThreadSegment - 206, // 220: until.GetLoopRunResponse.run:type_name -> until.LoopRun - 194, // 221: until.GetLoopRunResponse.loop:type_name -> until.LoopSummary - 349, // 222: until.LoopRun.started_at:type_name -> google.protobuf.Timestamp - 349, // 223: until.LoopRun.completed_at:type_name -> google.protobuf.Timestamp - 349, // 224: until.LoopRun.created_at:type_name -> google.protobuf.Timestamp - 349, // 225: until.LoopRun.updated_at:type_name -> google.protobuf.Timestamp - 106, // 226: until.LoopRun.triggering_event_payload:type_name -> until.Event - 2, // 227: until.GetPrincipalStatusResponse.state:type_name -> until.PrincipalStatusState - 227, // 228: until.GetPrincipalStatusResponse.principal:type_name -> until.Principal - 222, // 229: until.GetPrincipalStatusResponse.integrations:type_name -> until.IntegrationStatus - 3, // 230: until.GetIntegrationConnectURLRequest.provider:type_name -> until.IntegrationProvider - 4, // 231: until.GetIntegrationConnectURLRequest.intent:type_name -> until.IntegrationIntent - 3, // 232: until.DisconnectIntegrationRequest.provider:type_name -> until.IntegrationProvider - 349, // 233: until.GetGitLabConnectionResponse.connected_at:type_name -> google.protobuf.Timestamp - 349, // 234: until.GitHubPendingInstall.requested_at:type_name -> google.protobuf.Timestamp - 3, // 235: until.IntegrationStatus.provider:type_name -> until.IntegrationProvider - 221, // 236: until.IntegrationStatus.github_pending:type_name -> until.GitHubPendingInstall - 349, // 237: until.IntegrationStatus.connected_at:type_name -> google.protobuf.Timestamp - 5, // 238: until.IntegrationStatus.status:type_name -> until.IntegrationConnectionStatus - 3, // 239: until.GetWorkspaceIntegrationRolesResponse.git_provider:type_name -> until.IntegrationProvider - 3, // 240: until.SetWorkspaceIntegrationRolesRequest.git_provider:type_name -> until.IntegrationProvider - 3, // 241: until.SetWorkspaceIntegrationRolesResponse.git_provider:type_name -> until.IntegrationProvider - 349, // 242: until.Principal.created_at:type_name -> google.protobuf.Timestamp - 349, // 243: until.Principal.updated_at:type_name -> google.protobuf.Timestamp - 228, // 244: until.CreateWorkspaceResponse.workspace:type_name -> until.Workspace - 228, // 245: until.ListMyWorkspacesResponse.workspaces:type_name -> until.Workspace - 6, // 246: until.LoginRecoveryCandidate.provider:type_name -> until.LoginProvider - 6, // 247: until.DiscoverLoginRecoveryCandidatesResponse.arriving_provider:type_name -> until.LoginProvider - 234, // 248: until.DiscoverLoginRecoveryCandidatesResponse.candidates:type_name -> until.LoginRecoveryCandidate - 228, // 249: until.RenameWorkspaceResponse.workspace:type_name -> until.Workspace - 242, // 250: until.ListJoinableWorkspacesResponse.workspaces:type_name -> until.JoinableWorkspace - 349, // 251: until.JoinableWorkspace.created_at:type_name -> google.protobuf.Timestamp - 243, // 252: until.JoinableWorkspace.member_previews:type_name -> until.JoinableWorkspaceMember - 7, // 253: until.JoinableWorkspace.source:type_name -> until.JoinSource - 228, // 254: until.JoinWorkspaceResponse.workspace:type_name -> until.Workspace - 349, // 255: until.ApprovedEmailDomain.created_at:type_name -> google.protobuf.Timestamp - 246, // 256: until.ListApprovedEmailDomainsResponse.domains:type_name -> until.ApprovedEmailDomain - 246, // 257: until.AddApprovedEmailDomainResponse.domain:type_name -> until.ApprovedEmailDomain - 246, // 258: until.VerifyApprovedEmailDomainResponse.domain:type_name -> until.ApprovedEmailDomain - 349, // 259: until.WorkspaceLLMCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 349, // 260: until.WorkspaceLLMCredentialStatus.updated_at:type_name -> google.protobuf.Timestamp - 259, // 261: until.GetWorkspaceLLMCredentialStatusResponse.status:type_name -> until.WorkspaceLLMCredentialStatus - 259, // 262: until.SetWorkspaceLLMCredentialResponse.status:type_name -> until.WorkspaceLLMCredentialStatus - 349, // 263: until.MyCursorCredentialStatus.last_validated_at:type_name -> google.protobuf.Timestamp - 266, // 264: until.GetMyCursorCredentialStatusResponse.status:type_name -> until.MyCursorCredentialStatus - 266, // 265: until.SetMyCursorCredentialResponse.status:type_name -> until.MyCursorCredentialStatus - 228, // 266: until.UpdateWorkspaceBrandingResponse.workspace:type_name -> until.Workspace - 228, // 267: until.CompleteWorkspaceOnboardingResponse.workspace:type_name -> until.Workspace - 349, // 268: until.CreateInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 9, // 269: until.InvitationResult.status:type_name -> until.InvitationResultStatus - 280, // 270: until.CreateInvitationsResponse.results:type_name -> until.InvitationResult - 228, // 271: until.AcceptInvitationResponse.workspace:type_name -> until.Workspace - 286, // 272: until.ListWorkspaceMembersResponse.members:type_name -> until.WorkspaceMember - 10, // 273: until.WorkspaceMember.state:type_name -> until.WorkspaceMemberState - 349, // 274: until.ResendInvitationResponse.expires_at:type_name -> google.protobuf.Timestamp - 8, // 275: until.GetInvitationResponse.status:type_name -> until.InvitationStatus - 313, // 276: until.UpsertMyVerifiedBindingResponse.binding:type_name -> until.Binding - 227, // 277: until.UpdateMyDisplayNameResponse.principal:type_name -> until.Principal - 313, // 278: until.ListMyBindingsResponse.bindings:type_name -> until.Binding - 347, // 279: until.NotificationPreferences.preferences:type_name -> until.NotificationPreferences.PreferencesEntry - 348, // 280: until.ChannelPreferences.channels:type_name -> until.ChannelPreferences.ChannelsEntry - 303, // 281: until.GetMyNotificationPreferencesResponse.preferences:type_name -> until.NotificationPreferences - 303, // 282: until.UpdateMyNotificationPreferencesRequest.preferences:type_name -> until.NotificationPreferences - 303, // 283: until.UpdateMyNotificationPreferencesResponse.preferences:type_name -> until.NotificationPreferences - 349, // 284: until.Binding.created_at:type_name -> google.protobuf.Timestamp - 349, // 285: until.Binding.updated_at:type_name -> google.protobuf.Timestamp - 349, // 286: until.GetPlanCheckSettingsResponse.blocking_difference_tags_updated_at:type_name -> google.protobuf.Timestamp - 314, // 287: until.UpdatePlanCheckSettingsRequest.blocking_difference_tags:type_name -> until.BlockingDifferenceTagsPatch - 349, // 288: until.UpdatePlanCheckSettingsResponse.blocking_difference_tags_updated_at:type_name -> google.protobuf.Timestamp - 314, // 289: until.AdminUpdateAccountPlanCheckSettingsRequest.blocking_difference_tags:type_name -> until.BlockingDifferenceTagsPatch - 11, // 290: until.AdminGetAccountReviewPolicyResponse.policy:type_name -> until.WorkspaceReviewPolicy - 349, // 291: until.AdminGetAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp - 11, // 292: until.AdminUpdateAccountReviewPolicyRequest.policy:type_name -> until.WorkspaceReviewPolicy - 11, // 293: until.AdminUpdateAccountReviewPolicyResponse.policy:type_name -> until.WorkspaceReviewPolicy - 349, // 294: until.AdminUpdateAccountReviewPolicyResponse.updated_at:type_name -> google.protobuf.Timestamp - 259, // 295: until.AdminGetAccountLLMCredentialStatusResponse.status:type_name -> until.WorkspaceLLMCredentialStatus - 349, // 296: until.AdminAccountIntegrationInstall.created_at:type_name -> google.protobuf.Timestamp - 5, // 297: until.AdminAccountIntegrationInstall.status:type_name -> until.IntegrationConnectionStatus - 328, // 298: until.AdminListAccountIntegrationsResponse.installs:type_name -> until.AdminAccountIntegrationInstall - 3, // 299: until.AdminListAccountIntegrationsResponse.git_provider:type_name -> until.IntegrationProvider - 3, // 300: until.AdminListAccountIntegrationsResponse.ticketing_provider:type_name -> until.IntegrationProvider - 3, // 301: until.AdminListAccountIntegrationsResponse.messaging_provider:type_name -> until.IntegrationProvider - 332, // 302: until.ListIntegrationCatalogueResponse.entries:type_name -> until.IntegrationCatalogueEntry - 12, // 303: until.IntegrationCatalogueEntry.source:type_name -> until.IntegrationCatalogueSource - 3, // 304: until.IntegrationCatalogueEntry.provider:type_name -> until.IntegrationProvider - 349, // 305: until.IntegrationCatalogueEntry.created_at:type_name -> google.protobuf.Timestamp - 350, // 306: until.PlanUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 307: until.PlanUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 308: until.PrincipalUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 309: until.PrincipalUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 310: until.BindingUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 311: until.BindingUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 312: until.PullRequestUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 313: until.PullRequestUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 350, // 314: until.PlanDifferenceUpdated.PreviousEntry.value:type_name -> google.protobuf.Value - 350, // 315: until.PlanDifferenceUpdated.AfterEntry.value:type_name -> google.protobuf.Value - 304, // 316: until.NotificationPreferences.PreferencesEntry.value:type_name -> until.ChannelPreferences - 351, // 317: until.embedded_json:extendee -> google.protobuf.FieldOptions - 38, // 318: until.WorkspaceService.ListOpenPullRequests:input_type -> until.ListOpenPullRequestsRequest - 40, // 319: until.WorkspaceService.GetPullRequest:input_type -> until.GetPullRequestRequest - 207, // 320: until.WorkspaceService.GetPrincipalStatus:input_type -> until.GetPrincipalStatusRequest - 333, // 321: until.WorkspaceService.GetPlanPrompt:input_type -> until.GetPlanPromptRequest - 209, // 322: until.WorkspaceService.GetIntegrationConnectURL:input_type -> until.GetIntegrationConnectURLRequest - 211, // 323: until.WorkspaceService.DisconnectIntegration:input_type -> until.DisconnectIntegrationRequest - 213, // 324: until.WorkspaceService.ConnectByoHttpMcp:input_type -> until.ConnectByoHttpMcpRequest - 215, // 325: until.WorkspaceService.GetGitLabConnection:input_type -> until.GetGitLabConnectionRequest - 217, // 326: until.WorkspaceService.ConnectGitLab:input_type -> until.ConnectGitLabRequest - 219, // 327: until.WorkspaceService.SaveGitLabSigningToken:input_type -> until.SaveGitLabSigningTokenRequest - 297, // 328: until.WorkspaceService.UpsertMyVerifiedBinding:input_type -> until.UpsertMyVerifiedBindingRequest - 301, // 329: until.WorkspaceService.ListMyBindings:input_type -> until.ListMyBindingsRequest - 305, // 330: until.WorkspaceService.GetMyNotificationPreferences:input_type -> until.GetMyNotificationPreferencesRequest - 307, // 331: until.WorkspaceService.UpdateMyNotificationPreferences:input_type -> until.UpdateMyNotificationPreferencesRequest - 309, // 332: until.WorkspaceService.RegisterMyPushSubscription:input_type -> until.RegisterMyPushSubscriptionRequest - 311, // 333: until.WorkspaceService.GetWebPushPublicKey:input_type -> until.GetWebPushPublicKeyRequest - 299, // 334: until.WorkspaceService.UpdateMyDisplayName:input_type -> until.UpdateMyDisplayNameRequest - 315, // 335: until.WorkspaceService.GetPlanCheckSettings:input_type -> until.GetPlanCheckSettingsRequest - 317, // 336: until.WorkspaceService.UpdatePlanCheckSettings:input_type -> until.UpdatePlanCheckSettingsRequest - 330, // 337: until.WorkspaceService.ListIntegrationCatalogue:input_type -> until.ListIntegrationCatalogueRequest - 229, // 338: until.WorkspaceService.CreateWorkspace:input_type -> until.CreateWorkspaceRequest - 231, // 339: until.WorkspaceService.ListMyWorkspaces:input_type -> until.ListMyWorkspacesRequest - 233, // 340: until.WorkspaceService.DiscoverLoginRecoveryCandidates:input_type -> until.DiscoverLoginRecoveryCandidatesRequest - 236, // 341: until.WorkspaceService.RenameWorkspace:input_type -> until.RenameWorkspaceRequest - 273, // 342: until.WorkspaceService.UpdateWorkspaceBranding:input_type -> until.UpdateWorkspaceBrandingRequest - 275, // 343: until.WorkspaceService.CompleteWorkspaceOnboarding:input_type -> until.CompleteWorkspaceOnboardingRequest - 238, // 344: until.WorkspaceService.DeleteWorkspace:input_type -> until.DeleteWorkspaceRequest - 240, // 345: until.WorkspaceService.ListJoinableWorkspaces:input_type -> until.ListJoinableWorkspacesRequest - 244, // 346: until.WorkspaceService.JoinWorkspace:input_type -> until.JoinWorkspaceRequest - 277, // 347: until.WorkspaceService.CreateInvitation:input_type -> until.CreateInvitationRequest - 279, // 348: until.WorkspaceService.CreateInvitations:input_type -> until.CreateInvitationsRequest - 282, // 349: until.WorkspaceService.AcceptInvitation:input_type -> until.AcceptInvitationRequest - 284, // 350: until.WorkspaceService.ListWorkspaceMembers:input_type -> until.ListWorkspaceMembersRequest - 287, // 351: until.WorkspaceService.ResendInvitation:input_type -> until.ResendInvitationRequest - 289, // 352: until.WorkspaceService.RevokeInvitation:input_type -> until.RevokeInvitationRequest - 291, // 353: until.WorkspaceService.RemoveWorkspaceMember:input_type -> until.RemoveWorkspaceMemberRequest - 293, // 354: until.WorkspaceService.UpdateWorkspaceMemberRole:input_type -> until.UpdateWorkspaceMemberRoleRequest - 247, // 355: until.WorkspaceService.ListApprovedEmailDomains:input_type -> until.ListApprovedEmailDomainsRequest - 249, // 356: until.WorkspaceService.AddApprovedEmailDomain:input_type -> until.AddApprovedEmailDomainRequest - 251, // 357: until.WorkspaceService.VerifyApprovedEmailDomain:input_type -> until.VerifyApprovedEmailDomainRequest - 253, // 358: until.WorkspaceService.ResendApprovedEmailDomainCode:input_type -> until.ResendApprovedEmailDomainCodeRequest - 257, // 359: until.WorkspaceService.DeleteApprovedEmailDomain:input_type -> until.DeleteApprovedEmailDomainRequest - 260, // 360: until.WorkspaceService.GetWorkspaceLLMCredentialStatus:input_type -> until.GetWorkspaceLLMCredentialStatusRequest - 262, // 361: until.WorkspaceService.SetWorkspaceLLMCredential:input_type -> until.SetWorkspaceLLMCredentialRequest - 264, // 362: until.WorkspaceService.DeleteWorkspaceLLMCredential:input_type -> until.DeleteWorkspaceLLMCredentialRequest - 267, // 363: until.WorkspaceService.GetMyCursorCredentialStatus:input_type -> until.GetMyCursorCredentialStatusRequest - 269, // 364: until.WorkspaceService.SetMyCursorCredential:input_type -> until.SetMyCursorCredentialRequest - 271, // 365: until.WorkspaceService.DeleteMyCursorCredential:input_type -> until.DeleteMyCursorCredentialRequest - 223, // 366: until.WorkspaceService.GetWorkspaceIntegrationRoles:input_type -> until.GetWorkspaceIntegrationRolesRequest - 225, // 367: until.WorkspaceService.SetWorkspaceIntegrationRoles:input_type -> until.SetWorkspaceIntegrationRolesRequest - 255, // 368: until.WorkspaceService.ResendVerificationEmail:input_type -> until.ResendVerificationEmailRequest - 295, // 369: until.PublicService.GetInvitation:input_type -> until.GetInvitationRequest - 27, // 370: until.AdminService.ExecuteLoop:input_type -> until.ExecuteLoopRequest - 28, // 371: until.AdminService.ListRuns:input_type -> until.ListRunsRequest - 31, // 372: until.AdminService.WatchRun:input_type -> until.WatchRunRequest - 32, // 373: until.AdminService.StreamEvents:input_type -> until.StreamEventsRequest - 34, // 374: until.AdminService.ListEvents:input_type -> until.ListEventsRequest - 36, // 375: until.AdminService.CancelRun:input_type -> until.CancelRunRequest - 54, // 376: until.AdminService.SendQuestion:input_type -> until.SendQuestionRequest - 55, // 377: until.AdminService.ListPlans:input_type -> until.AdminListPlansRequest - 58, // 378: until.AdminService.GetPlan:input_type -> until.AdminGetPlanRequest - 83, // 379: until.AdminService.ListReviews:input_type -> until.AdminListReviewsRequest - 86, // 380: until.AdminService.GetReview:input_type -> until.AdminGetReviewRequest - 352, // 381: until.AdminService.ListAccounts:input_type -> google.protobuf.Empty - 91, // 382: until.AdminService.GetAccountSummary:input_type -> until.AdminGetAccountSummaryRequest - 94, // 383: until.AdminService.GetAccountHealthAnalysis:input_type -> until.AdminGetAccountHealthAnalysisRequest - 97, // 384: until.AdminService.ListAccountMetricRepos:input_type -> until.AdminListAccountMetricReposRequest - 100, // 385: until.AdminService.StartAccountMetricsComparison:input_type -> until.AdminStartAccountMetricsComparisonRequest - 102, // 386: until.AdminService.GetAccountMetricsComparisonRun:input_type -> until.AdminGetAccountMetricsComparisonRunRequest - 319, // 387: until.AdminService.GetAccountPlanCheckSettings:input_type -> until.AdminGetAccountPlanCheckSettingsRequest - 320, // 388: until.AdminService.UpdateAccountPlanCheckSettings:input_type -> until.AdminUpdateAccountPlanCheckSettingsRequest - 321, // 389: until.AdminService.GetAccountReviewPolicy:input_type -> until.AdminGetAccountReviewPolicyRequest - 323, // 390: until.AdminService.UpdateAccountReviewPolicy:input_type -> until.AdminUpdateAccountReviewPolicyRequest - 325, // 391: until.AdminService.GetAccountLLMCredentialStatus:input_type -> until.AdminGetAccountLLMCredentialStatusRequest - 327, // 392: until.AdminService.ListAccountIntegrations:input_type -> until.AdminListAccountIntegrationsRequest - 192, // 393: until.AdminService.ListLoops:input_type -> until.ListLoopsRequest - 195, // 394: until.AdminService.GetLoop:input_type -> until.GetLoopRequest - 198, // 395: until.AdminService.ListLoopRuns:input_type -> until.ListLoopRunsRequest - 201, // 396: until.AdminService.GetLoopRun:input_type -> until.GetLoopRunRequest - 202, // 397: until.AdminService.GetLoopRunThreadHistory:input_type -> until.GetLoopRunThreadHistoryRequest - 13, // 398: until.AdminService.ListPullRequests:input_type -> until.ListPullRequestsRequest - 15, // 399: until.AdminService.GetPullRequestByID:input_type -> until.GetPullRequestByIDRequest - 17, // 400: until.AdminService.ListPlanChecksForPR:input_type -> until.ListPlanChecksForPRRequest - 61, // 401: until.AdminService.ListPrincipals:input_type -> until.AdminListPrincipalsRequest - 63, // 402: until.AdminService.GetPrincipal:input_type -> until.AdminGetPrincipalRequest - 66, // 403: until.AdminService.UpsertPrincipalBinding:input_type -> until.AdminUpsertPrincipalBindingRequest - 68, // 404: until.AdminService.DeletePrincipalBinding:input_type -> until.AdminDeletePrincipalBindingRequest - 70, // 405: until.AdminService.UpdatePrincipal:input_type -> until.AdminUpdatePrincipalRequest - 72, // 406: until.AdminService.CreatePrincipalIdentity:input_type -> until.AdminCreatePrincipalIdentityRequest - 74, // 407: until.AdminService.DeletePrincipalIdentity:input_type -> until.AdminDeletePrincipalIdentityRequest - 76, // 408: until.AdminService.SetPrincipalCredential:input_type -> until.AdminSetPrincipalCredentialRequest - 78, // 409: until.AdminService.ListPrincipalCredentialConnections:input_type -> until.AdminListPrincipalCredentialConnectionsRequest - 81, // 410: until.AdminService.DeletePrincipalCredential:input_type -> until.AdminDeletePrincipalCredentialRequest - 19, // 411: until.AdminService.GetPullRequestTimeline:input_type -> until.GetPullRequestTimelineRequest - 39, // 412: until.WorkspaceService.ListOpenPullRequests:output_type -> until.ListOpenPullRequestsResponse - 41, // 413: until.WorkspaceService.GetPullRequest:output_type -> until.GetPullRequestResponse - 208, // 414: until.WorkspaceService.GetPrincipalStatus:output_type -> until.GetPrincipalStatusResponse - 334, // 415: until.WorkspaceService.GetPlanPrompt:output_type -> until.GetPlanPromptResponse - 210, // 416: until.WorkspaceService.GetIntegrationConnectURL:output_type -> until.GetIntegrationConnectURLResponse - 212, // 417: until.WorkspaceService.DisconnectIntegration:output_type -> until.DisconnectIntegrationResponse - 214, // 418: until.WorkspaceService.ConnectByoHttpMcp:output_type -> until.ConnectByoHttpMcpResponse - 216, // 419: until.WorkspaceService.GetGitLabConnection:output_type -> until.GetGitLabConnectionResponse - 218, // 420: until.WorkspaceService.ConnectGitLab:output_type -> until.ConnectGitLabResponse - 220, // 421: until.WorkspaceService.SaveGitLabSigningToken:output_type -> until.SaveGitLabSigningTokenResponse - 298, // 422: until.WorkspaceService.UpsertMyVerifiedBinding:output_type -> until.UpsertMyVerifiedBindingResponse - 302, // 423: until.WorkspaceService.ListMyBindings:output_type -> until.ListMyBindingsResponse - 306, // 424: until.WorkspaceService.GetMyNotificationPreferences:output_type -> until.GetMyNotificationPreferencesResponse - 308, // 425: until.WorkspaceService.UpdateMyNotificationPreferences:output_type -> until.UpdateMyNotificationPreferencesResponse - 310, // 426: until.WorkspaceService.RegisterMyPushSubscription:output_type -> until.RegisterMyPushSubscriptionResponse - 312, // 427: until.WorkspaceService.GetWebPushPublicKey:output_type -> until.GetWebPushPublicKeyResponse - 300, // 428: until.WorkspaceService.UpdateMyDisplayName:output_type -> until.UpdateMyDisplayNameResponse - 316, // 429: until.WorkspaceService.GetPlanCheckSettings:output_type -> until.GetPlanCheckSettingsResponse - 318, // 430: until.WorkspaceService.UpdatePlanCheckSettings:output_type -> until.UpdatePlanCheckSettingsResponse - 331, // 431: until.WorkspaceService.ListIntegrationCatalogue:output_type -> until.ListIntegrationCatalogueResponse - 230, // 432: until.WorkspaceService.CreateWorkspace:output_type -> until.CreateWorkspaceResponse - 232, // 433: until.WorkspaceService.ListMyWorkspaces:output_type -> until.ListMyWorkspacesResponse - 235, // 434: until.WorkspaceService.DiscoverLoginRecoveryCandidates:output_type -> until.DiscoverLoginRecoveryCandidatesResponse - 237, // 435: until.WorkspaceService.RenameWorkspace:output_type -> until.RenameWorkspaceResponse - 274, // 436: until.WorkspaceService.UpdateWorkspaceBranding:output_type -> until.UpdateWorkspaceBrandingResponse - 276, // 437: until.WorkspaceService.CompleteWorkspaceOnboarding:output_type -> until.CompleteWorkspaceOnboardingResponse - 239, // 438: until.WorkspaceService.DeleteWorkspace:output_type -> until.DeleteWorkspaceResponse - 241, // 439: until.WorkspaceService.ListJoinableWorkspaces:output_type -> until.ListJoinableWorkspacesResponse - 245, // 440: until.WorkspaceService.JoinWorkspace:output_type -> until.JoinWorkspaceResponse - 278, // 441: until.WorkspaceService.CreateInvitation:output_type -> until.CreateInvitationResponse - 281, // 442: until.WorkspaceService.CreateInvitations:output_type -> until.CreateInvitationsResponse - 283, // 443: until.WorkspaceService.AcceptInvitation:output_type -> until.AcceptInvitationResponse - 285, // 444: until.WorkspaceService.ListWorkspaceMembers:output_type -> until.ListWorkspaceMembersResponse - 288, // 445: until.WorkspaceService.ResendInvitation:output_type -> until.ResendInvitationResponse - 290, // 446: until.WorkspaceService.RevokeInvitation:output_type -> until.RevokeInvitationResponse - 292, // 447: until.WorkspaceService.RemoveWorkspaceMember:output_type -> until.RemoveWorkspaceMemberResponse - 294, // 448: until.WorkspaceService.UpdateWorkspaceMemberRole:output_type -> until.UpdateWorkspaceMemberRoleResponse - 248, // 449: until.WorkspaceService.ListApprovedEmailDomains:output_type -> until.ListApprovedEmailDomainsResponse - 250, // 450: until.WorkspaceService.AddApprovedEmailDomain:output_type -> until.AddApprovedEmailDomainResponse - 252, // 451: until.WorkspaceService.VerifyApprovedEmailDomain:output_type -> until.VerifyApprovedEmailDomainResponse - 254, // 452: until.WorkspaceService.ResendApprovedEmailDomainCode:output_type -> until.ResendApprovedEmailDomainCodeResponse - 258, // 453: until.WorkspaceService.DeleteApprovedEmailDomain:output_type -> until.DeleteApprovedEmailDomainResponse - 261, // 454: until.WorkspaceService.GetWorkspaceLLMCredentialStatus:output_type -> until.GetWorkspaceLLMCredentialStatusResponse - 263, // 455: until.WorkspaceService.SetWorkspaceLLMCredential:output_type -> until.SetWorkspaceLLMCredentialResponse - 265, // 456: until.WorkspaceService.DeleteWorkspaceLLMCredential:output_type -> until.DeleteWorkspaceLLMCredentialResponse - 268, // 457: until.WorkspaceService.GetMyCursorCredentialStatus:output_type -> until.GetMyCursorCredentialStatusResponse - 270, // 458: until.WorkspaceService.SetMyCursorCredential:output_type -> until.SetMyCursorCredentialResponse - 272, // 459: until.WorkspaceService.DeleteMyCursorCredential:output_type -> until.DeleteMyCursorCredentialResponse - 224, // 460: until.WorkspaceService.GetWorkspaceIntegrationRoles:output_type -> until.GetWorkspaceIntegrationRolesResponse - 226, // 461: until.WorkspaceService.SetWorkspaceIntegrationRoles:output_type -> until.SetWorkspaceIntegrationRolesResponse - 256, // 462: until.WorkspaceService.ResendVerificationEmail:output_type -> until.ResendVerificationEmailResponse - 296, // 463: until.PublicService.GetInvitation:output_type -> until.GetInvitationResponse - 43, // 464: until.AdminService.ExecuteLoop:output_type -> until.ExecuteLoopResponse - 29, // 465: until.AdminService.ListRuns:output_type -> until.ListRunsResponse - 43, // 466: until.AdminService.WatchRun:output_type -> until.ExecuteLoopResponse - 33, // 467: until.AdminService.StreamEvents:output_type -> until.StreamEventsResponse - 35, // 468: until.AdminService.ListEvents:output_type -> until.ListEventsResponse - 37, // 469: until.AdminService.CancelRun:output_type -> until.CancelRunResponse - 43, // 470: until.AdminService.SendQuestion:output_type -> until.ExecuteLoopResponse - 56, // 471: until.AdminService.ListPlans:output_type -> until.AdminListPlansResponse - 59, // 472: until.AdminService.GetPlan:output_type -> until.AdminGetPlanResponse - 84, // 473: until.AdminService.ListReviews:output_type -> until.AdminListReviewsResponse - 87, // 474: until.AdminService.GetReview:output_type -> until.AdminGetReviewResponse - 90, // 475: until.AdminService.ListAccounts:output_type -> until.AdminListAccountsResponse - 93, // 476: until.AdminService.GetAccountSummary:output_type -> until.AdminGetAccountSummaryResponse - 96, // 477: until.AdminService.GetAccountHealthAnalysis:output_type -> until.AdminGetAccountHealthAnalysisResponse - 99, // 478: until.AdminService.ListAccountMetricRepos:output_type -> until.AdminListAccountMetricReposResponse - 101, // 479: until.AdminService.StartAccountMetricsComparison:output_type -> until.AdminStartAccountMetricsComparisonResponse - 105, // 480: until.AdminService.GetAccountMetricsComparisonRun:output_type -> until.AdminGetAccountMetricsComparisonRunResponse - 316, // 481: until.AdminService.GetAccountPlanCheckSettings:output_type -> until.GetPlanCheckSettingsResponse - 318, // 482: until.AdminService.UpdateAccountPlanCheckSettings:output_type -> until.UpdatePlanCheckSettingsResponse - 322, // 483: until.AdminService.GetAccountReviewPolicy:output_type -> until.AdminGetAccountReviewPolicyResponse - 324, // 484: until.AdminService.UpdateAccountReviewPolicy:output_type -> until.AdminUpdateAccountReviewPolicyResponse - 326, // 485: until.AdminService.GetAccountLLMCredentialStatus:output_type -> until.AdminGetAccountLLMCredentialStatusResponse - 329, // 486: until.AdminService.ListAccountIntegrations:output_type -> until.AdminListAccountIntegrationsResponse - 193, // 487: until.AdminService.ListLoops:output_type -> until.ListLoopsResponse - 196, // 488: until.AdminService.GetLoop:output_type -> until.GetLoopResponse - 199, // 489: until.AdminService.ListLoopRuns:output_type -> until.ListLoopRunsResponse - 205, // 490: until.AdminService.GetLoopRun:output_type -> until.GetLoopRunResponse - 204, // 491: until.AdminService.GetLoopRunThreadHistory:output_type -> until.GetLoopRunThreadHistoryResponse - 14, // 492: until.AdminService.ListPullRequests:output_type -> until.ListPullRequestsResponse - 16, // 493: until.AdminService.GetPullRequestByID:output_type -> until.GetPullRequestByIDResponse - 18, // 494: until.AdminService.ListPlanChecksForPR:output_type -> until.ListPlanChecksForPRResponse - 62, // 495: until.AdminService.ListPrincipals:output_type -> until.AdminListPrincipalsResponse - 64, // 496: until.AdminService.GetPrincipal:output_type -> until.AdminGetPrincipalResponse - 67, // 497: until.AdminService.UpsertPrincipalBinding:output_type -> until.AdminUpsertPrincipalBindingResponse - 69, // 498: until.AdminService.DeletePrincipalBinding:output_type -> until.AdminDeletePrincipalBindingResponse - 71, // 499: until.AdminService.UpdatePrincipal:output_type -> until.AdminUpdatePrincipalResponse - 73, // 500: until.AdminService.CreatePrincipalIdentity:output_type -> until.AdminCreatePrincipalIdentityResponse - 75, // 501: until.AdminService.DeletePrincipalIdentity:output_type -> until.AdminDeletePrincipalIdentityResponse - 77, // 502: until.AdminService.SetPrincipalCredential:output_type -> until.AdminSetPrincipalCredentialResponse - 79, // 503: until.AdminService.ListPrincipalCredentialConnections:output_type -> until.AdminListPrincipalCredentialConnectionsResponse - 82, // 504: until.AdminService.DeletePrincipalCredential:output_type -> until.AdminDeletePrincipalCredentialResponse - 22, // 505: until.AdminService.GetPullRequestTimeline:output_type -> until.GetPullRequestTimelineResponse - 412, // [412:506] is the sub-list for method output_type - 318, // [318:412] is the sub-list for method input_type - 318, // [318:318] is the sub-list for extension type_name - 317, // [317:318] is the sub-list for extension extendee - 0, // [0:317] is the sub-list for field type_name -} - -func init() { file_brent_proto_init() } -func file_brent_proto_init() { - if File_brent_proto != nil { - return - } - file_brent_proto_msgTypes[14].OneofWrappers = []any{} - file_brent_proto_msgTypes[17].OneofWrappers = []any{} - file_brent_proto_msgTypes[30].OneofWrappers = []any{ - (*ExecuteLoopResponse_Reasoning)(nil), - (*ExecuteLoopResponse_ToolCall)(nil), - (*ExecuteLoopResponse_ToolResult)(nil), - (*ExecuteLoopResponse_Completion)(nil), - (*ExecuteLoopResponse_Error)(nil), - (*ExecuteLoopResponse_Status)(nil), - (*ExecuteLoopResponse_RunStarted)(nil), - (*ExecuteLoopResponse_QaReady)(nil), - (*ExecuteLoopResponse_UserQuestion)(nil), - (*ExecuteLoopResponse_UserMessage)(nil), - } - file_brent_proto_msgTypes[57].OneofWrappers = []any{} - file_brent_proto_msgTypes[72].OneofWrappers = []any{} - file_brent_proto_msgTypes[74].OneofWrappers = []any{} - file_brent_proto_msgTypes[75].OneofWrappers = []any{} - file_brent_proto_msgTypes[93].OneofWrappers = []any{ - (*Event_PlanCreated)(nil), - (*Event_PlanUpdated)(nil), - (*Event_PlanDeleted)(nil), - (*Event_ReviewRequested)(nil), - (*Event_ReviewSubmitted)(nil), - (*Event_Other)(nil), - (*Event_GithubWebhook)(nil), - (*Event_SlackMention)(nil), - (*Event_SlackReaction)(nil), - (*Event_PullRequestOpened)(nil), - (*Event_PullRequestSynchronized)(nil), - (*Event_PullRequestUpdated)(nil), - (*Event_PullRequestClosed)(nil), - (*Event_PullRequestLinkedToPlan)(nil), - (*Event_PullRequestUnlinkedFromPlan)(nil), - (*Event_OrganisationAppInstallationUpserted)(nil), - (*Event_OrganisationAppInstallationDeleted)(nil), - (*Event_PlanCheckStarted)(nil), - (*Event_PlanCheckCompleted)(nil), - (*Event_PlanCheckFailed)(nil), - (*Event_LoopRunQueued)(nil), - (*Event_LoopRunStarted)(nil), - (*Event_LoopRunCompleted)(nil), - (*Event_LoopRunFailed)(nil), - (*Event_LoopRunCancelled)(nil), - (*Event_ReviewNoEligibleReviewer)(nil), - (*Event_PrincipalCreated)(nil), - (*Event_PrincipalUpdated)(nil), - (*Event_PrincipalTombstoned)(nil), - (*Event_IdentityCreated)(nil), - (*Event_IdentityDeleted)(nil), - (*Event_BindingCreated)(nil), - (*Event_BindingUpdated)(nil), - (*Event_BindingDeleted)(nil), - (*Event_ReviewDriveByStarted)(nil), - (*Event_SlackWebhook)(nil), - (*Event_ReviewDeleted)(nil), - (*Event_PlanRestored)(nil), - (*Event_LinearWebhook)(nil), - (*Event_PullRequestCommentCreated)(nil), - (*Event_PlanDifferenceRecorded)(nil), - (*Event_PlanDifferenceUpdated)(nil), - (*Event_PlanDifferenceResolved)(nil), - (*Event_AgentRunDispatched)(nil), - (*Event_AgentRunStarted)(nil), - (*Event_AgentRunPullRequestMatched)(nil), - (*Event_AgentRunFlaggedNeedsYou)(nil), - (*Event_AgentRunMerged)(nil), - (*Event_AgentRunDeclined)(nil), - (*Event_AgentRunCancelled)(nil), - (*Event_AgentRunGatePassed)(nil), - (*Event_PullRequestLinkedToAgentRun)(nil), - (*Event_LoopIngested)(nil), - (*Event_PullRequestReviewRequested)(nil), - (*Event_PullRequestApproved)(nil), - (*Event_PullRequestChangesRequested)(nil), - (*Event_PullRequestReviewDismissed)(nil), - (*Event_CredentialConnected)(nil), - (*Event_CredentialRevoked)(nil), - (*Event_AgentRunAnnotated)(nil), - (*Event_WorkspaceCreated)(nil), - (*Event_McpGrantWorkspaceBindingChanged)(nil), - (*Event_WorkspaceOnboardingCompleted)(nil), - (*Event_WorkspaceRenamed)(nil), - (*Event_WorkspaceDeleted)(nil), - (*Event_ApprovedEmailDomainAdded)(nil), - (*Event_ApprovedEmailDomainVerified)(nil), - (*Event_ApprovedEmailDomainDeleted)(nil), - (*Event_GitlabWebhook)(nil), - (*Event_WorkspaceLlmCredentialConnected)(nil), - (*Event_WorkspaceLlmCredentialRevoked)(nil), - (*Event_BitbucketWebhook)(nil), - (*Event_WorkspaceMemberJoined)(nil), - (*Event_WorkspaceMemberLeft)(nil), - (*Event_ComposioTriggerMessage)(nil), - (*Event_PlanDifferenceAcknowledged)(nil), - (*Event_PlanDifferenceAcknowledgementCleared)(nil), - (*Event_PlanReviewPolicyDecided)(nil), - (*Event_ReviewRestored)(nil), - (*Event_WorkspaceReviewPolicyUpdated)(nil), - (*Event_UnknownStoredPayload)(nil), - } - file_brent_proto_msgTypes[162].OneofWrappers = []any{} - file_brent_proto_msgTypes[187].OneofWrappers = []any{} - file_brent_proto_msgTypes[192].OneofWrappers = []any{} - file_brent_proto_msgTypes[193].OneofWrappers = []any{} - file_brent_proto_msgTypes[195].OneofWrappers = []any{} - file_brent_proto_msgTypes[214].OneofWrappers = []any{} - file_brent_proto_msgTypes[215].OneofWrappers = []any{} - file_brent_proto_msgTypes[229].OneofWrappers = []any{} - file_brent_proto_msgTypes[230].OneofWrappers = []any{} - file_brent_proto_msgTypes[273].OneofWrappers = []any{} - file_brent_proto_msgTypes[283].OneofWrappers = []any{} - file_brent_proto_msgTypes[304].OneofWrappers = []any{} - file_brent_proto_msgTypes[307].OneofWrappers = []any{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_brent_proto_rawDesc), len(file_brent_proto_rawDesc)), - NumEnums: 13, - NumMessages: 336, - NumExtensions: 1, - NumServices: 3, - }, - GoTypes: file_brent_proto_goTypes, - DependencyIndexes: file_brent_proto_depIdxs, - EnumInfos: file_brent_proto_enumTypes, - MessageInfos: file_brent_proto_msgTypes, - ExtensionInfos: file_brent_proto_extTypes, - }.Build() - File_brent_proto = out.File - file_brent_proto_goTypes = nil - file_brent_proto_depIdxs = nil -} diff --git a/go/sdp-go/brent_descriptor_test.go b/go/sdp-go/brent_descriptor_test.go deleted file mode 100644 index cae9e81e..00000000 --- a/go/sdp-go/brent_descriptor_test.go +++ /dev/null @@ -1,124 +0,0 @@ -package sdp - -import ( - "testing" - - "google.golang.org/protobuf/proto" - "google.golang.org/protobuf/reflect/protoreflect" - "google.golang.org/protobuf/types/descriptorpb" -) - -func TestPreferredIDEContractIsRemovedAndReserved(t *testing.T) { - t.Parallel() - - service := File_brent_proto.Services().ByName("WorkspaceService") - if service == nil { - t.Fatal("WorkspaceService descriptor missing") - } - if service.Methods().ByName("SetPreferredIDE") != nil { - t.Fatal("WorkspaceService must not expose SetPreferredIDE") - } - - messages := File_brent_proto.Messages() - if messages.ByName("SetPreferredIDERequest") != nil { - t.Fatal("SetPreferredIDERequest must not exist") - } - if messages.ByName("SetPreferredIDEResponse") != nil { - t.Fatal("SetPreferredIDEResponse must not exist") - } - - principalStatus := messages.ByName("GetPrincipalStatusResponse") - if principalStatus.Fields().ByNumber(4) != nil { - t.Fatal("GetPrincipalStatusResponse field 4 must not exist") - } - if principalStatus.Fields().ByName("preferred_ide") != nil { - t.Fatal("GetPrincipalStatusResponse preferred_ide must not exist") - } - if !principalStatus.ReservedRanges().Has(protoreflect.FieldNumber(4)) { - t.Fatal("GetPrincipalStatusResponse field 4 must be reserved") - } - if !principalStatus.ReservedNames().Has("preferred_ide") { - t.Fatal("GetPrincipalStatusResponse preferred_ide name must be reserved") - } -} - -// TestENG5923FieldNumbersUnchanged pins the representative field / oneof / -// option numbers the Until rename must preserve (ENG-5960 Part 2). -func TestENG5923FieldNumbersUnchanged(t *testing.T) { - t.Parallel() - - messages := File_brent_proto.Messages() - - t.Run("blocking_difference_tags_1_2_3", func(t *testing.T) { - t.Parallel() - var msg protoreflect.MessageDescriptor - for i := range messages.Len() { - m := messages.Get(i) - if m.Fields().ByName("blocking_difference_tags") != nil && - m.Fields().ByName("blocking_difference_tags_updated_by") != nil { - msg = m - break - } - } - if msg == nil { - t.Fatal("no message carries blocking_difference_tags fields 1-3") - } - assertFieldNumber(t, msg, "blocking_difference_tags", 1) - assertFieldNumber(t, msg, "blocking_difference_tags_updated_by", 2) - assertFieldNumber(t, msg, "blocking_difference_tags_updated_at", 3) - }) - - t.Run("event_oneof_plan_check_completed_28_loop_run_queued_30", func(t *testing.T) { - t.Parallel() - event := messages.ByName("Event") - if event == nil { - t.Fatal("Event message missing") - } - assertFieldNumber(t, event, "plan_check_completed", 28) - assertFieldNumber(t, event, "loop_run_queued", 30) - }) - - t.Run("applied_blocking_difference_tags_10", func(t *testing.T) { - t.Parallel() - msg := messages.ByName("PlanCheckCompleted") - if msg == nil { - t.Fatal("PlanCheckCompleted message missing") - } - assertFieldNumber(t, msg, "applied_blocking_difference_tags", 10) - }) - - t.Run("embedded_json_option_50001", func(t *testing.T) { - t.Parallel() - github := messages.ByName("GitHubWebhook") - if github == nil { - t.Fatal("GitHubWebhook message missing") - } - field := github.Fields().ByName("event_payload") - if field == nil { - t.Fatal("GitHubWebhook.event_payload missing") - } - optsMsg := field.Options().(*descriptorpb.FieldOptions) - if optsMsg == nil { - t.Fatal("event_payload has no field options") - } - if E_EmbeddedJson.TypeDescriptor().Number() != 50001 { - t.Fatalf("E_EmbeddedJson number=%d want 50001", E_EmbeddedJson.TypeDescriptor().Number()) - } - val := proto.GetExtension(optsMsg, E_EmbeddedJson) - got, ok := val.(bool) - if !ok || !got { - t.Fatalf("embedded_json extension: got %v (%T), want true", val, val) - } - }) -} - -func assertFieldNumber(t *testing.T, msg protoreflect.MessageDescriptor, name protoreflect.Name, number protoreflect.FieldNumber) { - t.Helper() - field := msg.Fields().ByName(name) - if field == nil { - t.Fatalf("%s.%s missing", msg.Name(), name) - } - if field.Number() != number { - t.Fatalf("%s.%s number=%d want %d", msg.Name(), name, field.Number(), number) - } -} diff --git a/go/sdp-go/brent_event_payload.go b/go/sdp-go/brent_event_payload.go deleted file mode 100644 index 75f1c593..00000000 --- a/go/sdp-go/brent_event_payload.go +++ /dev/null @@ -1,8 +0,0 @@ -package sdp - -// EventPayload is an exported alias for the unexported isEvent_Payload oneof -// interface generated by protoc-gen-go for Event.payload (declared in -// brent.pb.go). It lets external packages declare a parameter of the oneof -// variant type while preserving the compile-time guarantee that only generated -// Event payload wrappers can satisfy it. -type EventPayload = isEvent_Payload diff --git a/go/sdp-go/brent_validation_test.go b/go/sdp-go/brent_validation_test.go deleted file mode 100644 index 3fb33e3d..00000000 --- a/go/sdp-go/brent_validation_test.go +++ /dev/null @@ -1,95 +0,0 @@ -package sdp - -import ( - "strings" - "testing" - - "buf.build/go/protovalidate" -) - -// Brent-only IntegrationStatus validation lives here (brent* basename) so -// Copybara's go/sdp-go/brent* exclusion keeps it out of public repos that -// receive go/sdp-go/** without brent.pb.go. - -func TestValidateIntegrationStatus(t *testing.T) { - t.Parallel() - - validConnected := &IntegrationStatus{ - Provider: IntegrationProvider_INTEGRATION_PROVIDER_GITHUB, - OrgInstalled: true, - Status: IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_CONNECTED, - Summary: "Connected", - Detail: "This integration is connected and ready to use.", - } - validNotConnected := &IntegrationStatus{ - Provider: IntegrationProvider_INTEGRATION_PROVIDER_GITLAB, - OrgInstalled: false, - Status: IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_NOT_CONNECTED, - Summary: "Not connected", - Detail: "This integration is not connected for this workspace.", - } - - t.Run("connected defaults pass", func(t *testing.T) { - t.Parallel() - if err := protovalidate.Validate(validConnected); err != nil { - t.Errorf("expected no error, got %v", err) - } - }) - t.Run("not connected defaults pass", func(t *testing.T) { - t.Parallel() - if err := protovalidate.Validate(validNotConnected); err != nil { - t.Errorf("expected no error, got %v", err) - } - }) - t.Run("summary length 33 fails", func(t *testing.T) { - t.Parallel() - status := cloneIntegrationStatus(validConnected) - status.Summary = strings.Repeat("a", 33) - if err := protovalidate.Validate(status); err == nil { - t.Error("expected error for summary length 33, got nil") - } - }) - t.Run("detail length 161 fails", func(t *testing.T) { - t.Parallel() - status := cloneIntegrationStatus(validConnected) - status.Detail = strings.Repeat("b", 161) - if err := protovalidate.Validate(status); err == nil { - t.Error("expected error for detail length 161, got nil") - } - }) - t.Run("empty summary fails", func(t *testing.T) { - t.Parallel() - status := cloneIntegrationStatus(validConnected) - status.Summary = "" - if err := protovalidate.Validate(status); err == nil { - t.Error("expected error for empty summary, got nil") - } - }) - t.Run("empty detail fails", func(t *testing.T) { - t.Parallel() - status := cloneIntegrationStatus(validConnected) - status.Detail = "" - if err := protovalidate.Validate(status); err == nil { - t.Error("expected error for empty detail, got nil") - } - }) - t.Run("unspecified status fails", func(t *testing.T) { - t.Parallel() - status := cloneIntegrationStatus(validConnected) - status.Status = IntegrationConnectionStatus_INTEGRATION_CONNECTION_STATUS_UNSPECIFIED - if err := protovalidate.Validate(status); err == nil { - t.Error("expected error for UNSPECIFIED status, got nil") - } - }) -} - -func cloneIntegrationStatus(in *IntegrationStatus) *IntegrationStatus { - return &IntegrationStatus{ - Provider: in.GetProvider(), - OrgInstalled: in.GetOrgInstalled(), - UserBound: in.GetUserBound(), - Status: in.GetStatus(), - Summary: in.GetSummary(), - Detail: in.GetDetail(), - } -} diff --git a/go/sdp-go/sdpconnect/brent.connect.go b/go/sdp-go/sdpconnect/brent.connect.go deleted file mode 100644 index 595df655..00000000 --- a/go/sdp-go/sdpconnect/brent.connect.go +++ /dev/null @@ -1,3585 +0,0 @@ -// Code generated by protoc-gen-connect-go. DO NOT EDIT. -// -// Source: brent.proto - -package sdpconnect - -import ( - connect "connectrpc.com/connect" - context "context" - errors "errors" - sdp_go "github.com/overmindtech/cli/go/sdp-go" - emptypb "google.golang.org/protobuf/types/known/emptypb" - http "net/http" - strings "strings" -) - -// This is a compile-time assertion to ensure that this generated file and the connect package are -// compatible. If you get a compiler error that this constant is not defined, this code was -// generated with a version of connect newer than the one compiled into your binary. You can fix the -// problem by either regenerating this code with an older version of connect or updating the connect -// version compiled into your binary. -const _ = connect.IsAtLeastVersion1_13_0 - -const ( - // WorkspaceServiceName is the fully-qualified name of the WorkspaceService service. - WorkspaceServiceName = "until.WorkspaceService" - // PublicServiceName is the fully-qualified name of the PublicService service. - PublicServiceName = "until.PublicService" - // UntilAdminServiceName is the fully-qualified name of the UntilAdminService service. - UntilAdminServiceName = "until.AdminService" -) - -// These constants are the fully-qualified names of the RPCs defined in this package. They're -// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. -// -// Note that these are different from the fully-qualified method names used by -// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to -// reflection-formatted method names, remove the leading slash and convert the remaining slash to a -// period. -const ( - // WorkspaceServiceListOpenPullRequestsProcedure is the fully-qualified name of the - // WorkspaceService's ListOpenPullRequests RPC. - WorkspaceServiceListOpenPullRequestsProcedure = "/until.WorkspaceService/ListOpenPullRequests" - // WorkspaceServiceGetPullRequestProcedure is the fully-qualified name of the WorkspaceService's - // GetPullRequest RPC. - WorkspaceServiceGetPullRequestProcedure = "/until.WorkspaceService/GetPullRequest" - // WorkspaceServiceGetPrincipalStatusProcedure is the fully-qualified name of the WorkspaceService's - // GetPrincipalStatus RPC. - WorkspaceServiceGetPrincipalStatusProcedure = "/until.WorkspaceService/GetPrincipalStatus" - // WorkspaceServiceGetPlanPromptProcedure is the fully-qualified name of the WorkspaceService's - // GetPlanPrompt RPC. - WorkspaceServiceGetPlanPromptProcedure = "/until.WorkspaceService/GetPlanPrompt" - // WorkspaceServiceGetIntegrationConnectURLProcedure is the fully-qualified name of the - // WorkspaceService's GetIntegrationConnectURL RPC. - WorkspaceServiceGetIntegrationConnectURLProcedure = "/until.WorkspaceService/GetIntegrationConnectURL" - // WorkspaceServiceDisconnectIntegrationProcedure is the fully-qualified name of the - // WorkspaceService's DisconnectIntegration RPC. - WorkspaceServiceDisconnectIntegrationProcedure = "/until.WorkspaceService/DisconnectIntegration" - // WorkspaceServiceConnectByoHttpMcpProcedure is the fully-qualified name of the WorkspaceService's - // ConnectByoHttpMcp RPC. - WorkspaceServiceConnectByoHttpMcpProcedure = "/until.WorkspaceService/ConnectByoHttpMcp" - // WorkspaceServiceGetGitLabConnectionProcedure is the fully-qualified name of the - // WorkspaceService's GetGitLabConnection RPC. - WorkspaceServiceGetGitLabConnectionProcedure = "/until.WorkspaceService/GetGitLabConnection" - // WorkspaceServiceConnectGitLabProcedure is the fully-qualified name of the WorkspaceService's - // ConnectGitLab RPC. - WorkspaceServiceConnectGitLabProcedure = "/until.WorkspaceService/ConnectGitLab" - // WorkspaceServiceSaveGitLabSigningTokenProcedure is the fully-qualified name of the - // WorkspaceService's SaveGitLabSigningToken RPC. - WorkspaceServiceSaveGitLabSigningTokenProcedure = "/until.WorkspaceService/SaveGitLabSigningToken" - // WorkspaceServiceUpsertMyVerifiedBindingProcedure is the fully-qualified name of the - // WorkspaceService's UpsertMyVerifiedBinding RPC. - WorkspaceServiceUpsertMyVerifiedBindingProcedure = "/until.WorkspaceService/UpsertMyVerifiedBinding" - // WorkspaceServiceListMyBindingsProcedure is the fully-qualified name of the WorkspaceService's - // ListMyBindings RPC. - WorkspaceServiceListMyBindingsProcedure = "/until.WorkspaceService/ListMyBindings" - // WorkspaceServiceGetMyNotificationPreferencesProcedure is the fully-qualified name of the - // WorkspaceService's GetMyNotificationPreferences RPC. - WorkspaceServiceGetMyNotificationPreferencesProcedure = "/until.WorkspaceService/GetMyNotificationPreferences" - // WorkspaceServiceUpdateMyNotificationPreferencesProcedure is the fully-qualified name of the - // WorkspaceService's UpdateMyNotificationPreferences RPC. - WorkspaceServiceUpdateMyNotificationPreferencesProcedure = "/until.WorkspaceService/UpdateMyNotificationPreferences" - // WorkspaceServiceRegisterMyPushSubscriptionProcedure is the fully-qualified name of the - // WorkspaceService's RegisterMyPushSubscription RPC. - WorkspaceServiceRegisterMyPushSubscriptionProcedure = "/until.WorkspaceService/RegisterMyPushSubscription" - // WorkspaceServiceGetWebPushPublicKeyProcedure is the fully-qualified name of the - // WorkspaceService's GetWebPushPublicKey RPC. - WorkspaceServiceGetWebPushPublicKeyProcedure = "/until.WorkspaceService/GetWebPushPublicKey" - // WorkspaceServiceUpdateMyDisplayNameProcedure is the fully-qualified name of the - // WorkspaceService's UpdateMyDisplayName RPC. - WorkspaceServiceUpdateMyDisplayNameProcedure = "/until.WorkspaceService/UpdateMyDisplayName" - // WorkspaceServiceGetPlanCheckSettingsProcedure is the fully-qualified name of the - // WorkspaceService's GetPlanCheckSettings RPC. - WorkspaceServiceGetPlanCheckSettingsProcedure = "/until.WorkspaceService/GetPlanCheckSettings" - // WorkspaceServiceUpdatePlanCheckSettingsProcedure is the fully-qualified name of the - // WorkspaceService's UpdatePlanCheckSettings RPC. - WorkspaceServiceUpdatePlanCheckSettingsProcedure = "/until.WorkspaceService/UpdatePlanCheckSettings" - // WorkspaceServiceListIntegrationCatalogueProcedure is the fully-qualified name of the - // WorkspaceService's ListIntegrationCatalogue RPC. - WorkspaceServiceListIntegrationCatalogueProcedure = "/until.WorkspaceService/ListIntegrationCatalogue" - // WorkspaceServiceCreateWorkspaceProcedure is the fully-qualified name of the WorkspaceService's - // CreateWorkspace RPC. - WorkspaceServiceCreateWorkspaceProcedure = "/until.WorkspaceService/CreateWorkspace" - // WorkspaceServiceListMyWorkspacesProcedure is the fully-qualified name of the WorkspaceService's - // ListMyWorkspaces RPC. - WorkspaceServiceListMyWorkspacesProcedure = "/until.WorkspaceService/ListMyWorkspaces" - // WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure is the fully-qualified name of the - // WorkspaceService's DiscoverLoginRecoveryCandidates RPC. - WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure = "/until.WorkspaceService/DiscoverLoginRecoveryCandidates" - // WorkspaceServiceRenameWorkspaceProcedure is the fully-qualified name of the WorkspaceService's - // RenameWorkspace RPC. - WorkspaceServiceRenameWorkspaceProcedure = "/until.WorkspaceService/RenameWorkspace" - // WorkspaceServiceUpdateWorkspaceBrandingProcedure is the fully-qualified name of the - // WorkspaceService's UpdateWorkspaceBranding RPC. - WorkspaceServiceUpdateWorkspaceBrandingProcedure = "/until.WorkspaceService/UpdateWorkspaceBranding" - // WorkspaceServiceCompleteWorkspaceOnboardingProcedure is the fully-qualified name of the - // WorkspaceService's CompleteWorkspaceOnboarding RPC. - WorkspaceServiceCompleteWorkspaceOnboardingProcedure = "/until.WorkspaceService/CompleteWorkspaceOnboarding" - // WorkspaceServiceDeleteWorkspaceProcedure is the fully-qualified name of the WorkspaceService's - // DeleteWorkspace RPC. - WorkspaceServiceDeleteWorkspaceProcedure = "/until.WorkspaceService/DeleteWorkspace" - // WorkspaceServiceListJoinableWorkspacesProcedure is the fully-qualified name of the - // WorkspaceService's ListJoinableWorkspaces RPC. - WorkspaceServiceListJoinableWorkspacesProcedure = "/until.WorkspaceService/ListJoinableWorkspaces" - // WorkspaceServiceJoinWorkspaceProcedure is the fully-qualified name of the WorkspaceService's - // JoinWorkspace RPC. - WorkspaceServiceJoinWorkspaceProcedure = "/until.WorkspaceService/JoinWorkspace" - // WorkspaceServiceCreateInvitationProcedure is the fully-qualified name of the WorkspaceService's - // CreateInvitation RPC. - WorkspaceServiceCreateInvitationProcedure = "/until.WorkspaceService/CreateInvitation" - // WorkspaceServiceCreateInvitationsProcedure is the fully-qualified name of the WorkspaceService's - // CreateInvitations RPC. - WorkspaceServiceCreateInvitationsProcedure = "/until.WorkspaceService/CreateInvitations" - // WorkspaceServiceAcceptInvitationProcedure is the fully-qualified name of the WorkspaceService's - // AcceptInvitation RPC. - WorkspaceServiceAcceptInvitationProcedure = "/until.WorkspaceService/AcceptInvitation" - // WorkspaceServiceListWorkspaceMembersProcedure is the fully-qualified name of the - // WorkspaceService's ListWorkspaceMembers RPC. - WorkspaceServiceListWorkspaceMembersProcedure = "/until.WorkspaceService/ListWorkspaceMembers" - // WorkspaceServiceResendInvitationProcedure is the fully-qualified name of the WorkspaceService's - // ResendInvitation RPC. - WorkspaceServiceResendInvitationProcedure = "/until.WorkspaceService/ResendInvitation" - // WorkspaceServiceRevokeInvitationProcedure is the fully-qualified name of the WorkspaceService's - // RevokeInvitation RPC. - WorkspaceServiceRevokeInvitationProcedure = "/until.WorkspaceService/RevokeInvitation" - // WorkspaceServiceRemoveWorkspaceMemberProcedure is the fully-qualified name of the - // WorkspaceService's RemoveWorkspaceMember RPC. - WorkspaceServiceRemoveWorkspaceMemberProcedure = "/until.WorkspaceService/RemoveWorkspaceMember" - // WorkspaceServiceUpdateWorkspaceMemberRoleProcedure is the fully-qualified name of the - // WorkspaceService's UpdateWorkspaceMemberRole RPC. - WorkspaceServiceUpdateWorkspaceMemberRoleProcedure = "/until.WorkspaceService/UpdateWorkspaceMemberRole" - // WorkspaceServiceListApprovedEmailDomainsProcedure is the fully-qualified name of the - // WorkspaceService's ListApprovedEmailDomains RPC. - WorkspaceServiceListApprovedEmailDomainsProcedure = "/until.WorkspaceService/ListApprovedEmailDomains" - // WorkspaceServiceAddApprovedEmailDomainProcedure is the fully-qualified name of the - // WorkspaceService's AddApprovedEmailDomain RPC. - WorkspaceServiceAddApprovedEmailDomainProcedure = "/until.WorkspaceService/AddApprovedEmailDomain" - // WorkspaceServiceVerifyApprovedEmailDomainProcedure is the fully-qualified name of the - // WorkspaceService's VerifyApprovedEmailDomain RPC. - WorkspaceServiceVerifyApprovedEmailDomainProcedure = "/until.WorkspaceService/VerifyApprovedEmailDomain" - // WorkspaceServiceResendApprovedEmailDomainCodeProcedure is the fully-qualified name of the - // WorkspaceService's ResendApprovedEmailDomainCode RPC. - WorkspaceServiceResendApprovedEmailDomainCodeProcedure = "/until.WorkspaceService/ResendApprovedEmailDomainCode" - // WorkspaceServiceDeleteApprovedEmailDomainProcedure is the fully-qualified name of the - // WorkspaceService's DeleteApprovedEmailDomain RPC. - WorkspaceServiceDeleteApprovedEmailDomainProcedure = "/until.WorkspaceService/DeleteApprovedEmailDomain" - // WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure is the fully-qualified name of the - // WorkspaceService's GetWorkspaceLLMCredentialStatus RPC. - WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure = "/until.WorkspaceService/GetWorkspaceLLMCredentialStatus" - // WorkspaceServiceSetWorkspaceLLMCredentialProcedure is the fully-qualified name of the - // WorkspaceService's SetWorkspaceLLMCredential RPC. - WorkspaceServiceSetWorkspaceLLMCredentialProcedure = "/until.WorkspaceService/SetWorkspaceLLMCredential" - // WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure is the fully-qualified name of the - // WorkspaceService's DeleteWorkspaceLLMCredential RPC. - WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure = "/until.WorkspaceService/DeleteWorkspaceLLMCredential" - // WorkspaceServiceGetMyCursorCredentialStatusProcedure is the fully-qualified name of the - // WorkspaceService's GetMyCursorCredentialStatus RPC. - WorkspaceServiceGetMyCursorCredentialStatusProcedure = "/until.WorkspaceService/GetMyCursorCredentialStatus" - // WorkspaceServiceSetMyCursorCredentialProcedure is the fully-qualified name of the - // WorkspaceService's SetMyCursorCredential RPC. - WorkspaceServiceSetMyCursorCredentialProcedure = "/until.WorkspaceService/SetMyCursorCredential" - // WorkspaceServiceDeleteMyCursorCredentialProcedure is the fully-qualified name of the - // WorkspaceService's DeleteMyCursorCredential RPC. - WorkspaceServiceDeleteMyCursorCredentialProcedure = "/until.WorkspaceService/DeleteMyCursorCredential" - // WorkspaceServiceGetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the - // WorkspaceService's GetWorkspaceIntegrationRoles RPC. - WorkspaceServiceGetWorkspaceIntegrationRolesProcedure = "/until.WorkspaceService/GetWorkspaceIntegrationRoles" - // WorkspaceServiceSetWorkspaceIntegrationRolesProcedure is the fully-qualified name of the - // WorkspaceService's SetWorkspaceIntegrationRoles RPC. - WorkspaceServiceSetWorkspaceIntegrationRolesProcedure = "/until.WorkspaceService/SetWorkspaceIntegrationRoles" - // WorkspaceServiceResendVerificationEmailProcedure is the fully-qualified name of the - // WorkspaceService's ResendVerificationEmail RPC. - WorkspaceServiceResendVerificationEmailProcedure = "/until.WorkspaceService/ResendVerificationEmail" - // PublicServiceGetInvitationProcedure is the fully-qualified name of the PublicService's - // GetInvitation RPC. - PublicServiceGetInvitationProcedure = "/until.PublicService/GetInvitation" - // UntilAdminServiceExecuteLoopProcedure is the fully-qualified name of the UntilAdminService's ExecuteLoop - // RPC. - UntilAdminServiceExecuteLoopProcedure = "/until.AdminService/ExecuteLoop" - // UntilAdminServiceListRunsProcedure is the fully-qualified name of the UntilAdminService's ListRuns RPC. - UntilAdminServiceListRunsProcedure = "/until.AdminService/ListRuns" - // UntilAdminServiceWatchRunProcedure is the fully-qualified name of the UntilAdminService's WatchRun RPC. - UntilAdminServiceWatchRunProcedure = "/until.AdminService/WatchRun" - // UntilAdminServiceStreamEventsProcedure is the fully-qualified name of the UntilAdminService's StreamEvents - // RPC. - UntilAdminServiceStreamEventsProcedure = "/until.AdminService/StreamEvents" - // UntilAdminServiceListEventsProcedure is the fully-qualified name of the UntilAdminService's ListEvents RPC. - UntilAdminServiceListEventsProcedure = "/until.AdminService/ListEvents" - // UntilAdminServiceCancelRunProcedure is the fully-qualified name of the UntilAdminService's CancelRun RPC. - UntilAdminServiceCancelRunProcedure = "/until.AdminService/CancelRun" - // UntilAdminServiceSendQuestionProcedure is the fully-qualified name of the UntilAdminService's SendQuestion - // RPC. - UntilAdminServiceSendQuestionProcedure = "/until.AdminService/SendQuestion" - // UntilAdminServiceListPlansProcedure is the fully-qualified name of the UntilAdminService's ListPlans RPC. - UntilAdminServiceListPlansProcedure = "/until.AdminService/ListPlans" - // UntilAdminServiceGetPlanProcedure is the fully-qualified name of the UntilAdminService's GetPlan RPC. - UntilAdminServiceGetPlanProcedure = "/until.AdminService/GetPlan" - // UntilAdminServiceListReviewsProcedure is the fully-qualified name of the UntilAdminService's ListReviews - // RPC. - UntilAdminServiceListReviewsProcedure = "/until.AdminService/ListReviews" - // UntilAdminServiceGetReviewProcedure is the fully-qualified name of the UntilAdminService's GetReview RPC. - UntilAdminServiceGetReviewProcedure = "/until.AdminService/GetReview" - // UntilAdminServiceListAccountsProcedure is the fully-qualified name of the UntilAdminService's ListAccounts - // RPC. - UntilAdminServiceListAccountsProcedure = "/until.AdminService/ListAccounts" - // UntilAdminServiceGetAccountSummaryProcedure is the fully-qualified name of the UntilAdminService's - // GetAccountSummary RPC. - UntilAdminServiceGetAccountSummaryProcedure = "/until.AdminService/GetAccountSummary" - // UntilAdminServiceGetAccountHealthAnalysisProcedure is the fully-qualified name of the UntilAdminService's - // GetAccountHealthAnalysis RPC. - UntilAdminServiceGetAccountHealthAnalysisProcedure = "/until.AdminService/GetAccountHealthAnalysis" - // UntilAdminServiceListAccountMetricReposProcedure is the fully-qualified name of the UntilAdminService's - // ListAccountMetricRepos RPC. - UntilAdminServiceListAccountMetricReposProcedure = "/until.AdminService/ListAccountMetricRepos" - // UntilAdminServiceStartAccountMetricsComparisonProcedure is the fully-qualified name of the - // UntilAdminService's StartAccountMetricsComparison RPC. - UntilAdminServiceStartAccountMetricsComparisonProcedure = "/until.AdminService/StartAccountMetricsComparison" - // UntilAdminServiceGetAccountMetricsComparisonRunProcedure is the fully-qualified name of the - // UntilAdminService's GetAccountMetricsComparisonRun RPC. - UntilAdminServiceGetAccountMetricsComparisonRunProcedure = "/until.AdminService/GetAccountMetricsComparisonRun" - // UntilAdminServiceGetAccountPlanCheckSettingsProcedure is the fully-qualified name of the - // UntilAdminService's GetAccountPlanCheckSettings RPC. - UntilAdminServiceGetAccountPlanCheckSettingsProcedure = "/until.AdminService/GetAccountPlanCheckSettings" - // UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure is the fully-qualified name of the - // UntilAdminService's UpdateAccountPlanCheckSettings RPC. - UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure = "/until.AdminService/UpdateAccountPlanCheckSettings" - // UntilAdminServiceGetAccountReviewPolicyProcedure is the fully-qualified name of the UntilAdminService's - // GetAccountReviewPolicy RPC. - UntilAdminServiceGetAccountReviewPolicyProcedure = "/until.AdminService/GetAccountReviewPolicy" - // UntilAdminServiceUpdateAccountReviewPolicyProcedure is the fully-qualified name of the UntilAdminService's - // UpdateAccountReviewPolicy RPC. - UntilAdminServiceUpdateAccountReviewPolicyProcedure = "/until.AdminService/UpdateAccountReviewPolicy" - // UntilAdminServiceGetAccountLLMCredentialStatusProcedure is the fully-qualified name of the - // UntilAdminService's GetAccountLLMCredentialStatus RPC. - UntilAdminServiceGetAccountLLMCredentialStatusProcedure = "/until.AdminService/GetAccountLLMCredentialStatus" - // UntilAdminServiceListAccountIntegrationsProcedure is the fully-qualified name of the UntilAdminService's - // ListAccountIntegrations RPC. - UntilAdminServiceListAccountIntegrationsProcedure = "/until.AdminService/ListAccountIntegrations" - // UntilAdminServiceListLoopsProcedure is the fully-qualified name of the UntilAdminService's ListLoops RPC. - UntilAdminServiceListLoopsProcedure = "/until.AdminService/ListLoops" - // UntilAdminServiceGetLoopProcedure is the fully-qualified name of the UntilAdminService's GetLoop RPC. - UntilAdminServiceGetLoopProcedure = "/until.AdminService/GetLoop" - // UntilAdminServiceListLoopRunsProcedure is the fully-qualified name of the UntilAdminService's ListLoopRuns - // RPC. - UntilAdminServiceListLoopRunsProcedure = "/until.AdminService/ListLoopRuns" - // UntilAdminServiceGetLoopRunProcedure is the fully-qualified name of the UntilAdminService's GetLoopRun RPC. - UntilAdminServiceGetLoopRunProcedure = "/until.AdminService/GetLoopRun" - // UntilAdminServiceGetLoopRunThreadHistoryProcedure is the fully-qualified name of the UntilAdminService's - // GetLoopRunThreadHistory RPC. - UntilAdminServiceGetLoopRunThreadHistoryProcedure = "/until.AdminService/GetLoopRunThreadHistory" - // UntilAdminServiceListPullRequestsProcedure is the fully-qualified name of the UntilAdminService's - // ListPullRequests RPC. - UntilAdminServiceListPullRequestsProcedure = "/until.AdminService/ListPullRequests" - // UntilAdminServiceGetPullRequestByIDProcedure is the fully-qualified name of the UntilAdminService's - // GetPullRequestByID RPC. - UntilAdminServiceGetPullRequestByIDProcedure = "/until.AdminService/GetPullRequestByID" - // UntilAdminServiceListPlanChecksForPRProcedure is the fully-qualified name of the UntilAdminService's - // ListPlanChecksForPR RPC. - UntilAdminServiceListPlanChecksForPRProcedure = "/until.AdminService/ListPlanChecksForPR" - // UntilAdminServiceListPrincipalsProcedure is the fully-qualified name of the UntilAdminService's - // ListPrincipals RPC. - UntilAdminServiceListPrincipalsProcedure = "/until.AdminService/ListPrincipals" - // UntilAdminServiceGetPrincipalProcedure is the fully-qualified name of the UntilAdminService's GetPrincipal - // RPC. - UntilAdminServiceGetPrincipalProcedure = "/until.AdminService/GetPrincipal" - // UntilAdminServiceUpsertPrincipalBindingProcedure is the fully-qualified name of the UntilAdminService's - // UpsertPrincipalBinding RPC. - UntilAdminServiceUpsertPrincipalBindingProcedure = "/until.AdminService/UpsertPrincipalBinding" - // UntilAdminServiceDeletePrincipalBindingProcedure is the fully-qualified name of the UntilAdminService's - // DeletePrincipalBinding RPC. - UntilAdminServiceDeletePrincipalBindingProcedure = "/until.AdminService/DeletePrincipalBinding" - // UntilAdminServiceUpdatePrincipalProcedure is the fully-qualified name of the UntilAdminService's - // UpdatePrincipal RPC. - UntilAdminServiceUpdatePrincipalProcedure = "/until.AdminService/UpdatePrincipal" - // UntilAdminServiceCreatePrincipalIdentityProcedure is the fully-qualified name of the UntilAdminService's - // CreatePrincipalIdentity RPC. - UntilAdminServiceCreatePrincipalIdentityProcedure = "/until.AdminService/CreatePrincipalIdentity" - // UntilAdminServiceDeletePrincipalIdentityProcedure is the fully-qualified name of the UntilAdminService's - // DeletePrincipalIdentity RPC. - UntilAdminServiceDeletePrincipalIdentityProcedure = "/until.AdminService/DeletePrincipalIdentity" - // UntilAdminServiceSetPrincipalCredentialProcedure is the fully-qualified name of the UntilAdminService's - // SetPrincipalCredential RPC. - UntilAdminServiceSetPrincipalCredentialProcedure = "/until.AdminService/SetPrincipalCredential" - // UntilAdminServiceListPrincipalCredentialConnectionsProcedure is the fully-qualified name of the - // UntilAdminService's ListPrincipalCredentialConnections RPC. - UntilAdminServiceListPrincipalCredentialConnectionsProcedure = "/until.AdminService/ListPrincipalCredentialConnections" - // UntilAdminServiceDeletePrincipalCredentialProcedure is the fully-qualified name of the UntilAdminService's - // DeletePrincipalCredential RPC. - UntilAdminServiceDeletePrincipalCredentialProcedure = "/until.AdminService/DeletePrincipalCredential" - // UntilAdminServiceGetPullRequestTimelineProcedure is the fully-qualified name of the UntilAdminService's - // GetPullRequestTimeline RPC. - UntilAdminServiceGetPullRequestTimelineProcedure = "/until.AdminService/GetPullRequestTimeline" -) - -// WorkspaceServiceClient is a client for the until.WorkspaceService service. -type WorkspaceServiceClient interface { - // Lists open pull requests for the caller's account from the pull_requests - // table (every repo Brent has webhooks for), sorted by updated_at DESC. - // Gated on brent:read. - ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) - // Fetches a single pull request by repository + number for the caller's - // account. Returns NotFound when the row is absent or owned by another tenant. - // Gated on brent:read. - GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) - // Returns the calling principal's provisioning state for their tenant. - // Read-only; never mutates principals or identities. The SPA calls this on - // every load and routes unprovisioned principals into the onboarding - // wizard. Gated on brent:read. - // - // The tenant (`account_name`) is resolved server-side from the JWT custom - // claim `https://api.overmind.tech/account-name` -- never from the request - // body. The wire carries no organization identifier today; this is the seam - // the future Organizations work will evolve when a principal needs to - // belong to multiple orgs. - GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) - // Returns the minimal metadata needed to render the authenticated Plan prompt - // page. Identity-scoped: workspace_id is explicit and active membership is - // checked server-side. Missing plans, workspaces, and memberships all return - // NotFound. Gated on brent:read. - GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) - // Returns a provider-specific OAuth redirect URL for the connections setup - // page. Sets an HMAC-signed state cookie on the HTTP response; the browser - // sends it back on the callback redirect. Gated on brent:read. - // Supports INSTALL (org/workspace connect) and LINK (personal handle bind). - GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) - // Removes an integration for the caller's tenant: deletes the org install row - // and encrypted tokens (where applicable), tombstones the caller's verified - // binding for first-party providers, and best-effort revokes at the provider - // where supported (Linear, Slack, GitHub, Composio). Gated on brent:write. - DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) - // Validates and connects a customer-supplied HTTP MCP endpoint: runs a smoke - // tools/list reachability + protocol check through the guardrailed transport, - // and on success stores the install + endpoint/CA config + encrypted bearer. - // Gated on brent:write. - ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) - // Returns whether the caller's workspace has a GitLab install and, when - // connected, the persisted base URL and install timestamp. Does not return - // webhook credentials (shown once at connect). Gated on brent:read. - GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) - // Validates a GitLab access token against the customer's instance, persists - // the install, and returns one-time webhook URL + secret for GitLab setup. - // Gated on brent:write. - ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) - // Stores the GitLab webhook signing token (whsec_...) the customer generated - // in GitLab, enabling HMAC-SHA256 (Standard Webhooks) verification of inbound - // deliveries in addition to the plain-text webhook secret. Optional, run - // after ConnectGitLab and after the customer creates the webhook in GitLab. - // Gated on brent:write. - SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) - // Idempotently upserts a `principal_bindings` row of `state='verified'` for - // the calling principal. The handle and canonical subject are refreshed on - // re-call for the same (principal, provider) tuple. Gated on brent:write. - // - // The principal_id is resolved server-side from the JWT; callers do not - // need to know their own UUID. - UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) - // Lists all bindings for the calling principal. Tenant-scoped and - // principal-scoped. Gated on brent:read. - ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) - // Returns the calling principal's notification preferences (full effective - // matrix with code defaults applied). Gated on brent:read. - GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) - // Patches the calling principal's notification preferences. Only cells present - // in the request are changed; everything else is preserved. Gated on brent:write. - UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) - // Registers a push subscription for the calling principal's browser. The - // subscription is keyed by (workspace_id, principal_id, endpoint) so the same - // device can re-subscribe and update keys without duplicating rows. Sends a - // confirmation push on success. Gated on brent:write, workspace-scoped. - RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) - // Returns the VAPID application server public key needed to subscribe a - // browser to push notifications. The key is a deploy-time constant, not - // per-user. Gated on brent:read, identity-scoped. - GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) - // Sets the calling principal's display_name and marks it user-set so - // provisioning no longer re-syncs it from the identity provider. The - // principal is resolved server-side from the JWT. Gated on brent:write. - UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) - // Returns Brent tenant settings for the given account. Customer callers - // use their JWT account; brent-area51 operators may pass any account_name - // when holding admin:write. - GetPlanCheckSettings(context.Context, *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) - // PATCH semantics for Brent tenant settings. Only set fields are written; - // audit columns are server-stamped. - UpdatePlanCheckSettings(context.Context, *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) - // Returns the account-scoped integration marketplace catalogue: Composio cache - // rows plus synthesised first-party and BYO entries with per-account connection - // state. Gated on brent:read. - ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) - // Creates a new workspace from a display name and provisions the caller as - // its first admin (plus the system agent) atomically. The workspace_id (uuid) - // is server-minted; the slug is derived ASCII-only from display_name and - // collisions are rejected with AlreadyExists. Identity-scoped: acts on the - // signed-in Auth0 subject, carries no workspace header. Gated on brent:write. - CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) - // Lists every workspace the calling identity is an active member of, with the - // caller's per-workspace role. Identity-scoped (cross-workspace by nature; the - // security boundary is the caller's own identity). Gated on brent:read. - ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) - // Discovers privacy-limited login-recovery candidates for a zero-membership - // caller whose verified email matches other Auth0 social identities that hold - // active Brent workspaces. Identity-scoped: the subject and email come from - // the authenticated /userinfo path, never from the request. Empty request so - // callers cannot enumerate arbitrary emails or subjects. Fail-closed: missing - // Management credentials, Auth0 errors, or Brent lookup failures yield an - // empty candidate list rather than blocking workspace creation. Gated on - // brent:read. - DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) - // Renames the workspace named by the Brent-Workspace-Id header: edits - // display_name and re-derives the URL slug from it using the same rules as - // CreateWorkspace. Workspace-scoped and admin-only: the caller must be an - // active admin of the header workspace. A slug that collides with another - // workspace is rejected with AlreadyExists; a new name that slugifies to empty - // (non-Latin/emoji) keeps the current slug rather than regressing to a - // ws- placeholder. The superseded slug is recorded so a bookmarked - // /w/{oldSlug} can resolve to the renamed workspace. Gated on brent:write. - RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) - // Sets (or clears) the theme colour of the workspace named by the - // Brent-Workspace-Id header. The colour is a strict "#rrggbb" hex string; an - // empty value clears it to NULL. Workspace-scoped and admin-only: the caller - // must be an active admin of the header workspace (checked in the handler; - // the workspace interceptor only observes). The logo, which carries image - // bytes, is set through a separate authed multipart upload route, not this - // RPC. Gated on brent:write. - UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) - // Marks the given workspace's onboarding as complete, flipping - // onboarding_completed to true. Identity-scoped: acts on the signed-in Auth0 - // subject against an explicit workspace_id. The server only succeeds for an - // active admin member of that workspace (non-admins and non-members are - // rejected with PermissionDenied). Gated on brent:write. - CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) - // Soft-deletes a workspace the caller actively administers. Identity-scoped: - // acts on the signed-in subject against an explicit workspace_id, verified - // server-side as an active admin. Gated on brent:write. - DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) - // Lists every workspace the calling identity can join right now: verified - // approved email-domain match and/or a pending non-expired invitation for the - // caller's verified email, excluding workspaces where the caller is already an - // active member (BRENT-698). Dual-eligible workspaces appear once with - // JOIN_SOURCE_INVITE. Identity-scoped (the security boundary is the caller's - // own verified email); never returns a workspace the caller cannot join. - // Gated on brent:read. - ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) - // Joins the calling identity to a workspace it is eligible for. The server - // requires a verified email and re-checks eligibility on workspace_id. When a - // pending invitation holds that verified email, Join accepts the invite - // atomically (invited role preserved) — including invite-only, with no domain - // match required (BRENT-698 / BRENT-695). Otherwise it provisions an active - // member via domain join when the caller is domain-eligible. A call with - // neither a claimable invite nor a domain match is rejected. Identity-scoped. - // Gated on brent:write. - JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) - // Creates a single-use per-email workspace invitation. The caller must be an - // active member of workspace_id. Members may invite members; admins may invite - // either role. Gated on brent:write. - CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) - // Creates one single-use invitation per email in a single call, all with the - // same role, returning one result per email so a partial failure (e.g. one - // duplicate among several) never aborts the rest. The caller must be an active - // member of workspace_id. Members may invite members; admins may invite either - // role. Gated on brent:write. - CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) - // Claims a single-use workspace invitation for the signed-in identity. The - // token carries the workspace and is sent in the request body only. Gated on - // brent:write. - AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) - // Lists active members and pending email invitations for a workspace. The - // caller must be an active member of workspace_id. Gated on brent:read. - ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) - // Rotates the token and resets the expiry on a pending invitation, then - // re-enqueues the invite email. Keyed on the invited shadow principal_id. The - // caller must be an active admin of workspace_id. Gated on brent:write. - ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) - // Revokes a pending invitation and tombstones its shadow principal, releasing - // the email convergence key. Keyed on the invited shadow principal_id. The - // caller must be an active admin of workspace_id. Gated on brent:write. - RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) - // Removes an active member from a workspace by tombstoning their principal and - // verified bindings. Refused when it would remove the last active admin. The - // caller must be an active admin of workspace_id. Gated on brent:write. - RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) - // Promotes or demotes a workspace member between admin and member. When the - // member is a pending invite, the backing invitation role is updated too. - // Refused when a demotion would leave zero active admins. The caller must be - // an active admin of workspace_id. Gated on brent:write. - UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) - // Lists the approved email domains of the workspace named by the - // Brent-Workspace-Id header, verified and unverified. The caller must be an - // active member of the header workspace. Gated on brent:read. - ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) - // Adds an approved email domain to the header workspace and emails a - // verification code to the supplied address (which must be at that domain). - // The domain starts unverified. Public providers and malformed input are - // rejected; a duplicate domain returns AlreadyExists. Workspace-scoped and - // admin-only. Gated on brent:write. - AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) - // Verifies an approved email domain by its emailed code, flipping it to - // verified on success. Wrong/expired codes are rejected; the attempt cap and a - // generic mismatch error guard against guessing. Workspace-scoped and - // admin-only. Gated on brent:write. - VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) - // Rotates and re-sends the verification code for an unverified approved email - // domain, invalidating the previous code. Briefly rate-limited per domain. - // Workspace-scoped and admin-only. Gated on brent:write. - ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) - // Deletes an approved email domain (verified or not) from the header - // workspace. Workspace-scoped and admin-only. Gated on brent:write. - DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) - // Returns display metadata (connected flag, last-4 chars, timestamps) for the - // workspace's stored LLM provider key. Never returns the secret itself. The - // caller must be an active member of the header workspace. Gated on brent:read. - GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) - // Sets (or replaces) the workspace's LLM provider key. The secret is validated - // against the provider API before storage; an auth failure rejects the call, - // while a transient probe error stores the key with a warning and a null - // last_validated_at timestamp. Workspace-scoped and admin-only. Gated on - // brent:write. - SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) - // Deletes the workspace's LLM provider key. Idempotent: deleting a missing key - // succeeds. Workspace-scoped and admin-only. Gated on brent:write. - DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) - // Returns metadata for the calling principal's personal Cursor API key in - // the header workspace. Never returns the secret or Cursor account email. - // Workspace-scoped; gated on brent:read. - GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) - // Validates and stores the calling principal's personal Cursor user API key. - // Service-account keys and keys bound to another principal are rejected. - // Workspace-scoped; gated on brent:write. - SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) - // Deletes the calling principal's personal Cursor key and tombstones its - // verified Cursor binding. Idempotent and workspace-scoped; gated on brent:write. - DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) - // Returns the workspace's configured git integration role and the Manage URL - // for the connected git provider. - // Workspace-scoped; the caller must be an active member. Gated on brent:read. - GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) - // Sets the workspace's integration roles. Validates that providers are - // eligible for their roles via the app-level registry. When git_provider - // changes away from a connected provider, disconnects the previous git - // install. Workspace-scoped and admin-only. Gated on brent:write. - SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) - // Re-sends the account verification email to the signed-in caller by minting - // an Auth0 email-verification ticket and delivering it via Resend. Powers the - // "Verify your email" interstitial. The caller is resolved from the JWT. - // - // Idempotent by design: when the caller's email is already verified the call - // succeeds without sending anything, so the SPA can call it unconditionally. - // Repeat sends to the same recipient are rate-limited at the queue layer. - // When the Auth0 Management API is not configured (dev/local) the RPC returns - // Unavailable rather than failing boot. Gated on brent:write. - ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) -} - -// NewWorkspaceServiceClient constructs a client for the until.WorkspaceService service. By default, -// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and -// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() -// or connect.WithGRPCWeb() options. -// -// The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.com or https://acme.com/grpc). -func NewWorkspaceServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) WorkspaceServiceClient { - baseURL = strings.TrimRight(baseURL, "/") - workspaceServiceMethods := sdp_go.File_brent_proto.Services().ByName("WorkspaceService").Methods() - return &workspaceServiceClient{ - listOpenPullRequests: connect.NewClient[sdp_go.ListOpenPullRequestsRequest, sdp_go.ListOpenPullRequestsResponse]( - httpClient, - baseURL+WorkspaceServiceListOpenPullRequestsProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ListOpenPullRequests")), - connect.WithClientOptions(opts...), - ), - getPullRequest: connect.NewClient[sdp_go.GetPullRequestRequest, sdp_go.GetPullRequestResponse]( - httpClient, - baseURL+WorkspaceServiceGetPullRequestProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetPullRequest")), - connect.WithClientOptions(opts...), - ), - getPrincipalStatus: connect.NewClient[sdp_go.GetPrincipalStatusRequest, sdp_go.GetPrincipalStatusResponse]( - httpClient, - baseURL+WorkspaceServiceGetPrincipalStatusProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetPrincipalStatus")), - connect.WithClientOptions(opts...), - ), - getPlanPrompt: connect.NewClient[sdp_go.GetPlanPromptRequest, sdp_go.GetPlanPromptResponse]( - httpClient, - baseURL+WorkspaceServiceGetPlanPromptProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetPlanPrompt")), - connect.WithClientOptions(opts...), - ), - getIntegrationConnectURL: connect.NewClient[sdp_go.GetIntegrationConnectURLRequest, sdp_go.GetIntegrationConnectURLResponse]( - httpClient, - baseURL+WorkspaceServiceGetIntegrationConnectURLProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetIntegrationConnectURL")), - connect.WithClientOptions(opts...), - ), - disconnectIntegration: connect.NewClient[sdp_go.DisconnectIntegrationRequest, sdp_go.DisconnectIntegrationResponse]( - httpClient, - baseURL+WorkspaceServiceDisconnectIntegrationProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("DisconnectIntegration")), - connect.WithClientOptions(opts...), - ), - connectByoHttpMcp: connect.NewClient[sdp_go.ConnectByoHttpMcpRequest, sdp_go.ConnectByoHttpMcpResponse]( - httpClient, - baseURL+WorkspaceServiceConnectByoHttpMcpProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ConnectByoHttpMcp")), - connect.WithClientOptions(opts...), - ), - getGitLabConnection: connect.NewClient[sdp_go.GetGitLabConnectionRequest, sdp_go.GetGitLabConnectionResponse]( - httpClient, - baseURL+WorkspaceServiceGetGitLabConnectionProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetGitLabConnection")), - connect.WithClientOptions(opts...), - ), - connectGitLab: connect.NewClient[sdp_go.ConnectGitLabRequest, sdp_go.ConnectGitLabResponse]( - httpClient, - baseURL+WorkspaceServiceConnectGitLabProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ConnectGitLab")), - connect.WithClientOptions(opts...), - ), - saveGitLabSigningToken: connect.NewClient[sdp_go.SaveGitLabSigningTokenRequest, sdp_go.SaveGitLabSigningTokenResponse]( - httpClient, - baseURL+WorkspaceServiceSaveGitLabSigningTokenProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("SaveGitLabSigningToken")), - connect.WithClientOptions(opts...), - ), - upsertMyVerifiedBinding: connect.NewClient[sdp_go.UpsertMyVerifiedBindingRequest, sdp_go.UpsertMyVerifiedBindingResponse]( - httpClient, - baseURL+WorkspaceServiceUpsertMyVerifiedBindingProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("UpsertMyVerifiedBinding")), - connect.WithClientOptions(opts...), - ), - listMyBindings: connect.NewClient[sdp_go.ListMyBindingsRequest, sdp_go.ListMyBindingsResponse]( - httpClient, - baseURL+WorkspaceServiceListMyBindingsProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ListMyBindings")), - connect.WithClientOptions(opts...), - ), - getMyNotificationPreferences: connect.NewClient[sdp_go.GetMyNotificationPreferencesRequest, sdp_go.GetMyNotificationPreferencesResponse]( - httpClient, - baseURL+WorkspaceServiceGetMyNotificationPreferencesProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetMyNotificationPreferences")), - connect.WithClientOptions(opts...), - ), - updateMyNotificationPreferences: connect.NewClient[sdp_go.UpdateMyNotificationPreferencesRequest, sdp_go.UpdateMyNotificationPreferencesResponse]( - httpClient, - baseURL+WorkspaceServiceUpdateMyNotificationPreferencesProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyNotificationPreferences")), - connect.WithClientOptions(opts...), - ), - registerMyPushSubscription: connect.NewClient[sdp_go.RegisterMyPushSubscriptionRequest, sdp_go.RegisterMyPushSubscriptionResponse]( - httpClient, - baseURL+WorkspaceServiceRegisterMyPushSubscriptionProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("RegisterMyPushSubscription")), - connect.WithClientOptions(opts...), - ), - getWebPushPublicKey: connect.NewClient[sdp_go.GetWebPushPublicKeyRequest, sdp_go.GetWebPushPublicKeyResponse]( - httpClient, - baseURL+WorkspaceServiceGetWebPushPublicKeyProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetWebPushPublicKey")), - connect.WithClientOptions(opts...), - ), - updateMyDisplayName: connect.NewClient[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse]( - httpClient, - baseURL+WorkspaceServiceUpdateMyDisplayNameProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyDisplayName")), - connect.WithClientOptions(opts...), - ), - getPlanCheckSettings: connect.NewClient[sdp_go.GetPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse]( - httpClient, - baseURL+WorkspaceServiceGetPlanCheckSettingsProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetPlanCheckSettings")), - connect.WithClientOptions(opts...), - ), - updatePlanCheckSettings: connect.NewClient[sdp_go.UpdatePlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse]( - httpClient, - baseURL+WorkspaceServiceUpdatePlanCheckSettingsProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("UpdatePlanCheckSettings")), - connect.WithClientOptions(opts...), - ), - listIntegrationCatalogue: connect.NewClient[sdp_go.ListIntegrationCatalogueRequest, sdp_go.ListIntegrationCatalogueResponse]( - httpClient, - baseURL+WorkspaceServiceListIntegrationCatalogueProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ListIntegrationCatalogue")), - connect.WithClientOptions(opts...), - ), - createWorkspace: connect.NewClient[sdp_go.CreateWorkspaceRequest, sdp_go.CreateWorkspaceResponse]( - httpClient, - baseURL+WorkspaceServiceCreateWorkspaceProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("CreateWorkspace")), - connect.WithClientOptions(opts...), - ), - listMyWorkspaces: connect.NewClient[sdp_go.ListMyWorkspacesRequest, sdp_go.ListMyWorkspacesResponse]( - httpClient, - baseURL+WorkspaceServiceListMyWorkspacesProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ListMyWorkspaces")), - connect.WithClientOptions(opts...), - ), - discoverLoginRecoveryCandidates: connect.NewClient[sdp_go.DiscoverLoginRecoveryCandidatesRequest, sdp_go.DiscoverLoginRecoveryCandidatesResponse]( - httpClient, - baseURL+WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), - connect.WithClientOptions(opts...), - ), - renameWorkspace: connect.NewClient[sdp_go.RenameWorkspaceRequest, sdp_go.RenameWorkspaceResponse]( - httpClient, - baseURL+WorkspaceServiceRenameWorkspaceProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("RenameWorkspace")), - connect.WithClientOptions(opts...), - ), - updateWorkspaceBranding: connect.NewClient[sdp_go.UpdateWorkspaceBrandingRequest, sdp_go.UpdateWorkspaceBrandingResponse]( - httpClient, - baseURL+WorkspaceServiceUpdateWorkspaceBrandingProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceBranding")), - connect.WithClientOptions(opts...), - ), - completeWorkspaceOnboarding: connect.NewClient[sdp_go.CompleteWorkspaceOnboardingRequest, sdp_go.CompleteWorkspaceOnboardingResponse]( - httpClient, - baseURL+WorkspaceServiceCompleteWorkspaceOnboardingProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("CompleteWorkspaceOnboarding")), - connect.WithClientOptions(opts...), - ), - deleteWorkspace: connect.NewClient[sdp_go.DeleteWorkspaceRequest, sdp_go.DeleteWorkspaceResponse]( - httpClient, - baseURL+WorkspaceServiceDeleteWorkspaceProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspace")), - connect.WithClientOptions(opts...), - ), - listJoinableWorkspaces: connect.NewClient[sdp_go.ListJoinableWorkspacesRequest, sdp_go.ListJoinableWorkspacesResponse]( - httpClient, - baseURL+WorkspaceServiceListJoinableWorkspacesProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ListJoinableWorkspaces")), - connect.WithClientOptions(opts...), - ), - joinWorkspace: connect.NewClient[sdp_go.JoinWorkspaceRequest, sdp_go.JoinWorkspaceResponse]( - httpClient, - baseURL+WorkspaceServiceJoinWorkspaceProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("JoinWorkspace")), - connect.WithClientOptions(opts...), - ), - createInvitation: connect.NewClient[sdp_go.CreateInvitationRequest, sdp_go.CreateInvitationResponse]( - httpClient, - baseURL+WorkspaceServiceCreateInvitationProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitation")), - connect.WithClientOptions(opts...), - ), - createInvitations: connect.NewClient[sdp_go.CreateInvitationsRequest, sdp_go.CreateInvitationsResponse]( - httpClient, - baseURL+WorkspaceServiceCreateInvitationsProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitations")), - connect.WithClientOptions(opts...), - ), - acceptInvitation: connect.NewClient[sdp_go.AcceptInvitationRequest, sdp_go.AcceptInvitationResponse]( - httpClient, - baseURL+WorkspaceServiceAcceptInvitationProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("AcceptInvitation")), - connect.WithClientOptions(opts...), - ), - listWorkspaceMembers: connect.NewClient[sdp_go.ListWorkspaceMembersRequest, sdp_go.ListWorkspaceMembersResponse]( - httpClient, - baseURL+WorkspaceServiceListWorkspaceMembersProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ListWorkspaceMembers")), - connect.WithClientOptions(opts...), - ), - resendInvitation: connect.NewClient[sdp_go.ResendInvitationRequest, sdp_go.ResendInvitationResponse]( - httpClient, - baseURL+WorkspaceServiceResendInvitationProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ResendInvitation")), - connect.WithClientOptions(opts...), - ), - revokeInvitation: connect.NewClient[sdp_go.RevokeInvitationRequest, sdp_go.RevokeInvitationResponse]( - httpClient, - baseURL+WorkspaceServiceRevokeInvitationProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("RevokeInvitation")), - connect.WithClientOptions(opts...), - ), - removeWorkspaceMember: connect.NewClient[sdp_go.RemoveWorkspaceMemberRequest, sdp_go.RemoveWorkspaceMemberResponse]( - httpClient, - baseURL+WorkspaceServiceRemoveWorkspaceMemberProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("RemoveWorkspaceMember")), - connect.WithClientOptions(opts...), - ), - updateWorkspaceMemberRole: connect.NewClient[sdp_go.UpdateWorkspaceMemberRoleRequest, sdp_go.UpdateWorkspaceMemberRoleResponse]( - httpClient, - baseURL+WorkspaceServiceUpdateWorkspaceMemberRoleProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceMemberRole")), - connect.WithClientOptions(opts...), - ), - listApprovedEmailDomains: connect.NewClient[sdp_go.ListApprovedEmailDomainsRequest, sdp_go.ListApprovedEmailDomainsResponse]( - httpClient, - baseURL+WorkspaceServiceListApprovedEmailDomainsProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ListApprovedEmailDomains")), - connect.WithClientOptions(opts...), - ), - addApprovedEmailDomain: connect.NewClient[sdp_go.AddApprovedEmailDomainRequest, sdp_go.AddApprovedEmailDomainResponse]( - httpClient, - baseURL+WorkspaceServiceAddApprovedEmailDomainProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("AddApprovedEmailDomain")), - connect.WithClientOptions(opts...), - ), - verifyApprovedEmailDomain: connect.NewClient[sdp_go.VerifyApprovedEmailDomainRequest, sdp_go.VerifyApprovedEmailDomainResponse]( - httpClient, - baseURL+WorkspaceServiceVerifyApprovedEmailDomainProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("VerifyApprovedEmailDomain")), - connect.WithClientOptions(opts...), - ), - resendApprovedEmailDomainCode: connect.NewClient[sdp_go.ResendApprovedEmailDomainCodeRequest, sdp_go.ResendApprovedEmailDomainCodeResponse]( - httpClient, - baseURL+WorkspaceServiceResendApprovedEmailDomainCodeProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ResendApprovedEmailDomainCode")), - connect.WithClientOptions(opts...), - ), - deleteApprovedEmailDomain: connect.NewClient[sdp_go.DeleteApprovedEmailDomainRequest, sdp_go.DeleteApprovedEmailDomainResponse]( - httpClient, - baseURL+WorkspaceServiceDeleteApprovedEmailDomainProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteApprovedEmailDomain")), - connect.WithClientOptions(opts...), - ), - getWorkspaceLLMCredentialStatus: connect.NewClient[sdp_go.GetWorkspaceLLMCredentialStatusRequest, sdp_go.GetWorkspaceLLMCredentialStatusResponse]( - httpClient, - baseURL+WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), - connect.WithClientOptions(opts...), - ), - setWorkspaceLLMCredential: connect.NewClient[sdp_go.SetWorkspaceLLMCredentialRequest, sdp_go.SetWorkspaceLLMCredentialResponse]( - httpClient, - baseURL+WorkspaceServiceSetWorkspaceLLMCredentialProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceLLMCredential")), - connect.WithClientOptions(opts...), - ), - deleteWorkspaceLLMCredential: connect.NewClient[sdp_go.DeleteWorkspaceLLMCredentialRequest, sdp_go.DeleteWorkspaceLLMCredentialResponse]( - httpClient, - baseURL+WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspaceLLMCredential")), - connect.WithClientOptions(opts...), - ), - getMyCursorCredentialStatus: connect.NewClient[sdp_go.GetMyCursorCredentialStatusRequest, sdp_go.GetMyCursorCredentialStatusResponse]( - httpClient, - baseURL+WorkspaceServiceGetMyCursorCredentialStatusProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetMyCursorCredentialStatus")), - connect.WithClientOptions(opts...), - ), - setMyCursorCredential: connect.NewClient[sdp_go.SetMyCursorCredentialRequest, sdp_go.SetMyCursorCredentialResponse]( - httpClient, - baseURL+WorkspaceServiceSetMyCursorCredentialProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("SetMyCursorCredential")), - connect.WithClientOptions(opts...), - ), - deleteMyCursorCredential: connect.NewClient[sdp_go.DeleteMyCursorCredentialRequest, sdp_go.DeleteMyCursorCredentialResponse]( - httpClient, - baseURL+WorkspaceServiceDeleteMyCursorCredentialProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteMyCursorCredential")), - connect.WithClientOptions(opts...), - ), - getWorkspaceIntegrationRoles: connect.NewClient[sdp_go.GetWorkspaceIntegrationRolesRequest, sdp_go.GetWorkspaceIntegrationRolesResponse]( - httpClient, - baseURL+WorkspaceServiceGetWorkspaceIntegrationRolesProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceIntegrationRoles")), - connect.WithClientOptions(opts...), - ), - setWorkspaceIntegrationRoles: connect.NewClient[sdp_go.SetWorkspaceIntegrationRolesRequest, sdp_go.SetWorkspaceIntegrationRolesResponse]( - httpClient, - baseURL+WorkspaceServiceSetWorkspaceIntegrationRolesProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceIntegrationRoles")), - connect.WithClientOptions(opts...), - ), - resendVerificationEmail: connect.NewClient[sdp_go.ResendVerificationEmailRequest, sdp_go.ResendVerificationEmailResponse]( - httpClient, - baseURL+WorkspaceServiceResendVerificationEmailProcedure, - connect.WithSchema(workspaceServiceMethods.ByName("ResendVerificationEmail")), - connect.WithClientOptions(opts...), - ), - } -} - -// workspaceServiceClient implements WorkspaceServiceClient. -type workspaceServiceClient struct { - listOpenPullRequests *connect.Client[sdp_go.ListOpenPullRequestsRequest, sdp_go.ListOpenPullRequestsResponse] - getPullRequest *connect.Client[sdp_go.GetPullRequestRequest, sdp_go.GetPullRequestResponse] - getPrincipalStatus *connect.Client[sdp_go.GetPrincipalStatusRequest, sdp_go.GetPrincipalStatusResponse] - getPlanPrompt *connect.Client[sdp_go.GetPlanPromptRequest, sdp_go.GetPlanPromptResponse] - getIntegrationConnectURL *connect.Client[sdp_go.GetIntegrationConnectURLRequest, sdp_go.GetIntegrationConnectURLResponse] - disconnectIntegration *connect.Client[sdp_go.DisconnectIntegrationRequest, sdp_go.DisconnectIntegrationResponse] - connectByoHttpMcp *connect.Client[sdp_go.ConnectByoHttpMcpRequest, sdp_go.ConnectByoHttpMcpResponse] - getGitLabConnection *connect.Client[sdp_go.GetGitLabConnectionRequest, sdp_go.GetGitLabConnectionResponse] - connectGitLab *connect.Client[sdp_go.ConnectGitLabRequest, sdp_go.ConnectGitLabResponse] - saveGitLabSigningToken *connect.Client[sdp_go.SaveGitLabSigningTokenRequest, sdp_go.SaveGitLabSigningTokenResponse] - upsertMyVerifiedBinding *connect.Client[sdp_go.UpsertMyVerifiedBindingRequest, sdp_go.UpsertMyVerifiedBindingResponse] - listMyBindings *connect.Client[sdp_go.ListMyBindingsRequest, sdp_go.ListMyBindingsResponse] - getMyNotificationPreferences *connect.Client[sdp_go.GetMyNotificationPreferencesRequest, sdp_go.GetMyNotificationPreferencesResponse] - updateMyNotificationPreferences *connect.Client[sdp_go.UpdateMyNotificationPreferencesRequest, sdp_go.UpdateMyNotificationPreferencesResponse] - registerMyPushSubscription *connect.Client[sdp_go.RegisterMyPushSubscriptionRequest, sdp_go.RegisterMyPushSubscriptionResponse] - getWebPushPublicKey *connect.Client[sdp_go.GetWebPushPublicKeyRequest, sdp_go.GetWebPushPublicKeyResponse] - updateMyDisplayName *connect.Client[sdp_go.UpdateMyDisplayNameRequest, sdp_go.UpdateMyDisplayNameResponse] - getPlanCheckSettings *connect.Client[sdp_go.GetPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse] - updatePlanCheckSettings *connect.Client[sdp_go.UpdatePlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse] - listIntegrationCatalogue *connect.Client[sdp_go.ListIntegrationCatalogueRequest, sdp_go.ListIntegrationCatalogueResponse] - createWorkspace *connect.Client[sdp_go.CreateWorkspaceRequest, sdp_go.CreateWorkspaceResponse] - listMyWorkspaces *connect.Client[sdp_go.ListMyWorkspacesRequest, sdp_go.ListMyWorkspacesResponse] - discoverLoginRecoveryCandidates *connect.Client[sdp_go.DiscoverLoginRecoveryCandidatesRequest, sdp_go.DiscoverLoginRecoveryCandidatesResponse] - renameWorkspace *connect.Client[sdp_go.RenameWorkspaceRequest, sdp_go.RenameWorkspaceResponse] - updateWorkspaceBranding *connect.Client[sdp_go.UpdateWorkspaceBrandingRequest, sdp_go.UpdateWorkspaceBrandingResponse] - completeWorkspaceOnboarding *connect.Client[sdp_go.CompleteWorkspaceOnboardingRequest, sdp_go.CompleteWorkspaceOnboardingResponse] - deleteWorkspace *connect.Client[sdp_go.DeleteWorkspaceRequest, sdp_go.DeleteWorkspaceResponse] - listJoinableWorkspaces *connect.Client[sdp_go.ListJoinableWorkspacesRequest, sdp_go.ListJoinableWorkspacesResponse] - joinWorkspace *connect.Client[sdp_go.JoinWorkspaceRequest, sdp_go.JoinWorkspaceResponse] - createInvitation *connect.Client[sdp_go.CreateInvitationRequest, sdp_go.CreateInvitationResponse] - createInvitations *connect.Client[sdp_go.CreateInvitationsRequest, sdp_go.CreateInvitationsResponse] - acceptInvitation *connect.Client[sdp_go.AcceptInvitationRequest, sdp_go.AcceptInvitationResponse] - listWorkspaceMembers *connect.Client[sdp_go.ListWorkspaceMembersRequest, sdp_go.ListWorkspaceMembersResponse] - resendInvitation *connect.Client[sdp_go.ResendInvitationRequest, sdp_go.ResendInvitationResponse] - revokeInvitation *connect.Client[sdp_go.RevokeInvitationRequest, sdp_go.RevokeInvitationResponse] - removeWorkspaceMember *connect.Client[sdp_go.RemoveWorkspaceMemberRequest, sdp_go.RemoveWorkspaceMemberResponse] - updateWorkspaceMemberRole *connect.Client[sdp_go.UpdateWorkspaceMemberRoleRequest, sdp_go.UpdateWorkspaceMemberRoleResponse] - listApprovedEmailDomains *connect.Client[sdp_go.ListApprovedEmailDomainsRequest, sdp_go.ListApprovedEmailDomainsResponse] - addApprovedEmailDomain *connect.Client[sdp_go.AddApprovedEmailDomainRequest, sdp_go.AddApprovedEmailDomainResponse] - verifyApprovedEmailDomain *connect.Client[sdp_go.VerifyApprovedEmailDomainRequest, sdp_go.VerifyApprovedEmailDomainResponse] - resendApprovedEmailDomainCode *connect.Client[sdp_go.ResendApprovedEmailDomainCodeRequest, sdp_go.ResendApprovedEmailDomainCodeResponse] - deleteApprovedEmailDomain *connect.Client[sdp_go.DeleteApprovedEmailDomainRequest, sdp_go.DeleteApprovedEmailDomainResponse] - getWorkspaceLLMCredentialStatus *connect.Client[sdp_go.GetWorkspaceLLMCredentialStatusRequest, sdp_go.GetWorkspaceLLMCredentialStatusResponse] - setWorkspaceLLMCredential *connect.Client[sdp_go.SetWorkspaceLLMCredentialRequest, sdp_go.SetWorkspaceLLMCredentialResponse] - deleteWorkspaceLLMCredential *connect.Client[sdp_go.DeleteWorkspaceLLMCredentialRequest, sdp_go.DeleteWorkspaceLLMCredentialResponse] - getMyCursorCredentialStatus *connect.Client[sdp_go.GetMyCursorCredentialStatusRequest, sdp_go.GetMyCursorCredentialStatusResponse] - setMyCursorCredential *connect.Client[sdp_go.SetMyCursorCredentialRequest, sdp_go.SetMyCursorCredentialResponse] - deleteMyCursorCredential *connect.Client[sdp_go.DeleteMyCursorCredentialRequest, sdp_go.DeleteMyCursorCredentialResponse] - getWorkspaceIntegrationRoles *connect.Client[sdp_go.GetWorkspaceIntegrationRolesRequest, sdp_go.GetWorkspaceIntegrationRolesResponse] - setWorkspaceIntegrationRoles *connect.Client[sdp_go.SetWorkspaceIntegrationRolesRequest, sdp_go.SetWorkspaceIntegrationRolesResponse] - resendVerificationEmail *connect.Client[sdp_go.ResendVerificationEmailRequest, sdp_go.ResendVerificationEmailResponse] -} - -// ListOpenPullRequests calls until.WorkspaceService.ListOpenPullRequests. -func (c *workspaceServiceClient) ListOpenPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { - return c.listOpenPullRequests.CallUnary(ctx, req) -} - -// GetPullRequest calls until.WorkspaceService.GetPullRequest. -func (c *workspaceServiceClient) GetPullRequest(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { - return c.getPullRequest.CallUnary(ctx, req) -} - -// GetPrincipalStatus calls until.WorkspaceService.GetPrincipalStatus. -func (c *workspaceServiceClient) GetPrincipalStatus(ctx context.Context, req *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { - return c.getPrincipalStatus.CallUnary(ctx, req) -} - -// GetPlanPrompt calls until.WorkspaceService.GetPlanPrompt. -func (c *workspaceServiceClient) GetPlanPrompt(ctx context.Context, req *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { - return c.getPlanPrompt.CallUnary(ctx, req) -} - -// GetIntegrationConnectURL calls until.WorkspaceService.GetIntegrationConnectURL. -func (c *workspaceServiceClient) GetIntegrationConnectURL(ctx context.Context, req *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { - return c.getIntegrationConnectURL.CallUnary(ctx, req) -} - -// DisconnectIntegration calls until.WorkspaceService.DisconnectIntegration. -func (c *workspaceServiceClient) DisconnectIntegration(ctx context.Context, req *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { - return c.disconnectIntegration.CallUnary(ctx, req) -} - -// ConnectByoHttpMcp calls until.WorkspaceService.ConnectByoHttpMcp. -func (c *workspaceServiceClient) ConnectByoHttpMcp(ctx context.Context, req *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { - return c.connectByoHttpMcp.CallUnary(ctx, req) -} - -// GetGitLabConnection calls until.WorkspaceService.GetGitLabConnection. -func (c *workspaceServiceClient) GetGitLabConnection(ctx context.Context, req *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { - return c.getGitLabConnection.CallUnary(ctx, req) -} - -// ConnectGitLab calls until.WorkspaceService.ConnectGitLab. -func (c *workspaceServiceClient) ConnectGitLab(ctx context.Context, req *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { - return c.connectGitLab.CallUnary(ctx, req) -} - -// SaveGitLabSigningToken calls until.WorkspaceService.SaveGitLabSigningToken. -func (c *workspaceServiceClient) SaveGitLabSigningToken(ctx context.Context, req *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { - return c.saveGitLabSigningToken.CallUnary(ctx, req) -} - -// UpsertMyVerifiedBinding calls until.WorkspaceService.UpsertMyVerifiedBinding. -func (c *workspaceServiceClient) UpsertMyVerifiedBinding(ctx context.Context, req *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { - return c.upsertMyVerifiedBinding.CallUnary(ctx, req) -} - -// ListMyBindings calls until.WorkspaceService.ListMyBindings. -func (c *workspaceServiceClient) ListMyBindings(ctx context.Context, req *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { - return c.listMyBindings.CallUnary(ctx, req) -} - -// GetMyNotificationPreferences calls until.WorkspaceService.GetMyNotificationPreferences. -func (c *workspaceServiceClient) GetMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { - return c.getMyNotificationPreferences.CallUnary(ctx, req) -} - -// UpdateMyNotificationPreferences calls until.WorkspaceService.UpdateMyNotificationPreferences. -func (c *workspaceServiceClient) UpdateMyNotificationPreferences(ctx context.Context, req *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { - return c.updateMyNotificationPreferences.CallUnary(ctx, req) -} - -// RegisterMyPushSubscription calls until.WorkspaceService.RegisterMyPushSubscription. -func (c *workspaceServiceClient) RegisterMyPushSubscription(ctx context.Context, req *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { - return c.registerMyPushSubscription.CallUnary(ctx, req) -} - -// GetWebPushPublicKey calls until.WorkspaceService.GetWebPushPublicKey. -func (c *workspaceServiceClient) GetWebPushPublicKey(ctx context.Context, req *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { - return c.getWebPushPublicKey.CallUnary(ctx, req) -} - -// UpdateMyDisplayName calls until.WorkspaceService.UpdateMyDisplayName. -func (c *workspaceServiceClient) UpdateMyDisplayName(ctx context.Context, req *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { - return c.updateMyDisplayName.CallUnary(ctx, req) -} - -// GetPlanCheckSettings calls until.WorkspaceService.GetPlanCheckSettings. -func (c *workspaceServiceClient) GetPlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { - return c.getPlanCheckSettings.CallUnary(ctx, req) -} - -// UpdatePlanCheckSettings calls until.WorkspaceService.UpdatePlanCheckSettings. -func (c *workspaceServiceClient) UpdatePlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { - return c.updatePlanCheckSettings.CallUnary(ctx, req) -} - -// ListIntegrationCatalogue calls until.WorkspaceService.ListIntegrationCatalogue. -func (c *workspaceServiceClient) ListIntegrationCatalogue(ctx context.Context, req *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { - return c.listIntegrationCatalogue.CallUnary(ctx, req) -} - -// CreateWorkspace calls until.WorkspaceService.CreateWorkspace. -func (c *workspaceServiceClient) CreateWorkspace(ctx context.Context, req *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { - return c.createWorkspace.CallUnary(ctx, req) -} - -// ListMyWorkspaces calls until.WorkspaceService.ListMyWorkspaces. -func (c *workspaceServiceClient) ListMyWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { - return c.listMyWorkspaces.CallUnary(ctx, req) -} - -// DiscoverLoginRecoveryCandidates calls until.WorkspaceService.DiscoverLoginRecoveryCandidates. -func (c *workspaceServiceClient) DiscoverLoginRecoveryCandidates(ctx context.Context, req *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { - return c.discoverLoginRecoveryCandidates.CallUnary(ctx, req) -} - -// RenameWorkspace calls until.WorkspaceService.RenameWorkspace. -func (c *workspaceServiceClient) RenameWorkspace(ctx context.Context, req *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { - return c.renameWorkspace.CallUnary(ctx, req) -} - -// UpdateWorkspaceBranding calls until.WorkspaceService.UpdateWorkspaceBranding. -func (c *workspaceServiceClient) UpdateWorkspaceBranding(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { - return c.updateWorkspaceBranding.CallUnary(ctx, req) -} - -// CompleteWorkspaceOnboarding calls until.WorkspaceService.CompleteWorkspaceOnboarding. -func (c *workspaceServiceClient) CompleteWorkspaceOnboarding(ctx context.Context, req *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { - return c.completeWorkspaceOnboarding.CallUnary(ctx, req) -} - -// DeleteWorkspace calls until.WorkspaceService.DeleteWorkspace. -func (c *workspaceServiceClient) DeleteWorkspace(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { - return c.deleteWorkspace.CallUnary(ctx, req) -} - -// ListJoinableWorkspaces calls until.WorkspaceService.ListJoinableWorkspaces. -func (c *workspaceServiceClient) ListJoinableWorkspaces(ctx context.Context, req *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { - return c.listJoinableWorkspaces.CallUnary(ctx, req) -} - -// JoinWorkspace calls until.WorkspaceService.JoinWorkspace. -func (c *workspaceServiceClient) JoinWorkspace(ctx context.Context, req *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { - return c.joinWorkspace.CallUnary(ctx, req) -} - -// CreateInvitation calls until.WorkspaceService.CreateInvitation. -func (c *workspaceServiceClient) CreateInvitation(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { - return c.createInvitation.CallUnary(ctx, req) -} - -// CreateInvitations calls until.WorkspaceService.CreateInvitations. -func (c *workspaceServiceClient) CreateInvitations(ctx context.Context, req *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { - return c.createInvitations.CallUnary(ctx, req) -} - -// AcceptInvitation calls until.WorkspaceService.AcceptInvitation. -func (c *workspaceServiceClient) AcceptInvitation(ctx context.Context, req *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { - return c.acceptInvitation.CallUnary(ctx, req) -} - -// ListWorkspaceMembers calls until.WorkspaceService.ListWorkspaceMembers. -func (c *workspaceServiceClient) ListWorkspaceMembers(ctx context.Context, req *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { - return c.listWorkspaceMembers.CallUnary(ctx, req) -} - -// ResendInvitation calls until.WorkspaceService.ResendInvitation. -func (c *workspaceServiceClient) ResendInvitation(ctx context.Context, req *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { - return c.resendInvitation.CallUnary(ctx, req) -} - -// RevokeInvitation calls until.WorkspaceService.RevokeInvitation. -func (c *workspaceServiceClient) RevokeInvitation(ctx context.Context, req *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { - return c.revokeInvitation.CallUnary(ctx, req) -} - -// RemoveWorkspaceMember calls until.WorkspaceService.RemoveWorkspaceMember. -func (c *workspaceServiceClient) RemoveWorkspaceMember(ctx context.Context, req *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { - return c.removeWorkspaceMember.CallUnary(ctx, req) -} - -// UpdateWorkspaceMemberRole calls until.WorkspaceService.UpdateWorkspaceMemberRole. -func (c *workspaceServiceClient) UpdateWorkspaceMemberRole(ctx context.Context, req *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { - return c.updateWorkspaceMemberRole.CallUnary(ctx, req) -} - -// ListApprovedEmailDomains calls until.WorkspaceService.ListApprovedEmailDomains. -func (c *workspaceServiceClient) ListApprovedEmailDomains(ctx context.Context, req *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { - return c.listApprovedEmailDomains.CallUnary(ctx, req) -} - -// AddApprovedEmailDomain calls until.WorkspaceService.AddApprovedEmailDomain. -func (c *workspaceServiceClient) AddApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { - return c.addApprovedEmailDomain.CallUnary(ctx, req) -} - -// VerifyApprovedEmailDomain calls until.WorkspaceService.VerifyApprovedEmailDomain. -func (c *workspaceServiceClient) VerifyApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { - return c.verifyApprovedEmailDomain.CallUnary(ctx, req) -} - -// ResendApprovedEmailDomainCode calls until.WorkspaceService.ResendApprovedEmailDomainCode. -func (c *workspaceServiceClient) ResendApprovedEmailDomainCode(ctx context.Context, req *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { - return c.resendApprovedEmailDomainCode.CallUnary(ctx, req) -} - -// DeleteApprovedEmailDomain calls until.WorkspaceService.DeleteApprovedEmailDomain. -func (c *workspaceServiceClient) DeleteApprovedEmailDomain(ctx context.Context, req *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { - return c.deleteApprovedEmailDomain.CallUnary(ctx, req) -} - -// GetWorkspaceLLMCredentialStatus calls until.WorkspaceService.GetWorkspaceLLMCredentialStatus. -func (c *workspaceServiceClient) GetWorkspaceLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { - return c.getWorkspaceLLMCredentialStatus.CallUnary(ctx, req) -} - -// SetWorkspaceLLMCredential calls until.WorkspaceService.SetWorkspaceLLMCredential. -func (c *workspaceServiceClient) SetWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { - return c.setWorkspaceLLMCredential.CallUnary(ctx, req) -} - -// DeleteWorkspaceLLMCredential calls until.WorkspaceService.DeleteWorkspaceLLMCredential. -func (c *workspaceServiceClient) DeleteWorkspaceLLMCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { - return c.deleteWorkspaceLLMCredential.CallUnary(ctx, req) -} - -// GetMyCursorCredentialStatus calls until.WorkspaceService.GetMyCursorCredentialStatus. -func (c *workspaceServiceClient) GetMyCursorCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { - return c.getMyCursorCredentialStatus.CallUnary(ctx, req) -} - -// SetMyCursorCredential calls until.WorkspaceService.SetMyCursorCredential. -func (c *workspaceServiceClient) SetMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { - return c.setMyCursorCredential.CallUnary(ctx, req) -} - -// DeleteMyCursorCredential calls until.WorkspaceService.DeleteMyCursorCredential. -func (c *workspaceServiceClient) DeleteMyCursorCredential(ctx context.Context, req *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { - return c.deleteMyCursorCredential.CallUnary(ctx, req) -} - -// GetWorkspaceIntegrationRoles calls until.WorkspaceService.GetWorkspaceIntegrationRoles. -func (c *workspaceServiceClient) GetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { - return c.getWorkspaceIntegrationRoles.CallUnary(ctx, req) -} - -// SetWorkspaceIntegrationRoles calls until.WorkspaceService.SetWorkspaceIntegrationRoles. -func (c *workspaceServiceClient) SetWorkspaceIntegrationRoles(ctx context.Context, req *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { - return c.setWorkspaceIntegrationRoles.CallUnary(ctx, req) -} - -// ResendVerificationEmail calls until.WorkspaceService.ResendVerificationEmail. -func (c *workspaceServiceClient) ResendVerificationEmail(ctx context.Context, req *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { - return c.resendVerificationEmail.CallUnary(ctx, req) -} - -// WorkspaceServiceHandler is an implementation of the until.WorkspaceService service. -type WorkspaceServiceHandler interface { - // Lists open pull requests for the caller's account from the pull_requests - // table (every repo Brent has webhooks for), sorted by updated_at DESC. - // Gated on brent:read. - ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) - // Fetches a single pull request by repository + number for the caller's - // account. Returns NotFound when the row is absent or owned by another tenant. - // Gated on brent:read. - GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) - // Returns the calling principal's provisioning state for their tenant. - // Read-only; never mutates principals or identities. The SPA calls this on - // every load and routes unprovisioned principals into the onboarding - // wizard. Gated on brent:read. - // - // The tenant (`account_name`) is resolved server-side from the JWT custom - // claim `https://api.overmind.tech/account-name` -- never from the request - // body. The wire carries no organization identifier today; this is the seam - // the future Organizations work will evolve when a principal needs to - // belong to multiple orgs. - GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) - // Returns the minimal metadata needed to render the authenticated Plan prompt - // page. Identity-scoped: workspace_id is explicit and active membership is - // checked server-side. Missing plans, workspaces, and memberships all return - // NotFound. Gated on brent:read. - GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) - // Returns a provider-specific OAuth redirect URL for the connections setup - // page. Sets an HMAC-signed state cookie on the HTTP response; the browser - // sends it back on the callback redirect. Gated on brent:read. - // Supports INSTALL (org/workspace connect) and LINK (personal handle bind). - GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) - // Removes an integration for the caller's tenant: deletes the org install row - // and encrypted tokens (where applicable), tombstones the caller's verified - // binding for first-party providers, and best-effort revokes at the provider - // where supported (Linear, Slack, GitHub, Composio). Gated on brent:write. - DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) - // Validates and connects a customer-supplied HTTP MCP endpoint: runs a smoke - // tools/list reachability + protocol check through the guardrailed transport, - // and on success stores the install + endpoint/CA config + encrypted bearer. - // Gated on brent:write. - ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) - // Returns whether the caller's workspace has a GitLab install and, when - // connected, the persisted base URL and install timestamp. Does not return - // webhook credentials (shown once at connect). Gated on brent:read. - GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) - // Validates a GitLab access token against the customer's instance, persists - // the install, and returns one-time webhook URL + secret for GitLab setup. - // Gated on brent:write. - ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) - // Stores the GitLab webhook signing token (whsec_...) the customer generated - // in GitLab, enabling HMAC-SHA256 (Standard Webhooks) verification of inbound - // deliveries in addition to the plain-text webhook secret. Optional, run - // after ConnectGitLab and after the customer creates the webhook in GitLab. - // Gated on brent:write. - SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) - // Idempotently upserts a `principal_bindings` row of `state='verified'` for - // the calling principal. The handle and canonical subject are refreshed on - // re-call for the same (principal, provider) tuple. Gated on brent:write. - // - // The principal_id is resolved server-side from the JWT; callers do not - // need to know their own UUID. - UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) - // Lists all bindings for the calling principal. Tenant-scoped and - // principal-scoped. Gated on brent:read. - ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) - // Returns the calling principal's notification preferences (full effective - // matrix with code defaults applied). Gated on brent:read. - GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) - // Patches the calling principal's notification preferences. Only cells present - // in the request are changed; everything else is preserved. Gated on brent:write. - UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) - // Registers a push subscription for the calling principal's browser. The - // subscription is keyed by (workspace_id, principal_id, endpoint) so the same - // device can re-subscribe and update keys without duplicating rows. Sends a - // confirmation push on success. Gated on brent:write, workspace-scoped. - RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) - // Returns the VAPID application server public key needed to subscribe a - // browser to push notifications. The key is a deploy-time constant, not - // per-user. Gated on brent:read, identity-scoped. - GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) - // Sets the calling principal's display_name and marks it user-set so - // provisioning no longer re-syncs it from the identity provider. The - // principal is resolved server-side from the JWT. Gated on brent:write. - UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) - // Returns Brent tenant settings for the given account. Customer callers - // use their JWT account; brent-area51 operators may pass any account_name - // when holding admin:write. - GetPlanCheckSettings(context.Context, *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) - // PATCH semantics for Brent tenant settings. Only set fields are written; - // audit columns are server-stamped. - UpdatePlanCheckSettings(context.Context, *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) - // Returns the account-scoped integration marketplace catalogue: Composio cache - // rows plus synthesised first-party and BYO entries with per-account connection - // state. Gated on brent:read. - ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) - // Creates a new workspace from a display name and provisions the caller as - // its first admin (plus the system agent) atomically. The workspace_id (uuid) - // is server-minted; the slug is derived ASCII-only from display_name and - // collisions are rejected with AlreadyExists. Identity-scoped: acts on the - // signed-in Auth0 subject, carries no workspace header. Gated on brent:write. - CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) - // Lists every workspace the calling identity is an active member of, with the - // caller's per-workspace role. Identity-scoped (cross-workspace by nature; the - // security boundary is the caller's own identity). Gated on brent:read. - ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) - // Discovers privacy-limited login-recovery candidates for a zero-membership - // caller whose verified email matches other Auth0 social identities that hold - // active Brent workspaces. Identity-scoped: the subject and email come from - // the authenticated /userinfo path, never from the request. Empty request so - // callers cannot enumerate arbitrary emails or subjects. Fail-closed: missing - // Management credentials, Auth0 errors, or Brent lookup failures yield an - // empty candidate list rather than blocking workspace creation. Gated on - // brent:read. - DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) - // Renames the workspace named by the Brent-Workspace-Id header: edits - // display_name and re-derives the URL slug from it using the same rules as - // CreateWorkspace. Workspace-scoped and admin-only: the caller must be an - // active admin of the header workspace. A slug that collides with another - // workspace is rejected with AlreadyExists; a new name that slugifies to empty - // (non-Latin/emoji) keeps the current slug rather than regressing to a - // ws- placeholder. The superseded slug is recorded so a bookmarked - // /w/{oldSlug} can resolve to the renamed workspace. Gated on brent:write. - RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) - // Sets (or clears) the theme colour of the workspace named by the - // Brent-Workspace-Id header. The colour is a strict "#rrggbb" hex string; an - // empty value clears it to NULL. Workspace-scoped and admin-only: the caller - // must be an active admin of the header workspace (checked in the handler; - // the workspace interceptor only observes). The logo, which carries image - // bytes, is set through a separate authed multipart upload route, not this - // RPC. Gated on brent:write. - UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) - // Marks the given workspace's onboarding as complete, flipping - // onboarding_completed to true. Identity-scoped: acts on the signed-in Auth0 - // subject against an explicit workspace_id. The server only succeeds for an - // active admin member of that workspace (non-admins and non-members are - // rejected with PermissionDenied). Gated on brent:write. - CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) - // Soft-deletes a workspace the caller actively administers. Identity-scoped: - // acts on the signed-in subject against an explicit workspace_id, verified - // server-side as an active admin. Gated on brent:write. - DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) - // Lists every workspace the calling identity can join right now: verified - // approved email-domain match and/or a pending non-expired invitation for the - // caller's verified email, excluding workspaces where the caller is already an - // active member (BRENT-698). Dual-eligible workspaces appear once with - // JOIN_SOURCE_INVITE. Identity-scoped (the security boundary is the caller's - // own verified email); never returns a workspace the caller cannot join. - // Gated on brent:read. - ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) - // Joins the calling identity to a workspace it is eligible for. The server - // requires a verified email and re-checks eligibility on workspace_id. When a - // pending invitation holds that verified email, Join accepts the invite - // atomically (invited role preserved) — including invite-only, with no domain - // match required (BRENT-698 / BRENT-695). Otherwise it provisions an active - // member via domain join when the caller is domain-eligible. A call with - // neither a claimable invite nor a domain match is rejected. Identity-scoped. - // Gated on brent:write. - JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) - // Creates a single-use per-email workspace invitation. The caller must be an - // active member of workspace_id. Members may invite members; admins may invite - // either role. Gated on brent:write. - CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) - // Creates one single-use invitation per email in a single call, all with the - // same role, returning one result per email so a partial failure (e.g. one - // duplicate among several) never aborts the rest. The caller must be an active - // member of workspace_id. Members may invite members; admins may invite either - // role. Gated on brent:write. - CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) - // Claims a single-use workspace invitation for the signed-in identity. The - // token carries the workspace and is sent in the request body only. Gated on - // brent:write. - AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) - // Lists active members and pending email invitations for a workspace. The - // caller must be an active member of workspace_id. Gated on brent:read. - ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) - // Rotates the token and resets the expiry on a pending invitation, then - // re-enqueues the invite email. Keyed on the invited shadow principal_id. The - // caller must be an active admin of workspace_id. Gated on brent:write. - ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) - // Revokes a pending invitation and tombstones its shadow principal, releasing - // the email convergence key. Keyed on the invited shadow principal_id. The - // caller must be an active admin of workspace_id. Gated on brent:write. - RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) - // Removes an active member from a workspace by tombstoning their principal and - // verified bindings. Refused when it would remove the last active admin. The - // caller must be an active admin of workspace_id. Gated on brent:write. - RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) - // Promotes or demotes a workspace member between admin and member. When the - // member is a pending invite, the backing invitation role is updated too. - // Refused when a demotion would leave zero active admins. The caller must be - // an active admin of workspace_id. Gated on brent:write. - UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) - // Lists the approved email domains of the workspace named by the - // Brent-Workspace-Id header, verified and unverified. The caller must be an - // active member of the header workspace. Gated on brent:read. - ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) - // Adds an approved email domain to the header workspace and emails a - // verification code to the supplied address (which must be at that domain). - // The domain starts unverified. Public providers and malformed input are - // rejected; a duplicate domain returns AlreadyExists. Workspace-scoped and - // admin-only. Gated on brent:write. - AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) - // Verifies an approved email domain by its emailed code, flipping it to - // verified on success. Wrong/expired codes are rejected; the attempt cap and a - // generic mismatch error guard against guessing. Workspace-scoped and - // admin-only. Gated on brent:write. - VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) - // Rotates and re-sends the verification code for an unverified approved email - // domain, invalidating the previous code. Briefly rate-limited per domain. - // Workspace-scoped and admin-only. Gated on brent:write. - ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) - // Deletes an approved email domain (verified or not) from the header - // workspace. Workspace-scoped and admin-only. Gated on brent:write. - DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) - // Returns display metadata (connected flag, last-4 chars, timestamps) for the - // workspace's stored LLM provider key. Never returns the secret itself. The - // caller must be an active member of the header workspace. Gated on brent:read. - GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) - // Sets (or replaces) the workspace's LLM provider key. The secret is validated - // against the provider API before storage; an auth failure rejects the call, - // while a transient probe error stores the key with a warning and a null - // last_validated_at timestamp. Workspace-scoped and admin-only. Gated on - // brent:write. - SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) - // Deletes the workspace's LLM provider key. Idempotent: deleting a missing key - // succeeds. Workspace-scoped and admin-only. Gated on brent:write. - DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) - // Returns metadata for the calling principal's personal Cursor API key in - // the header workspace. Never returns the secret or Cursor account email. - // Workspace-scoped; gated on brent:read. - GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) - // Validates and stores the calling principal's personal Cursor user API key. - // Service-account keys and keys bound to another principal are rejected. - // Workspace-scoped; gated on brent:write. - SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) - // Deletes the calling principal's personal Cursor key and tombstones its - // verified Cursor binding. Idempotent and workspace-scoped; gated on brent:write. - DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) - // Returns the workspace's configured git integration role and the Manage URL - // for the connected git provider. - // Workspace-scoped; the caller must be an active member. Gated on brent:read. - GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) - // Sets the workspace's integration roles. Validates that providers are - // eligible for their roles via the app-level registry. When git_provider - // changes away from a connected provider, disconnects the previous git - // install. Workspace-scoped and admin-only. Gated on brent:write. - SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) - // Re-sends the account verification email to the signed-in caller by minting - // an Auth0 email-verification ticket and delivering it via Resend. Powers the - // "Verify your email" interstitial. The caller is resolved from the JWT. - // - // Idempotent by design: when the caller's email is already verified the call - // succeeds without sending anything, so the SPA can call it unconditionally. - // Repeat sends to the same recipient are rate-limited at the queue layer. - // When the Auth0 Management API is not configured (dev/local) the RPC returns - // Unavailable rather than failing boot. Gated on brent:write. - ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) -} - -// NewWorkspaceServiceHandler builds an HTTP handler from the service implementation. It returns the -// path on which to mount the handler and the handler itself. -// -// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf -// and JSON codecs. They also support gzip compression. -func NewWorkspaceServiceHandler(svc WorkspaceServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { - workspaceServiceMethods := sdp_go.File_brent_proto.Services().ByName("WorkspaceService").Methods() - workspaceServiceListOpenPullRequestsHandler := connect.NewUnaryHandler( - WorkspaceServiceListOpenPullRequestsProcedure, - svc.ListOpenPullRequests, - connect.WithSchema(workspaceServiceMethods.ByName("ListOpenPullRequests")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetPullRequestHandler := connect.NewUnaryHandler( - WorkspaceServiceGetPullRequestProcedure, - svc.GetPullRequest, - connect.WithSchema(workspaceServiceMethods.ByName("GetPullRequest")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetPrincipalStatusHandler := connect.NewUnaryHandler( - WorkspaceServiceGetPrincipalStatusProcedure, - svc.GetPrincipalStatus, - connect.WithSchema(workspaceServiceMethods.ByName("GetPrincipalStatus")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetPlanPromptHandler := connect.NewUnaryHandler( - WorkspaceServiceGetPlanPromptProcedure, - svc.GetPlanPrompt, - connect.WithSchema(workspaceServiceMethods.ByName("GetPlanPrompt")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetIntegrationConnectURLHandler := connect.NewUnaryHandler( - WorkspaceServiceGetIntegrationConnectURLProcedure, - svc.GetIntegrationConnectURL, - connect.WithSchema(workspaceServiceMethods.ByName("GetIntegrationConnectURL")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceDisconnectIntegrationHandler := connect.NewUnaryHandler( - WorkspaceServiceDisconnectIntegrationProcedure, - svc.DisconnectIntegration, - connect.WithSchema(workspaceServiceMethods.ByName("DisconnectIntegration")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceConnectByoHttpMcpHandler := connect.NewUnaryHandler( - WorkspaceServiceConnectByoHttpMcpProcedure, - svc.ConnectByoHttpMcp, - connect.WithSchema(workspaceServiceMethods.ByName("ConnectByoHttpMcp")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetGitLabConnectionHandler := connect.NewUnaryHandler( - WorkspaceServiceGetGitLabConnectionProcedure, - svc.GetGitLabConnection, - connect.WithSchema(workspaceServiceMethods.ByName("GetGitLabConnection")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceConnectGitLabHandler := connect.NewUnaryHandler( - WorkspaceServiceConnectGitLabProcedure, - svc.ConnectGitLab, - connect.WithSchema(workspaceServiceMethods.ByName("ConnectGitLab")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceSaveGitLabSigningTokenHandler := connect.NewUnaryHandler( - WorkspaceServiceSaveGitLabSigningTokenProcedure, - svc.SaveGitLabSigningToken, - connect.WithSchema(workspaceServiceMethods.ByName("SaveGitLabSigningToken")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceUpsertMyVerifiedBindingHandler := connect.NewUnaryHandler( - WorkspaceServiceUpsertMyVerifiedBindingProcedure, - svc.UpsertMyVerifiedBinding, - connect.WithSchema(workspaceServiceMethods.ByName("UpsertMyVerifiedBinding")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceListMyBindingsHandler := connect.NewUnaryHandler( - WorkspaceServiceListMyBindingsProcedure, - svc.ListMyBindings, - connect.WithSchema(workspaceServiceMethods.ByName("ListMyBindings")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetMyNotificationPreferencesHandler := connect.NewUnaryHandler( - WorkspaceServiceGetMyNotificationPreferencesProcedure, - svc.GetMyNotificationPreferences, - connect.WithSchema(workspaceServiceMethods.ByName("GetMyNotificationPreferences")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceUpdateMyNotificationPreferencesHandler := connect.NewUnaryHandler( - WorkspaceServiceUpdateMyNotificationPreferencesProcedure, - svc.UpdateMyNotificationPreferences, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyNotificationPreferences")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceRegisterMyPushSubscriptionHandler := connect.NewUnaryHandler( - WorkspaceServiceRegisterMyPushSubscriptionProcedure, - svc.RegisterMyPushSubscription, - connect.WithSchema(workspaceServiceMethods.ByName("RegisterMyPushSubscription")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetWebPushPublicKeyHandler := connect.NewUnaryHandler( - WorkspaceServiceGetWebPushPublicKeyProcedure, - svc.GetWebPushPublicKey, - connect.WithSchema(workspaceServiceMethods.ByName("GetWebPushPublicKey")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceUpdateMyDisplayNameHandler := connect.NewUnaryHandler( - WorkspaceServiceUpdateMyDisplayNameProcedure, - svc.UpdateMyDisplayName, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateMyDisplayName")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetPlanCheckSettingsHandler := connect.NewUnaryHandler( - WorkspaceServiceGetPlanCheckSettingsProcedure, - svc.GetPlanCheckSettings, - connect.WithSchema(workspaceServiceMethods.ByName("GetPlanCheckSettings")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceUpdatePlanCheckSettingsHandler := connect.NewUnaryHandler( - WorkspaceServiceUpdatePlanCheckSettingsProcedure, - svc.UpdatePlanCheckSettings, - connect.WithSchema(workspaceServiceMethods.ByName("UpdatePlanCheckSettings")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceListIntegrationCatalogueHandler := connect.NewUnaryHandler( - WorkspaceServiceListIntegrationCatalogueProcedure, - svc.ListIntegrationCatalogue, - connect.WithSchema(workspaceServiceMethods.ByName("ListIntegrationCatalogue")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceCreateWorkspaceHandler := connect.NewUnaryHandler( - WorkspaceServiceCreateWorkspaceProcedure, - svc.CreateWorkspace, - connect.WithSchema(workspaceServiceMethods.ByName("CreateWorkspace")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceListMyWorkspacesHandler := connect.NewUnaryHandler( - WorkspaceServiceListMyWorkspacesProcedure, - svc.ListMyWorkspaces, - connect.WithSchema(workspaceServiceMethods.ByName("ListMyWorkspaces")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceDiscoverLoginRecoveryCandidatesHandler := connect.NewUnaryHandler( - WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure, - svc.DiscoverLoginRecoveryCandidates, - connect.WithSchema(workspaceServiceMethods.ByName("DiscoverLoginRecoveryCandidates")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceRenameWorkspaceHandler := connect.NewUnaryHandler( - WorkspaceServiceRenameWorkspaceProcedure, - svc.RenameWorkspace, - connect.WithSchema(workspaceServiceMethods.ByName("RenameWorkspace")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceUpdateWorkspaceBrandingHandler := connect.NewUnaryHandler( - WorkspaceServiceUpdateWorkspaceBrandingProcedure, - svc.UpdateWorkspaceBranding, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceBranding")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceCompleteWorkspaceOnboardingHandler := connect.NewUnaryHandler( - WorkspaceServiceCompleteWorkspaceOnboardingProcedure, - svc.CompleteWorkspaceOnboarding, - connect.WithSchema(workspaceServiceMethods.ByName("CompleteWorkspaceOnboarding")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceDeleteWorkspaceHandler := connect.NewUnaryHandler( - WorkspaceServiceDeleteWorkspaceProcedure, - svc.DeleteWorkspace, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspace")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceListJoinableWorkspacesHandler := connect.NewUnaryHandler( - WorkspaceServiceListJoinableWorkspacesProcedure, - svc.ListJoinableWorkspaces, - connect.WithSchema(workspaceServiceMethods.ByName("ListJoinableWorkspaces")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceJoinWorkspaceHandler := connect.NewUnaryHandler( - WorkspaceServiceJoinWorkspaceProcedure, - svc.JoinWorkspace, - connect.WithSchema(workspaceServiceMethods.ByName("JoinWorkspace")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceCreateInvitationHandler := connect.NewUnaryHandler( - WorkspaceServiceCreateInvitationProcedure, - svc.CreateInvitation, - connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitation")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceCreateInvitationsHandler := connect.NewUnaryHandler( - WorkspaceServiceCreateInvitationsProcedure, - svc.CreateInvitations, - connect.WithSchema(workspaceServiceMethods.ByName("CreateInvitations")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceAcceptInvitationHandler := connect.NewUnaryHandler( - WorkspaceServiceAcceptInvitationProcedure, - svc.AcceptInvitation, - connect.WithSchema(workspaceServiceMethods.ByName("AcceptInvitation")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceListWorkspaceMembersHandler := connect.NewUnaryHandler( - WorkspaceServiceListWorkspaceMembersProcedure, - svc.ListWorkspaceMembers, - connect.WithSchema(workspaceServiceMethods.ByName("ListWorkspaceMembers")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceResendInvitationHandler := connect.NewUnaryHandler( - WorkspaceServiceResendInvitationProcedure, - svc.ResendInvitation, - connect.WithSchema(workspaceServiceMethods.ByName("ResendInvitation")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceRevokeInvitationHandler := connect.NewUnaryHandler( - WorkspaceServiceRevokeInvitationProcedure, - svc.RevokeInvitation, - connect.WithSchema(workspaceServiceMethods.ByName("RevokeInvitation")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceRemoveWorkspaceMemberHandler := connect.NewUnaryHandler( - WorkspaceServiceRemoveWorkspaceMemberProcedure, - svc.RemoveWorkspaceMember, - connect.WithSchema(workspaceServiceMethods.ByName("RemoveWorkspaceMember")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceUpdateWorkspaceMemberRoleHandler := connect.NewUnaryHandler( - WorkspaceServiceUpdateWorkspaceMemberRoleProcedure, - svc.UpdateWorkspaceMemberRole, - connect.WithSchema(workspaceServiceMethods.ByName("UpdateWorkspaceMemberRole")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceListApprovedEmailDomainsHandler := connect.NewUnaryHandler( - WorkspaceServiceListApprovedEmailDomainsProcedure, - svc.ListApprovedEmailDomains, - connect.WithSchema(workspaceServiceMethods.ByName("ListApprovedEmailDomains")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceAddApprovedEmailDomainHandler := connect.NewUnaryHandler( - WorkspaceServiceAddApprovedEmailDomainProcedure, - svc.AddApprovedEmailDomain, - connect.WithSchema(workspaceServiceMethods.ByName("AddApprovedEmailDomain")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceVerifyApprovedEmailDomainHandler := connect.NewUnaryHandler( - WorkspaceServiceVerifyApprovedEmailDomainProcedure, - svc.VerifyApprovedEmailDomain, - connect.WithSchema(workspaceServiceMethods.ByName("VerifyApprovedEmailDomain")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceResendApprovedEmailDomainCodeHandler := connect.NewUnaryHandler( - WorkspaceServiceResendApprovedEmailDomainCodeProcedure, - svc.ResendApprovedEmailDomainCode, - connect.WithSchema(workspaceServiceMethods.ByName("ResendApprovedEmailDomainCode")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceDeleteApprovedEmailDomainHandler := connect.NewUnaryHandler( - WorkspaceServiceDeleteApprovedEmailDomainProcedure, - svc.DeleteApprovedEmailDomain, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteApprovedEmailDomain")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetWorkspaceLLMCredentialStatusHandler := connect.NewUnaryHandler( - WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure, - svc.GetWorkspaceLLMCredentialStatus, - connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceLLMCredentialStatus")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceSetWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( - WorkspaceServiceSetWorkspaceLLMCredentialProcedure, - svc.SetWorkspaceLLMCredential, - connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceLLMCredential")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceDeleteWorkspaceLLMCredentialHandler := connect.NewUnaryHandler( - WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure, - svc.DeleteWorkspaceLLMCredential, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteWorkspaceLLMCredential")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetMyCursorCredentialStatusHandler := connect.NewUnaryHandler( - WorkspaceServiceGetMyCursorCredentialStatusProcedure, - svc.GetMyCursorCredentialStatus, - connect.WithSchema(workspaceServiceMethods.ByName("GetMyCursorCredentialStatus")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceSetMyCursorCredentialHandler := connect.NewUnaryHandler( - WorkspaceServiceSetMyCursorCredentialProcedure, - svc.SetMyCursorCredential, - connect.WithSchema(workspaceServiceMethods.ByName("SetMyCursorCredential")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceDeleteMyCursorCredentialHandler := connect.NewUnaryHandler( - WorkspaceServiceDeleteMyCursorCredentialProcedure, - svc.DeleteMyCursorCredential, - connect.WithSchema(workspaceServiceMethods.ByName("DeleteMyCursorCredential")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceGetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( - WorkspaceServiceGetWorkspaceIntegrationRolesProcedure, - svc.GetWorkspaceIntegrationRoles, - connect.WithSchema(workspaceServiceMethods.ByName("GetWorkspaceIntegrationRoles")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceSetWorkspaceIntegrationRolesHandler := connect.NewUnaryHandler( - WorkspaceServiceSetWorkspaceIntegrationRolesProcedure, - svc.SetWorkspaceIntegrationRoles, - connect.WithSchema(workspaceServiceMethods.ByName("SetWorkspaceIntegrationRoles")), - connect.WithHandlerOptions(opts...), - ) - workspaceServiceResendVerificationEmailHandler := connect.NewUnaryHandler( - WorkspaceServiceResendVerificationEmailProcedure, - svc.ResendVerificationEmail, - connect.WithSchema(workspaceServiceMethods.ByName("ResendVerificationEmail")), - connect.WithHandlerOptions(opts...), - ) - return "/until.WorkspaceService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - switch r.URL.Path { - case WorkspaceServiceListOpenPullRequestsProcedure: - workspaceServiceListOpenPullRequestsHandler.ServeHTTP(w, r) - case WorkspaceServiceGetPullRequestProcedure: - workspaceServiceGetPullRequestHandler.ServeHTTP(w, r) - case WorkspaceServiceGetPrincipalStatusProcedure: - workspaceServiceGetPrincipalStatusHandler.ServeHTTP(w, r) - case WorkspaceServiceGetPlanPromptProcedure: - workspaceServiceGetPlanPromptHandler.ServeHTTP(w, r) - case WorkspaceServiceGetIntegrationConnectURLProcedure: - workspaceServiceGetIntegrationConnectURLHandler.ServeHTTP(w, r) - case WorkspaceServiceDisconnectIntegrationProcedure: - workspaceServiceDisconnectIntegrationHandler.ServeHTTP(w, r) - case WorkspaceServiceConnectByoHttpMcpProcedure: - workspaceServiceConnectByoHttpMcpHandler.ServeHTTP(w, r) - case WorkspaceServiceGetGitLabConnectionProcedure: - workspaceServiceGetGitLabConnectionHandler.ServeHTTP(w, r) - case WorkspaceServiceConnectGitLabProcedure: - workspaceServiceConnectGitLabHandler.ServeHTTP(w, r) - case WorkspaceServiceSaveGitLabSigningTokenProcedure: - workspaceServiceSaveGitLabSigningTokenHandler.ServeHTTP(w, r) - case WorkspaceServiceUpsertMyVerifiedBindingProcedure: - workspaceServiceUpsertMyVerifiedBindingHandler.ServeHTTP(w, r) - case WorkspaceServiceListMyBindingsProcedure: - workspaceServiceListMyBindingsHandler.ServeHTTP(w, r) - case WorkspaceServiceGetMyNotificationPreferencesProcedure: - workspaceServiceGetMyNotificationPreferencesHandler.ServeHTTP(w, r) - case WorkspaceServiceUpdateMyNotificationPreferencesProcedure: - workspaceServiceUpdateMyNotificationPreferencesHandler.ServeHTTP(w, r) - case WorkspaceServiceRegisterMyPushSubscriptionProcedure: - workspaceServiceRegisterMyPushSubscriptionHandler.ServeHTTP(w, r) - case WorkspaceServiceGetWebPushPublicKeyProcedure: - workspaceServiceGetWebPushPublicKeyHandler.ServeHTTP(w, r) - case WorkspaceServiceUpdateMyDisplayNameProcedure: - workspaceServiceUpdateMyDisplayNameHandler.ServeHTTP(w, r) - case WorkspaceServiceGetPlanCheckSettingsProcedure: - workspaceServiceGetPlanCheckSettingsHandler.ServeHTTP(w, r) - case WorkspaceServiceUpdatePlanCheckSettingsProcedure: - workspaceServiceUpdatePlanCheckSettingsHandler.ServeHTTP(w, r) - case WorkspaceServiceListIntegrationCatalogueProcedure: - workspaceServiceListIntegrationCatalogueHandler.ServeHTTP(w, r) - case WorkspaceServiceCreateWorkspaceProcedure: - workspaceServiceCreateWorkspaceHandler.ServeHTTP(w, r) - case WorkspaceServiceListMyWorkspacesProcedure: - workspaceServiceListMyWorkspacesHandler.ServeHTTP(w, r) - case WorkspaceServiceDiscoverLoginRecoveryCandidatesProcedure: - workspaceServiceDiscoverLoginRecoveryCandidatesHandler.ServeHTTP(w, r) - case WorkspaceServiceRenameWorkspaceProcedure: - workspaceServiceRenameWorkspaceHandler.ServeHTTP(w, r) - case WorkspaceServiceUpdateWorkspaceBrandingProcedure: - workspaceServiceUpdateWorkspaceBrandingHandler.ServeHTTP(w, r) - case WorkspaceServiceCompleteWorkspaceOnboardingProcedure: - workspaceServiceCompleteWorkspaceOnboardingHandler.ServeHTTP(w, r) - case WorkspaceServiceDeleteWorkspaceProcedure: - workspaceServiceDeleteWorkspaceHandler.ServeHTTP(w, r) - case WorkspaceServiceListJoinableWorkspacesProcedure: - workspaceServiceListJoinableWorkspacesHandler.ServeHTTP(w, r) - case WorkspaceServiceJoinWorkspaceProcedure: - workspaceServiceJoinWorkspaceHandler.ServeHTTP(w, r) - case WorkspaceServiceCreateInvitationProcedure: - workspaceServiceCreateInvitationHandler.ServeHTTP(w, r) - case WorkspaceServiceCreateInvitationsProcedure: - workspaceServiceCreateInvitationsHandler.ServeHTTP(w, r) - case WorkspaceServiceAcceptInvitationProcedure: - workspaceServiceAcceptInvitationHandler.ServeHTTP(w, r) - case WorkspaceServiceListWorkspaceMembersProcedure: - workspaceServiceListWorkspaceMembersHandler.ServeHTTP(w, r) - case WorkspaceServiceResendInvitationProcedure: - workspaceServiceResendInvitationHandler.ServeHTTP(w, r) - case WorkspaceServiceRevokeInvitationProcedure: - workspaceServiceRevokeInvitationHandler.ServeHTTP(w, r) - case WorkspaceServiceRemoveWorkspaceMemberProcedure: - workspaceServiceRemoveWorkspaceMemberHandler.ServeHTTP(w, r) - case WorkspaceServiceUpdateWorkspaceMemberRoleProcedure: - workspaceServiceUpdateWorkspaceMemberRoleHandler.ServeHTTP(w, r) - case WorkspaceServiceListApprovedEmailDomainsProcedure: - workspaceServiceListApprovedEmailDomainsHandler.ServeHTTP(w, r) - case WorkspaceServiceAddApprovedEmailDomainProcedure: - workspaceServiceAddApprovedEmailDomainHandler.ServeHTTP(w, r) - case WorkspaceServiceVerifyApprovedEmailDomainProcedure: - workspaceServiceVerifyApprovedEmailDomainHandler.ServeHTTP(w, r) - case WorkspaceServiceResendApprovedEmailDomainCodeProcedure: - workspaceServiceResendApprovedEmailDomainCodeHandler.ServeHTTP(w, r) - case WorkspaceServiceDeleteApprovedEmailDomainProcedure: - workspaceServiceDeleteApprovedEmailDomainHandler.ServeHTTP(w, r) - case WorkspaceServiceGetWorkspaceLLMCredentialStatusProcedure: - workspaceServiceGetWorkspaceLLMCredentialStatusHandler.ServeHTTP(w, r) - case WorkspaceServiceSetWorkspaceLLMCredentialProcedure: - workspaceServiceSetWorkspaceLLMCredentialHandler.ServeHTTP(w, r) - case WorkspaceServiceDeleteWorkspaceLLMCredentialProcedure: - workspaceServiceDeleteWorkspaceLLMCredentialHandler.ServeHTTP(w, r) - case WorkspaceServiceGetMyCursorCredentialStatusProcedure: - workspaceServiceGetMyCursorCredentialStatusHandler.ServeHTTP(w, r) - case WorkspaceServiceSetMyCursorCredentialProcedure: - workspaceServiceSetMyCursorCredentialHandler.ServeHTTP(w, r) - case WorkspaceServiceDeleteMyCursorCredentialProcedure: - workspaceServiceDeleteMyCursorCredentialHandler.ServeHTTP(w, r) - case WorkspaceServiceGetWorkspaceIntegrationRolesProcedure: - workspaceServiceGetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) - case WorkspaceServiceSetWorkspaceIntegrationRolesProcedure: - workspaceServiceSetWorkspaceIntegrationRolesHandler.ServeHTTP(w, r) - case WorkspaceServiceResendVerificationEmailProcedure: - workspaceServiceResendVerificationEmailHandler.ServeHTTP(w, r) - default: - http.NotFound(w, r) - } - }) -} - -// UnimplementedWorkspaceServiceHandler returns CodeUnimplemented from all methods. -type UnimplementedWorkspaceServiceHandler struct{} - -func (UnimplementedWorkspaceServiceHandler) ListOpenPullRequests(context.Context, *connect.Request[sdp_go.ListOpenPullRequestsRequest]) (*connect.Response[sdp_go.ListOpenPullRequestsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListOpenPullRequests is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetPullRequest(context.Context, *connect.Request[sdp_go.GetPullRequestRequest]) (*connect.Response[sdp_go.GetPullRequestResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPullRequest is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetPrincipalStatus(context.Context, *connect.Request[sdp_go.GetPrincipalStatusRequest]) (*connect.Response[sdp_go.GetPrincipalStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPrincipalStatus is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetPlanPrompt(context.Context, *connect.Request[sdp_go.GetPlanPromptRequest]) (*connect.Response[sdp_go.GetPlanPromptResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPlanPrompt is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetIntegrationConnectURL(context.Context, *connect.Request[sdp_go.GetIntegrationConnectURLRequest]) (*connect.Response[sdp_go.GetIntegrationConnectURLResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetIntegrationConnectURL is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) DisconnectIntegration(context.Context, *connect.Request[sdp_go.DisconnectIntegrationRequest]) (*connect.Response[sdp_go.DisconnectIntegrationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DisconnectIntegration is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ConnectByoHttpMcp(context.Context, *connect.Request[sdp_go.ConnectByoHttpMcpRequest]) (*connect.Response[sdp_go.ConnectByoHttpMcpResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ConnectByoHttpMcp is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetGitLabConnection(context.Context, *connect.Request[sdp_go.GetGitLabConnectionRequest]) (*connect.Response[sdp_go.GetGitLabConnectionResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetGitLabConnection is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ConnectGitLab(context.Context, *connect.Request[sdp_go.ConnectGitLabRequest]) (*connect.Response[sdp_go.ConnectGitLabResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ConnectGitLab is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) SaveGitLabSigningToken(context.Context, *connect.Request[sdp_go.SaveGitLabSigningTokenRequest]) (*connect.Response[sdp_go.SaveGitLabSigningTokenResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SaveGitLabSigningToken is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) UpsertMyVerifiedBinding(context.Context, *connect.Request[sdp_go.UpsertMyVerifiedBindingRequest]) (*connect.Response[sdp_go.UpsertMyVerifiedBindingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpsertMyVerifiedBinding is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ListMyBindings(context.Context, *connect.Request[sdp_go.ListMyBindingsRequest]) (*connect.Response[sdp_go.ListMyBindingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListMyBindings is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetMyNotificationPreferences(context.Context, *connect.Request[sdp_go.GetMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.GetMyNotificationPreferencesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetMyNotificationPreferences is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) UpdateMyNotificationPreferences(context.Context, *connect.Request[sdp_go.UpdateMyNotificationPreferencesRequest]) (*connect.Response[sdp_go.UpdateMyNotificationPreferencesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateMyNotificationPreferences is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) RegisterMyPushSubscription(context.Context, *connect.Request[sdp_go.RegisterMyPushSubscriptionRequest]) (*connect.Response[sdp_go.RegisterMyPushSubscriptionResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RegisterMyPushSubscription is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetWebPushPublicKey(context.Context, *connect.Request[sdp_go.GetWebPushPublicKeyRequest]) (*connect.Response[sdp_go.GetWebPushPublicKeyResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetWebPushPublicKey is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) UpdateMyDisplayName(context.Context, *connect.Request[sdp_go.UpdateMyDisplayNameRequest]) (*connect.Response[sdp_go.UpdateMyDisplayNameResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateMyDisplayName is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetPlanCheckSettings(context.Context, *connect.Request[sdp_go.GetPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetPlanCheckSettings is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) UpdatePlanCheckSettings(context.Context, *connect.Request[sdp_go.UpdatePlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdatePlanCheckSettings is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ListIntegrationCatalogue(context.Context, *connect.Request[sdp_go.ListIntegrationCatalogueRequest]) (*connect.Response[sdp_go.ListIntegrationCatalogueResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListIntegrationCatalogue is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) CreateWorkspace(context.Context, *connect.Request[sdp_go.CreateWorkspaceRequest]) (*connect.Response[sdp_go.CreateWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CreateWorkspace is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ListMyWorkspaces(context.Context, *connect.Request[sdp_go.ListMyWorkspacesRequest]) (*connect.Response[sdp_go.ListMyWorkspacesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListMyWorkspaces is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) DiscoverLoginRecoveryCandidates(context.Context, *connect.Request[sdp_go.DiscoverLoginRecoveryCandidatesRequest]) (*connect.Response[sdp_go.DiscoverLoginRecoveryCandidatesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DiscoverLoginRecoveryCandidates is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) RenameWorkspace(context.Context, *connect.Request[sdp_go.RenameWorkspaceRequest]) (*connect.Response[sdp_go.RenameWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RenameWorkspace is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) UpdateWorkspaceBranding(context.Context, *connect.Request[sdp_go.UpdateWorkspaceBrandingRequest]) (*connect.Response[sdp_go.UpdateWorkspaceBrandingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateWorkspaceBranding is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) CompleteWorkspaceOnboarding(context.Context, *connect.Request[sdp_go.CompleteWorkspaceOnboardingRequest]) (*connect.Response[sdp_go.CompleteWorkspaceOnboardingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CompleteWorkspaceOnboarding is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) DeleteWorkspace(context.Context, *connect.Request[sdp_go.DeleteWorkspaceRequest]) (*connect.Response[sdp_go.DeleteWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteWorkspace is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ListJoinableWorkspaces(context.Context, *connect.Request[sdp_go.ListJoinableWorkspacesRequest]) (*connect.Response[sdp_go.ListJoinableWorkspacesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListJoinableWorkspaces is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) JoinWorkspace(context.Context, *connect.Request[sdp_go.JoinWorkspaceRequest]) (*connect.Response[sdp_go.JoinWorkspaceResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.JoinWorkspace is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) CreateInvitation(context.Context, *connect.Request[sdp_go.CreateInvitationRequest]) (*connect.Response[sdp_go.CreateInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CreateInvitation is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) CreateInvitations(context.Context, *connect.Request[sdp_go.CreateInvitationsRequest]) (*connect.Response[sdp_go.CreateInvitationsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.CreateInvitations is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) AcceptInvitation(context.Context, *connect.Request[sdp_go.AcceptInvitationRequest]) (*connect.Response[sdp_go.AcceptInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.AcceptInvitation is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ListWorkspaceMembers(context.Context, *connect.Request[sdp_go.ListWorkspaceMembersRequest]) (*connect.Response[sdp_go.ListWorkspaceMembersResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListWorkspaceMembers is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ResendInvitation(context.Context, *connect.Request[sdp_go.ResendInvitationRequest]) (*connect.Response[sdp_go.ResendInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ResendInvitation is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) RevokeInvitation(context.Context, *connect.Request[sdp_go.RevokeInvitationRequest]) (*connect.Response[sdp_go.RevokeInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RevokeInvitation is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) RemoveWorkspaceMember(context.Context, *connect.Request[sdp_go.RemoveWorkspaceMemberRequest]) (*connect.Response[sdp_go.RemoveWorkspaceMemberResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.RemoveWorkspaceMember is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) UpdateWorkspaceMemberRole(context.Context, *connect.Request[sdp_go.UpdateWorkspaceMemberRoleRequest]) (*connect.Response[sdp_go.UpdateWorkspaceMemberRoleResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.UpdateWorkspaceMemberRole is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ListApprovedEmailDomains(context.Context, *connect.Request[sdp_go.ListApprovedEmailDomainsRequest]) (*connect.Response[sdp_go.ListApprovedEmailDomainsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ListApprovedEmailDomains is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) AddApprovedEmailDomain(context.Context, *connect.Request[sdp_go.AddApprovedEmailDomainRequest]) (*connect.Response[sdp_go.AddApprovedEmailDomainResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.AddApprovedEmailDomain is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) VerifyApprovedEmailDomain(context.Context, *connect.Request[sdp_go.VerifyApprovedEmailDomainRequest]) (*connect.Response[sdp_go.VerifyApprovedEmailDomainResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.VerifyApprovedEmailDomain is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ResendApprovedEmailDomainCode(context.Context, *connect.Request[sdp_go.ResendApprovedEmailDomainCodeRequest]) (*connect.Response[sdp_go.ResendApprovedEmailDomainCodeResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ResendApprovedEmailDomainCode is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) DeleteApprovedEmailDomain(context.Context, *connect.Request[sdp_go.DeleteApprovedEmailDomainRequest]) (*connect.Response[sdp_go.DeleteApprovedEmailDomainResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteApprovedEmailDomain is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetWorkspaceLLMCredentialStatus(context.Context, *connect.Request[sdp_go.GetWorkspaceLLMCredentialStatusRequest]) (*connect.Response[sdp_go.GetWorkspaceLLMCredentialStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetWorkspaceLLMCredentialStatus is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) SetWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.SetWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.SetWorkspaceLLMCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SetWorkspaceLLMCredential is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) DeleteWorkspaceLLMCredential(context.Context, *connect.Request[sdp_go.DeleteWorkspaceLLMCredentialRequest]) (*connect.Response[sdp_go.DeleteWorkspaceLLMCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteWorkspaceLLMCredential is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetMyCursorCredentialStatus(context.Context, *connect.Request[sdp_go.GetMyCursorCredentialStatusRequest]) (*connect.Response[sdp_go.GetMyCursorCredentialStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetMyCursorCredentialStatus is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) SetMyCursorCredential(context.Context, *connect.Request[sdp_go.SetMyCursorCredentialRequest]) (*connect.Response[sdp_go.SetMyCursorCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SetMyCursorCredential is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) DeleteMyCursorCredential(context.Context, *connect.Request[sdp_go.DeleteMyCursorCredentialRequest]) (*connect.Response[sdp_go.DeleteMyCursorCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.DeleteMyCursorCredential is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) GetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.GetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.GetWorkspaceIntegrationRolesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.GetWorkspaceIntegrationRoles is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) SetWorkspaceIntegrationRoles(context.Context, *connect.Request[sdp_go.SetWorkspaceIntegrationRolesRequest]) (*connect.Response[sdp_go.SetWorkspaceIntegrationRolesResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.SetWorkspaceIntegrationRoles is not implemented")) -} - -func (UnimplementedWorkspaceServiceHandler) ResendVerificationEmail(context.Context, *connect.Request[sdp_go.ResendVerificationEmailRequest]) (*connect.Response[sdp_go.ResendVerificationEmailResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.WorkspaceService.ResendVerificationEmail is not implemented")) -} - -// PublicServiceClient is a client for the until.PublicService service. -type PublicServiceClient interface { - GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) -} - -// NewPublicServiceClient constructs a client for the until.PublicService service. By default, it -// uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends -// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or -// connect.WithGRPCWeb() options. -// -// The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.com or https://acme.com/grpc). -func NewPublicServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PublicServiceClient { - baseURL = strings.TrimRight(baseURL, "/") - publicServiceMethods := sdp_go.File_brent_proto.Services().ByName("PublicService").Methods() - return &publicServiceClient{ - getInvitation: connect.NewClient[sdp_go.GetInvitationRequest, sdp_go.GetInvitationResponse]( - httpClient, - baseURL+PublicServiceGetInvitationProcedure, - connect.WithSchema(publicServiceMethods.ByName("GetInvitation")), - connect.WithClientOptions(opts...), - ), - } -} - -// publicServiceClient implements PublicServiceClient. -type publicServiceClient struct { - getInvitation *connect.Client[sdp_go.GetInvitationRequest, sdp_go.GetInvitationResponse] -} - -// GetInvitation calls until.PublicService.GetInvitation. -func (c *publicServiceClient) GetInvitation(ctx context.Context, req *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { - return c.getInvitation.CallUnary(ctx, req) -} - -// PublicServiceHandler is an implementation of the until.PublicService service. -type PublicServiceHandler interface { - GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) -} - -// NewPublicServiceHandler builds an HTTP handler from the service implementation. It returns the -// path on which to mount the handler and the handler itself. -// -// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf -// and JSON codecs. They also support gzip compression. -func NewPublicServiceHandler(svc PublicServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { - publicServiceMethods := sdp_go.File_brent_proto.Services().ByName("PublicService").Methods() - publicServiceGetInvitationHandler := connect.NewUnaryHandler( - PublicServiceGetInvitationProcedure, - svc.GetInvitation, - connect.WithSchema(publicServiceMethods.ByName("GetInvitation")), - connect.WithHandlerOptions(opts...), - ) - return "/until.PublicService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - switch r.URL.Path { - case PublicServiceGetInvitationProcedure: - publicServiceGetInvitationHandler.ServeHTTP(w, r) - default: - http.NotFound(w, r) - } - }) -} - -// UnimplementedPublicServiceHandler returns CodeUnimplemented from all methods. -type UnimplementedPublicServiceHandler struct{} - -func (UnimplementedPublicServiceHandler) GetInvitation(context.Context, *connect.Request[sdp_go.GetInvitationRequest]) (*connect.Response[sdp_go.GetInvitationResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.PublicService.GetInvitation is not implemented")) -} - -// UntilAdminServiceClient is a client for the until.AdminService service. -type UntilAdminServiceClient interface { - // Executes a workflow from a natural-language prompt. The server streams - // steps as the agent reasons, calls MCP tools, and produces a final result. - // The stream ends with either a CompletionStep or a terminal ErrorStep. - // Operator-only; gated on admin:write. - ExecuteLoop(context.Context, *connect.Request[sdp_go.ExecuteLoopRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) - // Lists all tracked runs (both UI-initiated and webhook-triggered). - // Operator-only; gated on admin:read. - ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) - // Streams steps for a specific run. Replays buffered steps first, then - // streams live steps until the run completes or the client disconnects. - // Operator-only; gated on admin:read. - WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) - // Streams live capital-E Events for the caller's account. No history or - // replay: clients only receive events emitted after the stream starts. - // Operator-only; gated on admin:read. - StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest]) (*connect.ServerStreamForClient[sdp_go.StreamEventsResponse], error) - // Lists persisted capital-E Events for one account, newest first. Operator - // inspection of the raw audit trail; gated on admin:read. account_name is - // REQUIRED (no caller-account fallback) — operators choose the tenant to - // inspect. Keyset-paginated via after_cursor / next_cursor. The read writes - // nothing (no meta-audit event is emitted). - ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) - // Cancels a running workflow. Idempotent for already-completed runs. - // Operator-only; gated on admin:write. - CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) - // Sends a follow-up question against a completed run's OpenAI context. - // The server streams the model's answer as ExecuteLoopResponse steps. - // Returns NotFound when the run has no stored response ID. - // Operator-only; gated on admin:write. - SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) - // Lists every non-deleted plan across every tenant. Operator-only; gated - // on admin:read (brent-area51 and staff Admin role). - // - // Summary fields only — `content` is omitted to keep payloads bounded. - // Use GetPlan to fetch the full plan body. - ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) - // Fetches a single plan by ID, ignoring account scope. Returns the full - // plan (including `content`) plus a summary of every related review on - // the same plan. Same admin:read gate as ListPlans. Returns NotFound for - // unknown / soft-deleted plans. - GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) - // Lists every non-deleted review across every tenant. Same admin:read - // gate as ListPlans. - ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) - // Fetches a single review by ID, ignoring account scope. Returns the - // review plus a summary of its parent plan (nil when the parent has been - // hard-deleted, which shouldn't happen today but keeps orphaned reviews - // debuggable). Same admin:read gate as ListPlans. Returns NotFound for - // unknown / soft-deleted reviews. - GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) - // Lists every known tenant as AccountSummary rows. Cross-tenant operator - // endpoint gated on admin:read (not the standard brent:read). Only staff - // with the platform Admin role hold this scope; brent-area51 requests it at login. - ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) - // Returns a rich activity summary for a single account: integration status, - // plan / review / workflow-run / pull-request counts, workflow-run error - // count, deviation verdict distribution, last-active timestamp, and the - // handful of most recent runs. Cross-tenant operator endpoint gated on - // admin:read. An unknown account returns an empty (zero-valued) summary - // rather than NotFound, so the detail page renders cleanly for a tenant - // with no activity yet. - GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) - // Runs a fixed set of health heuristics over a single account's recent - // activity and returns plain-language findings, each with a severity. This - // is an internal-only operator coaching aid — the findings are NEVER shown - // to the customer. Computed live on each call from database aggregates; no - // storage and no background job. Cross-tenant operator endpoint gated on - // admin:read. - GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) - // Lists GitHub repositories available to the account through its installed - // GitHub App. Cross-tenant operator endpoint gated on admin:read. - ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) - // Starts a temporary in-process metrics comparison run for one account/repo. - // The report body is not persisted; callers poll GetAccountMetricsComparisonRun. - // Cross-tenant operator endpoint gated on admin:write. - StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) - // Polls a temporary metrics comparison run. Cross-tenant operator endpoint - // gated on admin:read. Completed runs include sandbox-renderable HTML. - GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) - // Reads the Brent deviation settings (blocking_difference_tags) for any account. - // This is the operator-facing twin of GetPlanCheckSettings: it gates on - // admin:read and requires an explicit account_name, so the brent-area51 - // account detail page can show a customer's settings without holding that - // customer's brent:read scope. account_name is required (no caller-account - // fallback). - GetAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) - // Updates the Brent deviation settings (blocking_difference_tags) for any account. - // Operator-facing twin of UpdatePlanCheckSettings: gates on admin:write and - // requires an explicit account_name. PATCH semantics — omit blocking_difference_tags - // to leave it unchanged; pass an empty array to disable red on all kinds. - UpdateAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) - // Reads a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). - // Gates on admin:read and requires an explicit account_name (no - // caller-account fallback). Returns the persisted policy, active-human - // principal count, and attribution metadata. - GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) - // Updates a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). - // Gates on admin:write and requires an explicit account_name. Enabling - // REQUIRED fails with FailedPrecondition when fewer than two active humans - // are present. The update, attribution fields, and audit event commit - // atomically. Unspecified/unknown policy values return InvalidArgument. - UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) - // Reads an account's LLM provider key status for support triage. Operator-facing - // twin of GetWorkspaceLLMCredentialStatus: gates on admin:read and takes an - // explicit account_name, so brent-area51 can show any account's key status - // without holding that account's brent:read scope. Metadata only — never the - // secret. account_name is required (no caller-account fallback). - GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) - // Lists organisation_app_installations for one account with credential-presence - // flags, shared readiness fields, and workspace integration roles. - // Metadata only — never secrets. Cross-tenant; gated on admin:read. - // account_name required. - ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) - // Lists workflow definitions for the caller's account, ordered by name. - // Account-scoped: callers see only their own tenant's rows. Operator-only; - // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); - // use GetLoop for the full definition. - ListLoops(context.Context, *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) - // Fetches a single workflow definition by ID within the caller's account. - // Returns NotFound when the workflow is missing, soft-deleted, or owned by - // a different account. Same admin:read gate as ListLoops. - GetLoop(context.Context, *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) - // Lists workflow runs for the caller's account, newest first. Account- - // scoped; gated on admin:read. Supports cursor pagination (limit + - // after_cursor) and an optional workflow_name filter for the per-workflow - // run-list view. - ListLoopRuns(context.Context, *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) - // Fetches a single workflow run by ID within the caller's account. Returns - // the full LoopRun (including prompt and the typed Event payload that - // triggered it) plus an optional parent LoopSummary lookable up by - // (account_name, name). Same admin:read gate. - GetLoopRun(context.Context, *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) - // Returns persisted steps for ancestor runs in the resumed_from_run_id chain - // (oldest first). The current run's live tail stays on WatchRun. Same - // admin:read gate as GetLoopRun. - GetLoopRunThreadHistory(context.Context, *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) - // Lists pull requests for the caller's tenant, sorted by updated_at DESC. - // Account-scoped: callers see only their own rows. Operator-only; gated on admin:read. - // The `state` filter accepts "" (default → open), "open", "closed" - // (state='closed' AND merged=false), "merged" (state='closed' AND - // merged=true), or "all". Returns summary fields including linked-plan info - // and the latest deviation verdict for the PR's current head SHA. - ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) - // Fetches a single pull request by its UUID. Account-scoped: a pr_id from - // another tenant returns NotFound (existence is never surfaced). Gated on - // admin:read. - GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) - // Lists deviation analyses for a pull request, newest-first by started_at. - // Account-scoped: a pr_id from another tenant returns an empty list (not an - // error). Gated on admin:read. - ListPlanChecksForPR(context.Context, *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) - // Lists principals across every tenant for the Area51 debug UI. Operator-only; - // gated on admin:read. Summary fields only; use GetPrincipal for - // identities and bindings. - ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) - // Fetches a single principal by UUID, ignoring account scope, plus every - // identity and binding row (including tombstoned bindings). Same admin:read - // gate as ListPrincipals. Returns NotFound for unknown principals. - GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) - // Upserts a verified binding on any principal in any tenant. Operator-only; - // gated on admin:write. - UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) - // Tombstones a verified binding row by its external_id. Operator-only; - // gated on admin:write. - DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) - // Updates display_name and/or status on any principal. Operator-only; - // gated on admin:write. - UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) - // Inserts an identity row on any principal. Operator-only; gated on admin:write. - CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) - // Deletes an identity row by external_id. Operator-only; gated on admin:write. - DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) - // Validates and stores a per-principal integration secret for a provider. - // Write-only: the secret is never returned. Operator-only; gated on admin:write. - SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) - // Lists credential connection presence across principals (metadata only). - // Operator-only; gated on admin:read. - ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) - // Clears a stored credential and tombstones the matching verified binding. - // Operator-only; gated on admin:write. - DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) - // Returns a chronological timeline table for one PR: Brent-local rows plus - // a live GitHub overlay composed at request time. Account-scoped: a pr_id - // from another tenant returns NotFound. GitHub failures surface as warnings - // while Brent-local rows are still returned. Gated on admin:read. - GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) -} - -// NewUntilAdminServiceClient constructs a client for the until.AdminService service. By default, it uses -// the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends -// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or -// connect.WithGRPCWeb() options. -// -// The URL supplied here should be the base URL for the Connect or gRPC server (for example, -// http://api.acme.com or https://acme.com/grpc). -func NewUntilAdminServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) UntilAdminServiceClient { - baseURL = strings.TrimRight(baseURL, "/") - untilAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("AdminService").Methods() - return &untilAdminServiceClient{ - executeLoop: connect.NewClient[sdp_go.ExecuteLoopRequest, sdp_go.ExecuteLoopResponse]( - httpClient, - baseURL+UntilAdminServiceExecuteLoopProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ExecuteLoop")), - connect.WithClientOptions(opts...), - ), - listRuns: connect.NewClient[sdp_go.ListRunsRequest, sdp_go.ListRunsResponse]( - httpClient, - baseURL+UntilAdminServiceListRunsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListRuns")), - connect.WithClientOptions(opts...), - ), - watchRun: connect.NewClient[sdp_go.WatchRunRequest, sdp_go.ExecuteLoopResponse]( - httpClient, - baseURL+UntilAdminServiceWatchRunProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("WatchRun")), - connect.WithClientOptions(opts...), - ), - streamEvents: connect.NewClient[sdp_go.StreamEventsRequest, sdp_go.StreamEventsResponse]( - httpClient, - baseURL+UntilAdminServiceStreamEventsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("StreamEvents")), - connect.WithClientOptions(opts...), - ), - listEvents: connect.NewClient[sdp_go.ListEventsRequest, sdp_go.ListEventsResponse]( - httpClient, - baseURL+UntilAdminServiceListEventsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListEvents")), - connect.WithClientOptions(opts...), - ), - cancelRun: connect.NewClient[sdp_go.CancelRunRequest, sdp_go.CancelRunResponse]( - httpClient, - baseURL+UntilAdminServiceCancelRunProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("CancelRun")), - connect.WithClientOptions(opts...), - ), - sendQuestion: connect.NewClient[sdp_go.SendQuestionRequest, sdp_go.ExecuteLoopResponse]( - httpClient, - baseURL+UntilAdminServiceSendQuestionProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("SendQuestion")), - connect.WithClientOptions(opts...), - ), - listPlans: connect.NewClient[sdp_go.AdminListPlansRequest, sdp_go.AdminListPlansResponse]( - httpClient, - baseURL+UntilAdminServiceListPlansProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPlans")), - connect.WithClientOptions(opts...), - ), - getPlan: connect.NewClient[sdp_go.AdminGetPlanRequest, sdp_go.AdminGetPlanResponse]( - httpClient, - baseURL+UntilAdminServiceGetPlanProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPlan")), - connect.WithClientOptions(opts...), - ), - listReviews: connect.NewClient[sdp_go.AdminListReviewsRequest, sdp_go.AdminListReviewsResponse]( - httpClient, - baseURL+UntilAdminServiceListReviewsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListReviews")), - connect.WithClientOptions(opts...), - ), - getReview: connect.NewClient[sdp_go.AdminGetReviewRequest, sdp_go.AdminGetReviewResponse]( - httpClient, - baseURL+UntilAdminServiceGetReviewProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetReview")), - connect.WithClientOptions(opts...), - ), - listAccounts: connect.NewClient[emptypb.Empty, sdp_go.AdminListAccountsResponse]( - httpClient, - baseURL+UntilAdminServiceListAccountsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListAccounts")), - connect.WithClientOptions(opts...), - ), - getAccountSummary: connect.NewClient[sdp_go.AdminGetAccountSummaryRequest, sdp_go.AdminGetAccountSummaryResponse]( - httpClient, - baseURL+UntilAdminServiceGetAccountSummaryProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountSummary")), - connect.WithClientOptions(opts...), - ), - getAccountHealthAnalysis: connect.NewClient[sdp_go.AdminGetAccountHealthAnalysisRequest, sdp_go.AdminGetAccountHealthAnalysisResponse]( - httpClient, - baseURL+UntilAdminServiceGetAccountHealthAnalysisProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountHealthAnalysis")), - connect.WithClientOptions(opts...), - ), - listAccountMetricRepos: connect.NewClient[sdp_go.AdminListAccountMetricReposRequest, sdp_go.AdminListAccountMetricReposResponse]( - httpClient, - baseURL+UntilAdminServiceListAccountMetricReposProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountMetricRepos")), - connect.WithClientOptions(opts...), - ), - startAccountMetricsComparison: connect.NewClient[sdp_go.AdminStartAccountMetricsComparisonRequest, sdp_go.AdminStartAccountMetricsComparisonResponse]( - httpClient, - baseURL+UntilAdminServiceStartAccountMetricsComparisonProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("StartAccountMetricsComparison")), - connect.WithClientOptions(opts...), - ), - getAccountMetricsComparisonRun: connect.NewClient[sdp_go.AdminGetAccountMetricsComparisonRunRequest, sdp_go.AdminGetAccountMetricsComparisonRunResponse]( - httpClient, - baseURL+UntilAdminServiceGetAccountMetricsComparisonRunProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), - connect.WithClientOptions(opts...), - ), - getAccountPlanCheckSettings: connect.NewClient[sdp_go.AdminGetAccountPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse]( - httpClient, - baseURL+UntilAdminServiceGetAccountPlanCheckSettingsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountPlanCheckSettings")), - connect.WithClientOptions(opts...), - ), - updateAccountPlanCheckSettings: connect.NewClient[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse]( - httpClient, - baseURL+UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountPlanCheckSettings")), - connect.WithClientOptions(opts...), - ), - getAccountReviewPolicy: connect.NewClient[sdp_go.AdminGetAccountReviewPolicyRequest, sdp_go.AdminGetAccountReviewPolicyResponse]( - httpClient, - baseURL+UntilAdminServiceGetAccountReviewPolicyProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountReviewPolicy")), - connect.WithClientOptions(opts...), - ), - updateAccountReviewPolicy: connect.NewClient[sdp_go.AdminUpdateAccountReviewPolicyRequest, sdp_go.AdminUpdateAccountReviewPolicyResponse]( - httpClient, - baseURL+UntilAdminServiceUpdateAccountReviewPolicyProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), - connect.WithClientOptions(opts...), - ), - getAccountLLMCredentialStatus: connect.NewClient[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse]( - httpClient, - baseURL+UntilAdminServiceGetAccountLLMCredentialStatusProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), - connect.WithClientOptions(opts...), - ), - listAccountIntegrations: connect.NewClient[sdp_go.AdminListAccountIntegrationsRequest, sdp_go.AdminListAccountIntegrationsResponse]( - httpClient, - baseURL+UntilAdminServiceListAccountIntegrationsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountIntegrations")), - connect.WithClientOptions(opts...), - ), - listLoops: connect.NewClient[sdp_go.ListLoopsRequest, sdp_go.ListLoopsResponse]( - httpClient, - baseURL+UntilAdminServiceListLoopsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListLoops")), - connect.WithClientOptions(opts...), - ), - getLoop: connect.NewClient[sdp_go.GetLoopRequest, sdp_go.GetLoopResponse]( - httpClient, - baseURL+UntilAdminServiceGetLoopProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetLoop")), - connect.WithClientOptions(opts...), - ), - listLoopRuns: connect.NewClient[sdp_go.ListLoopRunsRequest, sdp_go.ListLoopRunsResponse]( - httpClient, - baseURL+UntilAdminServiceListLoopRunsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListLoopRuns")), - connect.WithClientOptions(opts...), - ), - getLoopRun: connect.NewClient[sdp_go.GetLoopRunRequest, sdp_go.GetLoopRunResponse]( - httpClient, - baseURL+UntilAdminServiceGetLoopRunProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRun")), - connect.WithClientOptions(opts...), - ), - getLoopRunThreadHistory: connect.NewClient[sdp_go.GetLoopRunThreadHistoryRequest, sdp_go.GetLoopRunThreadHistoryResponse]( - httpClient, - baseURL+UntilAdminServiceGetLoopRunThreadHistoryProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRunThreadHistory")), - connect.WithClientOptions(opts...), - ), - listPullRequests: connect.NewClient[sdp_go.ListPullRequestsRequest, sdp_go.ListPullRequestsResponse]( - httpClient, - baseURL+UntilAdminServiceListPullRequestsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPullRequests")), - connect.WithClientOptions(opts...), - ), - getPullRequestByID: connect.NewClient[sdp_go.GetPullRequestByIDRequest, sdp_go.GetPullRequestByIDResponse]( - httpClient, - baseURL+UntilAdminServiceGetPullRequestByIDProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestByID")), - connect.WithClientOptions(opts...), - ), - listPlanChecksForPR: connect.NewClient[sdp_go.ListPlanChecksForPRRequest, sdp_go.ListPlanChecksForPRResponse]( - httpClient, - baseURL+UntilAdminServiceListPlanChecksForPRProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPlanChecksForPR")), - connect.WithClientOptions(opts...), - ), - listPrincipals: connect.NewClient[sdp_go.AdminListPrincipalsRequest, sdp_go.AdminListPrincipalsResponse]( - httpClient, - baseURL+UntilAdminServiceListPrincipalsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipals")), - connect.WithClientOptions(opts...), - ), - getPrincipal: connect.NewClient[sdp_go.AdminGetPrincipalRequest, sdp_go.AdminGetPrincipalResponse]( - httpClient, - baseURL+UntilAdminServiceGetPrincipalProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPrincipal")), - connect.WithClientOptions(opts...), - ), - upsertPrincipalBinding: connect.NewClient[sdp_go.AdminUpsertPrincipalBindingRequest, sdp_go.AdminUpsertPrincipalBindingResponse]( - httpClient, - baseURL+UntilAdminServiceUpsertPrincipalBindingProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("UpsertPrincipalBinding")), - connect.WithClientOptions(opts...), - ), - deletePrincipalBinding: connect.NewClient[sdp_go.AdminDeletePrincipalBindingRequest, sdp_go.AdminDeletePrincipalBindingResponse]( - httpClient, - baseURL+UntilAdminServiceDeletePrincipalBindingProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalBinding")), - connect.WithClientOptions(opts...), - ), - updatePrincipal: connect.NewClient[sdp_go.AdminUpdatePrincipalRequest, sdp_go.AdminUpdatePrincipalResponse]( - httpClient, - baseURL+UntilAdminServiceUpdatePrincipalProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("UpdatePrincipal")), - connect.WithClientOptions(opts...), - ), - createPrincipalIdentity: connect.NewClient[sdp_go.AdminCreatePrincipalIdentityRequest, sdp_go.AdminCreatePrincipalIdentityResponse]( - httpClient, - baseURL+UntilAdminServiceCreatePrincipalIdentityProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("CreatePrincipalIdentity")), - connect.WithClientOptions(opts...), - ), - deletePrincipalIdentity: connect.NewClient[sdp_go.AdminDeletePrincipalIdentityRequest, sdp_go.AdminDeletePrincipalIdentityResponse]( - httpClient, - baseURL+UntilAdminServiceDeletePrincipalIdentityProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalIdentity")), - connect.WithClientOptions(opts...), - ), - setPrincipalCredential: connect.NewClient[sdp_go.AdminSetPrincipalCredentialRequest, sdp_go.AdminSetPrincipalCredentialResponse]( - httpClient, - baseURL+UntilAdminServiceSetPrincipalCredentialProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("SetPrincipalCredential")), - connect.WithClientOptions(opts...), - ), - listPrincipalCredentialConnections: connect.NewClient[sdp_go.AdminListPrincipalCredentialConnectionsRequest, sdp_go.AdminListPrincipalCredentialConnectionsResponse]( - httpClient, - baseURL+UntilAdminServiceListPrincipalCredentialConnectionsProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), - connect.WithClientOptions(opts...), - ), - deletePrincipalCredential: connect.NewClient[sdp_go.AdminDeletePrincipalCredentialRequest, sdp_go.AdminDeletePrincipalCredentialResponse]( - httpClient, - baseURL+UntilAdminServiceDeletePrincipalCredentialProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalCredential")), - connect.WithClientOptions(opts...), - ), - getPullRequestTimeline: connect.NewClient[sdp_go.GetPullRequestTimelineRequest, sdp_go.GetPullRequestTimelineResponse]( - httpClient, - baseURL+UntilAdminServiceGetPullRequestTimelineProcedure, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestTimeline")), - connect.WithClientOptions(opts...), - ), - } -} - -// untilAdminServiceClient implements UntilAdminServiceClient. -type untilAdminServiceClient struct { - executeLoop *connect.Client[sdp_go.ExecuteLoopRequest, sdp_go.ExecuteLoopResponse] - listRuns *connect.Client[sdp_go.ListRunsRequest, sdp_go.ListRunsResponse] - watchRun *connect.Client[sdp_go.WatchRunRequest, sdp_go.ExecuteLoopResponse] - streamEvents *connect.Client[sdp_go.StreamEventsRequest, sdp_go.StreamEventsResponse] - listEvents *connect.Client[sdp_go.ListEventsRequest, sdp_go.ListEventsResponse] - cancelRun *connect.Client[sdp_go.CancelRunRequest, sdp_go.CancelRunResponse] - sendQuestion *connect.Client[sdp_go.SendQuestionRequest, sdp_go.ExecuteLoopResponse] - listPlans *connect.Client[sdp_go.AdminListPlansRequest, sdp_go.AdminListPlansResponse] - getPlan *connect.Client[sdp_go.AdminGetPlanRequest, sdp_go.AdminGetPlanResponse] - listReviews *connect.Client[sdp_go.AdminListReviewsRequest, sdp_go.AdminListReviewsResponse] - getReview *connect.Client[sdp_go.AdminGetReviewRequest, sdp_go.AdminGetReviewResponse] - listAccounts *connect.Client[emptypb.Empty, sdp_go.AdminListAccountsResponse] - getAccountSummary *connect.Client[sdp_go.AdminGetAccountSummaryRequest, sdp_go.AdminGetAccountSummaryResponse] - getAccountHealthAnalysis *connect.Client[sdp_go.AdminGetAccountHealthAnalysisRequest, sdp_go.AdminGetAccountHealthAnalysisResponse] - listAccountMetricRepos *connect.Client[sdp_go.AdminListAccountMetricReposRequest, sdp_go.AdminListAccountMetricReposResponse] - startAccountMetricsComparison *connect.Client[sdp_go.AdminStartAccountMetricsComparisonRequest, sdp_go.AdminStartAccountMetricsComparisonResponse] - getAccountMetricsComparisonRun *connect.Client[sdp_go.AdminGetAccountMetricsComparisonRunRequest, sdp_go.AdminGetAccountMetricsComparisonRunResponse] - getAccountPlanCheckSettings *connect.Client[sdp_go.AdminGetAccountPlanCheckSettingsRequest, sdp_go.GetPlanCheckSettingsResponse] - updateAccountPlanCheckSettings *connect.Client[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest, sdp_go.UpdatePlanCheckSettingsResponse] - getAccountReviewPolicy *connect.Client[sdp_go.AdminGetAccountReviewPolicyRequest, sdp_go.AdminGetAccountReviewPolicyResponse] - updateAccountReviewPolicy *connect.Client[sdp_go.AdminUpdateAccountReviewPolicyRequest, sdp_go.AdminUpdateAccountReviewPolicyResponse] - getAccountLLMCredentialStatus *connect.Client[sdp_go.AdminGetAccountLLMCredentialStatusRequest, sdp_go.AdminGetAccountLLMCredentialStatusResponse] - listAccountIntegrations *connect.Client[sdp_go.AdminListAccountIntegrationsRequest, sdp_go.AdminListAccountIntegrationsResponse] - listLoops *connect.Client[sdp_go.ListLoopsRequest, sdp_go.ListLoopsResponse] - getLoop *connect.Client[sdp_go.GetLoopRequest, sdp_go.GetLoopResponse] - listLoopRuns *connect.Client[sdp_go.ListLoopRunsRequest, sdp_go.ListLoopRunsResponse] - getLoopRun *connect.Client[sdp_go.GetLoopRunRequest, sdp_go.GetLoopRunResponse] - getLoopRunThreadHistory *connect.Client[sdp_go.GetLoopRunThreadHistoryRequest, sdp_go.GetLoopRunThreadHistoryResponse] - listPullRequests *connect.Client[sdp_go.ListPullRequestsRequest, sdp_go.ListPullRequestsResponse] - getPullRequestByID *connect.Client[sdp_go.GetPullRequestByIDRequest, sdp_go.GetPullRequestByIDResponse] - listPlanChecksForPR *connect.Client[sdp_go.ListPlanChecksForPRRequest, sdp_go.ListPlanChecksForPRResponse] - listPrincipals *connect.Client[sdp_go.AdminListPrincipalsRequest, sdp_go.AdminListPrincipalsResponse] - getPrincipal *connect.Client[sdp_go.AdminGetPrincipalRequest, sdp_go.AdminGetPrincipalResponse] - upsertPrincipalBinding *connect.Client[sdp_go.AdminUpsertPrincipalBindingRequest, sdp_go.AdminUpsertPrincipalBindingResponse] - deletePrincipalBinding *connect.Client[sdp_go.AdminDeletePrincipalBindingRequest, sdp_go.AdminDeletePrincipalBindingResponse] - updatePrincipal *connect.Client[sdp_go.AdminUpdatePrincipalRequest, sdp_go.AdminUpdatePrincipalResponse] - createPrincipalIdentity *connect.Client[sdp_go.AdminCreatePrincipalIdentityRequest, sdp_go.AdminCreatePrincipalIdentityResponse] - deletePrincipalIdentity *connect.Client[sdp_go.AdminDeletePrincipalIdentityRequest, sdp_go.AdminDeletePrincipalIdentityResponse] - setPrincipalCredential *connect.Client[sdp_go.AdminSetPrincipalCredentialRequest, sdp_go.AdminSetPrincipalCredentialResponse] - listPrincipalCredentialConnections *connect.Client[sdp_go.AdminListPrincipalCredentialConnectionsRequest, sdp_go.AdminListPrincipalCredentialConnectionsResponse] - deletePrincipalCredential *connect.Client[sdp_go.AdminDeletePrincipalCredentialRequest, sdp_go.AdminDeletePrincipalCredentialResponse] - getPullRequestTimeline *connect.Client[sdp_go.GetPullRequestTimelineRequest, sdp_go.GetPullRequestTimelineResponse] -} - -// ExecuteLoop calls until.AdminService.ExecuteLoop. -func (c *untilAdminServiceClient) ExecuteLoop(ctx context.Context, req *connect.Request[sdp_go.ExecuteLoopRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) { - return c.executeLoop.CallServerStream(ctx, req) -} - -// ListRuns calls until.AdminService.ListRuns. -func (c *untilAdminServiceClient) ListRuns(ctx context.Context, req *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { - return c.listRuns.CallUnary(ctx, req) -} - -// WatchRun calls until.AdminService.WatchRun. -func (c *untilAdminServiceClient) WatchRun(ctx context.Context, req *connect.Request[sdp_go.WatchRunRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) { - return c.watchRun.CallServerStream(ctx, req) -} - -// StreamEvents calls until.AdminService.StreamEvents. -func (c *untilAdminServiceClient) StreamEvents(ctx context.Context, req *connect.Request[sdp_go.StreamEventsRequest]) (*connect.ServerStreamForClient[sdp_go.StreamEventsResponse], error) { - return c.streamEvents.CallServerStream(ctx, req) -} - -// ListEvents calls until.AdminService.ListEvents. -func (c *untilAdminServiceClient) ListEvents(ctx context.Context, req *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { - return c.listEvents.CallUnary(ctx, req) -} - -// CancelRun calls until.AdminService.CancelRun. -func (c *untilAdminServiceClient) CancelRun(ctx context.Context, req *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { - return c.cancelRun.CallUnary(ctx, req) -} - -// SendQuestion calls until.AdminService.SendQuestion. -func (c *untilAdminServiceClient) SendQuestion(ctx context.Context, req *connect.Request[sdp_go.SendQuestionRequest]) (*connect.ServerStreamForClient[sdp_go.ExecuteLoopResponse], error) { - return c.sendQuestion.CallServerStream(ctx, req) -} - -// ListPlans calls until.AdminService.ListPlans. -func (c *untilAdminServiceClient) ListPlans(ctx context.Context, req *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { - return c.listPlans.CallUnary(ctx, req) -} - -// GetPlan calls until.AdminService.GetPlan. -func (c *untilAdminServiceClient) GetPlan(ctx context.Context, req *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { - return c.getPlan.CallUnary(ctx, req) -} - -// ListReviews calls until.AdminService.ListReviews. -func (c *untilAdminServiceClient) ListReviews(ctx context.Context, req *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { - return c.listReviews.CallUnary(ctx, req) -} - -// GetReview calls until.AdminService.GetReview. -func (c *untilAdminServiceClient) GetReview(ctx context.Context, req *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { - return c.getReview.CallUnary(ctx, req) -} - -// ListAccounts calls until.AdminService.ListAccounts. -func (c *untilAdminServiceClient) ListAccounts(ctx context.Context, req *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { - return c.listAccounts.CallUnary(ctx, req) -} - -// GetAccountSummary calls until.AdminService.GetAccountSummary. -func (c *untilAdminServiceClient) GetAccountSummary(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { - return c.getAccountSummary.CallUnary(ctx, req) -} - -// GetAccountHealthAnalysis calls until.AdminService.GetAccountHealthAnalysis. -func (c *untilAdminServiceClient) GetAccountHealthAnalysis(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { - return c.getAccountHealthAnalysis.CallUnary(ctx, req) -} - -// ListAccountMetricRepos calls until.AdminService.ListAccountMetricRepos. -func (c *untilAdminServiceClient) ListAccountMetricRepos(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { - return c.listAccountMetricRepos.CallUnary(ctx, req) -} - -// StartAccountMetricsComparison calls until.AdminService.StartAccountMetricsComparison. -func (c *untilAdminServiceClient) StartAccountMetricsComparison(ctx context.Context, req *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { - return c.startAccountMetricsComparison.CallUnary(ctx, req) -} - -// GetAccountMetricsComparisonRun calls until.AdminService.GetAccountMetricsComparisonRun. -func (c *untilAdminServiceClient) GetAccountMetricsComparisonRun(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { - return c.getAccountMetricsComparisonRun.CallUnary(ctx, req) -} - -// GetAccountPlanCheckSettings calls until.AdminService.GetAccountPlanCheckSettings. -func (c *untilAdminServiceClient) GetAccountPlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { - return c.getAccountPlanCheckSettings.CallUnary(ctx, req) -} - -// UpdateAccountPlanCheckSettings calls until.AdminService.UpdateAccountPlanCheckSettings. -func (c *untilAdminServiceClient) UpdateAccountPlanCheckSettings(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { - return c.updateAccountPlanCheckSettings.CallUnary(ctx, req) -} - -// GetAccountReviewPolicy calls until.AdminService.GetAccountReviewPolicy. -func (c *untilAdminServiceClient) GetAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { - return c.getAccountReviewPolicy.CallUnary(ctx, req) -} - -// UpdateAccountReviewPolicy calls until.AdminService.UpdateAccountReviewPolicy. -func (c *untilAdminServiceClient) UpdateAccountReviewPolicy(ctx context.Context, req *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { - return c.updateAccountReviewPolicy.CallUnary(ctx, req) -} - -// GetAccountLLMCredentialStatus calls until.AdminService.GetAccountLLMCredentialStatus. -func (c *untilAdminServiceClient) GetAccountLLMCredentialStatus(ctx context.Context, req *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { - return c.getAccountLLMCredentialStatus.CallUnary(ctx, req) -} - -// ListAccountIntegrations calls until.AdminService.ListAccountIntegrations. -func (c *untilAdminServiceClient) ListAccountIntegrations(ctx context.Context, req *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { - return c.listAccountIntegrations.CallUnary(ctx, req) -} - -// ListLoops calls until.AdminService.ListLoops. -func (c *untilAdminServiceClient) ListLoops(ctx context.Context, req *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) { - return c.listLoops.CallUnary(ctx, req) -} - -// GetLoop calls until.AdminService.GetLoop. -func (c *untilAdminServiceClient) GetLoop(ctx context.Context, req *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) { - return c.getLoop.CallUnary(ctx, req) -} - -// ListLoopRuns calls until.AdminService.ListLoopRuns. -func (c *untilAdminServiceClient) ListLoopRuns(ctx context.Context, req *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) { - return c.listLoopRuns.CallUnary(ctx, req) -} - -// GetLoopRun calls until.AdminService.GetLoopRun. -func (c *untilAdminServiceClient) GetLoopRun(ctx context.Context, req *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) { - return c.getLoopRun.CallUnary(ctx, req) -} - -// GetLoopRunThreadHistory calls until.AdminService.GetLoopRunThreadHistory. -func (c *untilAdminServiceClient) GetLoopRunThreadHistory(ctx context.Context, req *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) { - return c.getLoopRunThreadHistory.CallUnary(ctx, req) -} - -// ListPullRequests calls until.AdminService.ListPullRequests. -func (c *untilAdminServiceClient) ListPullRequests(ctx context.Context, req *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { - return c.listPullRequests.CallUnary(ctx, req) -} - -// GetPullRequestByID calls until.AdminService.GetPullRequestByID. -func (c *untilAdminServiceClient) GetPullRequestByID(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { - return c.getPullRequestByID.CallUnary(ctx, req) -} - -// ListPlanChecksForPR calls until.AdminService.ListPlanChecksForPR. -func (c *untilAdminServiceClient) ListPlanChecksForPR(ctx context.Context, req *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) { - return c.listPlanChecksForPR.CallUnary(ctx, req) -} - -// ListPrincipals calls until.AdminService.ListPrincipals. -func (c *untilAdminServiceClient) ListPrincipals(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { - return c.listPrincipals.CallUnary(ctx, req) -} - -// GetPrincipal calls until.AdminService.GetPrincipal. -func (c *untilAdminServiceClient) GetPrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { - return c.getPrincipal.CallUnary(ctx, req) -} - -// UpsertPrincipalBinding calls until.AdminService.UpsertPrincipalBinding. -func (c *untilAdminServiceClient) UpsertPrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { - return c.upsertPrincipalBinding.CallUnary(ctx, req) -} - -// DeletePrincipalBinding calls until.AdminService.DeletePrincipalBinding. -func (c *untilAdminServiceClient) DeletePrincipalBinding(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { - return c.deletePrincipalBinding.CallUnary(ctx, req) -} - -// UpdatePrincipal calls until.AdminService.UpdatePrincipal. -func (c *untilAdminServiceClient) UpdatePrincipal(ctx context.Context, req *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { - return c.updatePrincipal.CallUnary(ctx, req) -} - -// CreatePrincipalIdentity calls until.AdminService.CreatePrincipalIdentity. -func (c *untilAdminServiceClient) CreatePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { - return c.createPrincipalIdentity.CallUnary(ctx, req) -} - -// DeletePrincipalIdentity calls until.AdminService.DeletePrincipalIdentity. -func (c *untilAdminServiceClient) DeletePrincipalIdentity(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { - return c.deletePrincipalIdentity.CallUnary(ctx, req) -} - -// SetPrincipalCredential calls until.AdminService.SetPrincipalCredential. -func (c *untilAdminServiceClient) SetPrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { - return c.setPrincipalCredential.CallUnary(ctx, req) -} - -// ListPrincipalCredentialConnections calls until.AdminService.ListPrincipalCredentialConnections. -func (c *untilAdminServiceClient) ListPrincipalCredentialConnections(ctx context.Context, req *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { - return c.listPrincipalCredentialConnections.CallUnary(ctx, req) -} - -// DeletePrincipalCredential calls until.AdminService.DeletePrincipalCredential. -func (c *untilAdminServiceClient) DeletePrincipalCredential(ctx context.Context, req *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { - return c.deletePrincipalCredential.CallUnary(ctx, req) -} - -// GetPullRequestTimeline calls until.AdminService.GetPullRequestTimeline. -func (c *untilAdminServiceClient) GetPullRequestTimeline(ctx context.Context, req *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { - return c.getPullRequestTimeline.CallUnary(ctx, req) -} - -// UntilAdminServiceHandler is an implementation of the until.AdminService service. -type UntilAdminServiceHandler interface { - // Executes a workflow from a natural-language prompt. The server streams - // steps as the agent reasons, calls MCP tools, and produces a final result. - // The stream ends with either a CompletionStep or a terminal ErrorStep. - // Operator-only; gated on admin:write. - ExecuteLoop(context.Context, *connect.Request[sdp_go.ExecuteLoopRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error - // Lists all tracked runs (both UI-initiated and webhook-triggered). - // Operator-only; gated on admin:read. - ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) - // Streams steps for a specific run. Replays buffered steps first, then - // streams live steps until the run completes or the client disconnects. - // Operator-only; gated on admin:read. - WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error - // Streams live capital-E Events for the caller's account. No history or - // replay: clients only receive events emitted after the stream starts. - // Operator-only; gated on admin:read. - StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest], *connect.ServerStream[sdp_go.StreamEventsResponse]) error - // Lists persisted capital-E Events for one account, newest first. Operator - // inspection of the raw audit trail; gated on admin:read. account_name is - // REQUIRED (no caller-account fallback) — operators choose the tenant to - // inspect. Keyset-paginated via after_cursor / next_cursor. The read writes - // nothing (no meta-audit event is emitted). - ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) - // Cancels a running workflow. Idempotent for already-completed runs. - // Operator-only; gated on admin:write. - CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) - // Sends a follow-up question against a completed run's OpenAI context. - // The server streams the model's answer as ExecuteLoopResponse steps. - // Returns NotFound when the run has no stored response ID. - // Operator-only; gated on admin:write. - SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error - // Lists every non-deleted plan across every tenant. Operator-only; gated - // on admin:read (brent-area51 and staff Admin role). - // - // Summary fields only — `content` is omitted to keep payloads bounded. - // Use GetPlan to fetch the full plan body. - ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) - // Fetches a single plan by ID, ignoring account scope. Returns the full - // plan (including `content`) plus a summary of every related review on - // the same plan. Same admin:read gate as ListPlans. Returns NotFound for - // unknown / soft-deleted plans. - GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) - // Lists every non-deleted review across every tenant. Same admin:read - // gate as ListPlans. - ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) - // Fetches a single review by ID, ignoring account scope. Returns the - // review plus a summary of its parent plan (nil when the parent has been - // hard-deleted, which shouldn't happen today but keeps orphaned reviews - // debuggable). Same admin:read gate as ListPlans. Returns NotFound for - // unknown / soft-deleted reviews. - GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) - // Lists every known tenant as AccountSummary rows. Cross-tenant operator - // endpoint gated on admin:read (not the standard brent:read). Only staff - // with the platform Admin role hold this scope; brent-area51 requests it at login. - ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) - // Returns a rich activity summary for a single account: integration status, - // plan / review / workflow-run / pull-request counts, workflow-run error - // count, deviation verdict distribution, last-active timestamp, and the - // handful of most recent runs. Cross-tenant operator endpoint gated on - // admin:read. An unknown account returns an empty (zero-valued) summary - // rather than NotFound, so the detail page renders cleanly for a tenant - // with no activity yet. - GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) - // Runs a fixed set of health heuristics over a single account's recent - // activity and returns plain-language findings, each with a severity. This - // is an internal-only operator coaching aid — the findings are NEVER shown - // to the customer. Computed live on each call from database aggregates; no - // storage and no background job. Cross-tenant operator endpoint gated on - // admin:read. - GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) - // Lists GitHub repositories available to the account through its installed - // GitHub App. Cross-tenant operator endpoint gated on admin:read. - ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) - // Starts a temporary in-process metrics comparison run for one account/repo. - // The report body is not persisted; callers poll GetAccountMetricsComparisonRun. - // Cross-tenant operator endpoint gated on admin:write. - StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) - // Polls a temporary metrics comparison run. Cross-tenant operator endpoint - // gated on admin:read. Completed runs include sandbox-renderable HTML. - GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) - // Reads the Brent deviation settings (blocking_difference_tags) for any account. - // This is the operator-facing twin of GetPlanCheckSettings: it gates on - // admin:read and requires an explicit account_name, so the brent-area51 - // account detail page can show a customer's settings without holding that - // customer's brent:read scope. account_name is required (no caller-account - // fallback). - GetAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) - // Updates the Brent deviation settings (blocking_difference_tags) for any account. - // Operator-facing twin of UpdatePlanCheckSettings: gates on admin:write and - // requires an explicit account_name. PATCH semantics — omit blocking_difference_tags - // to leave it unchanged; pass an empty array to disable red on all kinds. - UpdateAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) - // Reads a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). - // Gates on admin:read and requires an explicit account_name (no - // caller-account fallback). Returns the persisted policy, active-human - // principal count, and attribution metadata. - GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) - // Updates a workspace's explicit peer-review policy (ENG-6046 / BRENT-824). - // Gates on admin:write and requires an explicit account_name. Enabling - // REQUIRED fails with FailedPrecondition when fewer than two active humans - // are present. The update, attribution fields, and audit event commit - // atomically. Unspecified/unknown policy values return InvalidArgument. - UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) - // Reads an account's LLM provider key status for support triage. Operator-facing - // twin of GetWorkspaceLLMCredentialStatus: gates on admin:read and takes an - // explicit account_name, so brent-area51 can show any account's key status - // without holding that account's brent:read scope. Metadata only — never the - // secret. account_name is required (no caller-account fallback). - GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) - // Lists organisation_app_installations for one account with credential-presence - // flags, shared readiness fields, and workspace integration roles. - // Metadata only — never secrets. Cross-tenant; gated on admin:read. - // account_name required. - ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) - // Lists workflow definitions for the caller's account, ordered by name. - // Account-scoped: callers see only their own tenant's rows. Operator-only; - // gated on admin:read. Returns summary fields only (no body_template, no on_yaml); - // use GetLoop for the full definition. - ListLoops(context.Context, *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) - // Fetches a single workflow definition by ID within the caller's account. - // Returns NotFound when the workflow is missing, soft-deleted, or owned by - // a different account. Same admin:read gate as ListLoops. - GetLoop(context.Context, *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) - // Lists workflow runs for the caller's account, newest first. Account- - // scoped; gated on admin:read. Supports cursor pagination (limit + - // after_cursor) and an optional workflow_name filter for the per-workflow - // run-list view. - ListLoopRuns(context.Context, *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) - // Fetches a single workflow run by ID within the caller's account. Returns - // the full LoopRun (including prompt and the typed Event payload that - // triggered it) plus an optional parent LoopSummary lookable up by - // (account_name, name). Same admin:read gate. - GetLoopRun(context.Context, *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) - // Returns persisted steps for ancestor runs in the resumed_from_run_id chain - // (oldest first). The current run's live tail stays on WatchRun. Same - // admin:read gate as GetLoopRun. - GetLoopRunThreadHistory(context.Context, *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) - // Lists pull requests for the caller's tenant, sorted by updated_at DESC. - // Account-scoped: callers see only their own rows. Operator-only; gated on admin:read. - // The `state` filter accepts "" (default → open), "open", "closed" - // (state='closed' AND merged=false), "merged" (state='closed' AND - // merged=true), or "all". Returns summary fields including linked-plan info - // and the latest deviation verdict for the PR's current head SHA. - ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) - // Fetches a single pull request by its UUID. Account-scoped: a pr_id from - // another tenant returns NotFound (existence is never surfaced). Gated on - // admin:read. - GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) - // Lists deviation analyses for a pull request, newest-first by started_at. - // Account-scoped: a pr_id from another tenant returns an empty list (not an - // error). Gated on admin:read. - ListPlanChecksForPR(context.Context, *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) - // Lists principals across every tenant for the Area51 debug UI. Operator-only; - // gated on admin:read. Summary fields only; use GetPrincipal for - // identities and bindings. - ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) - // Fetches a single principal by UUID, ignoring account scope, plus every - // identity and binding row (including tombstoned bindings). Same admin:read - // gate as ListPrincipals. Returns NotFound for unknown principals. - GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) - // Upserts a verified binding on any principal in any tenant. Operator-only; - // gated on admin:write. - UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) - // Tombstones a verified binding row by its external_id. Operator-only; - // gated on admin:write. - DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) - // Updates display_name and/or status on any principal. Operator-only; - // gated on admin:write. - UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) - // Inserts an identity row on any principal. Operator-only; gated on admin:write. - CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) - // Deletes an identity row by external_id. Operator-only; gated on admin:write. - DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) - // Validates and stores a per-principal integration secret for a provider. - // Write-only: the secret is never returned. Operator-only; gated on admin:write. - SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) - // Lists credential connection presence across principals (metadata only). - // Operator-only; gated on admin:read. - ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) - // Clears a stored credential and tombstones the matching verified binding. - // Operator-only; gated on admin:write. - DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) - // Returns a chronological timeline table for one PR: Brent-local rows plus - // a live GitHub overlay composed at request time. Account-scoped: a pr_id - // from another tenant returns NotFound. GitHub failures surface as warnings - // while Brent-local rows are still returned. Gated on admin:read. - GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) -} - -// NewUntilAdminServiceHandler builds an HTTP handler from the service implementation. It returns the -// path on which to mount the handler and the handler itself. -// -// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf -// and JSON codecs. They also support gzip compression. -func NewUntilAdminServiceHandler(svc UntilAdminServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { - untilAdminServiceMethods := sdp_go.File_brent_proto.Services().ByName("AdminService").Methods() - untilAdminServiceExecuteLoopHandler := connect.NewServerStreamHandler( - UntilAdminServiceExecuteLoopProcedure, - svc.ExecuteLoop, - connect.WithSchema(untilAdminServiceMethods.ByName("ExecuteLoop")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListRunsHandler := connect.NewUnaryHandler( - UntilAdminServiceListRunsProcedure, - svc.ListRuns, - connect.WithSchema(untilAdminServiceMethods.ByName("ListRuns")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceWatchRunHandler := connect.NewServerStreamHandler( - UntilAdminServiceWatchRunProcedure, - svc.WatchRun, - connect.WithSchema(untilAdminServiceMethods.ByName("WatchRun")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceStreamEventsHandler := connect.NewServerStreamHandler( - UntilAdminServiceStreamEventsProcedure, - svc.StreamEvents, - connect.WithSchema(untilAdminServiceMethods.ByName("StreamEvents")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListEventsHandler := connect.NewUnaryHandler( - UntilAdminServiceListEventsProcedure, - svc.ListEvents, - connect.WithSchema(untilAdminServiceMethods.ByName("ListEvents")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceCancelRunHandler := connect.NewUnaryHandler( - UntilAdminServiceCancelRunProcedure, - svc.CancelRun, - connect.WithSchema(untilAdminServiceMethods.ByName("CancelRun")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceSendQuestionHandler := connect.NewServerStreamHandler( - UntilAdminServiceSendQuestionProcedure, - svc.SendQuestion, - connect.WithSchema(untilAdminServiceMethods.ByName("SendQuestion")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListPlansHandler := connect.NewUnaryHandler( - UntilAdminServiceListPlansProcedure, - svc.ListPlans, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPlans")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetPlanHandler := connect.NewUnaryHandler( - UntilAdminServiceGetPlanProcedure, - svc.GetPlan, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPlan")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListReviewsHandler := connect.NewUnaryHandler( - UntilAdminServiceListReviewsProcedure, - svc.ListReviews, - connect.WithSchema(untilAdminServiceMethods.ByName("ListReviews")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetReviewHandler := connect.NewUnaryHandler( - UntilAdminServiceGetReviewProcedure, - svc.GetReview, - connect.WithSchema(untilAdminServiceMethods.ByName("GetReview")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListAccountsHandler := connect.NewUnaryHandler( - UntilAdminServiceListAccountsProcedure, - svc.ListAccounts, - connect.WithSchema(untilAdminServiceMethods.ByName("ListAccounts")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetAccountSummaryHandler := connect.NewUnaryHandler( - UntilAdminServiceGetAccountSummaryProcedure, - svc.GetAccountSummary, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountSummary")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetAccountHealthAnalysisHandler := connect.NewUnaryHandler( - UntilAdminServiceGetAccountHealthAnalysisProcedure, - svc.GetAccountHealthAnalysis, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountHealthAnalysis")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListAccountMetricReposHandler := connect.NewUnaryHandler( - UntilAdminServiceListAccountMetricReposProcedure, - svc.ListAccountMetricRepos, - connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountMetricRepos")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceStartAccountMetricsComparisonHandler := connect.NewUnaryHandler( - UntilAdminServiceStartAccountMetricsComparisonProcedure, - svc.StartAccountMetricsComparison, - connect.WithSchema(untilAdminServiceMethods.ByName("StartAccountMetricsComparison")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetAccountMetricsComparisonRunHandler := connect.NewUnaryHandler( - UntilAdminServiceGetAccountMetricsComparisonRunProcedure, - svc.GetAccountMetricsComparisonRun, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountMetricsComparisonRun")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetAccountPlanCheckSettingsHandler := connect.NewUnaryHandler( - UntilAdminServiceGetAccountPlanCheckSettingsProcedure, - svc.GetAccountPlanCheckSettings, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountPlanCheckSettings")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceUpdateAccountPlanCheckSettingsHandler := connect.NewUnaryHandler( - UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure, - svc.UpdateAccountPlanCheckSettings, - connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountPlanCheckSettings")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetAccountReviewPolicyHandler := connect.NewUnaryHandler( - UntilAdminServiceGetAccountReviewPolicyProcedure, - svc.GetAccountReviewPolicy, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountReviewPolicy")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceUpdateAccountReviewPolicyHandler := connect.NewUnaryHandler( - UntilAdminServiceUpdateAccountReviewPolicyProcedure, - svc.UpdateAccountReviewPolicy, - connect.WithSchema(untilAdminServiceMethods.ByName("UpdateAccountReviewPolicy")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetAccountLLMCredentialStatusHandler := connect.NewUnaryHandler( - UntilAdminServiceGetAccountLLMCredentialStatusProcedure, - svc.GetAccountLLMCredentialStatus, - connect.WithSchema(untilAdminServiceMethods.ByName("GetAccountLLMCredentialStatus")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListAccountIntegrationsHandler := connect.NewUnaryHandler( - UntilAdminServiceListAccountIntegrationsProcedure, - svc.ListAccountIntegrations, - connect.WithSchema(untilAdminServiceMethods.ByName("ListAccountIntegrations")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListLoopsHandler := connect.NewUnaryHandler( - UntilAdminServiceListLoopsProcedure, - svc.ListLoops, - connect.WithSchema(untilAdminServiceMethods.ByName("ListLoops")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetLoopHandler := connect.NewUnaryHandler( - UntilAdminServiceGetLoopProcedure, - svc.GetLoop, - connect.WithSchema(untilAdminServiceMethods.ByName("GetLoop")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListLoopRunsHandler := connect.NewUnaryHandler( - UntilAdminServiceListLoopRunsProcedure, - svc.ListLoopRuns, - connect.WithSchema(untilAdminServiceMethods.ByName("ListLoopRuns")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetLoopRunHandler := connect.NewUnaryHandler( - UntilAdminServiceGetLoopRunProcedure, - svc.GetLoopRun, - connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRun")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetLoopRunThreadHistoryHandler := connect.NewUnaryHandler( - UntilAdminServiceGetLoopRunThreadHistoryProcedure, - svc.GetLoopRunThreadHistory, - connect.WithSchema(untilAdminServiceMethods.ByName("GetLoopRunThreadHistory")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListPullRequestsHandler := connect.NewUnaryHandler( - UntilAdminServiceListPullRequestsProcedure, - svc.ListPullRequests, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPullRequests")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetPullRequestByIDHandler := connect.NewUnaryHandler( - UntilAdminServiceGetPullRequestByIDProcedure, - svc.GetPullRequestByID, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestByID")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListPlanChecksForPRHandler := connect.NewUnaryHandler( - UntilAdminServiceListPlanChecksForPRProcedure, - svc.ListPlanChecksForPR, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPlanChecksForPR")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListPrincipalsHandler := connect.NewUnaryHandler( - UntilAdminServiceListPrincipalsProcedure, - svc.ListPrincipals, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipals")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetPrincipalHandler := connect.NewUnaryHandler( - UntilAdminServiceGetPrincipalProcedure, - svc.GetPrincipal, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPrincipal")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceUpsertPrincipalBindingHandler := connect.NewUnaryHandler( - UntilAdminServiceUpsertPrincipalBindingProcedure, - svc.UpsertPrincipalBinding, - connect.WithSchema(untilAdminServiceMethods.ByName("UpsertPrincipalBinding")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceDeletePrincipalBindingHandler := connect.NewUnaryHandler( - UntilAdminServiceDeletePrincipalBindingProcedure, - svc.DeletePrincipalBinding, - connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalBinding")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceUpdatePrincipalHandler := connect.NewUnaryHandler( - UntilAdminServiceUpdatePrincipalProcedure, - svc.UpdatePrincipal, - connect.WithSchema(untilAdminServiceMethods.ByName("UpdatePrincipal")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceCreatePrincipalIdentityHandler := connect.NewUnaryHandler( - UntilAdminServiceCreatePrincipalIdentityProcedure, - svc.CreatePrincipalIdentity, - connect.WithSchema(untilAdminServiceMethods.ByName("CreatePrincipalIdentity")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceDeletePrincipalIdentityHandler := connect.NewUnaryHandler( - UntilAdminServiceDeletePrincipalIdentityProcedure, - svc.DeletePrincipalIdentity, - connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalIdentity")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceSetPrincipalCredentialHandler := connect.NewUnaryHandler( - UntilAdminServiceSetPrincipalCredentialProcedure, - svc.SetPrincipalCredential, - connect.WithSchema(untilAdminServiceMethods.ByName("SetPrincipalCredential")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceListPrincipalCredentialConnectionsHandler := connect.NewUnaryHandler( - UntilAdminServiceListPrincipalCredentialConnectionsProcedure, - svc.ListPrincipalCredentialConnections, - connect.WithSchema(untilAdminServiceMethods.ByName("ListPrincipalCredentialConnections")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceDeletePrincipalCredentialHandler := connect.NewUnaryHandler( - UntilAdminServiceDeletePrincipalCredentialProcedure, - svc.DeletePrincipalCredential, - connect.WithSchema(untilAdminServiceMethods.ByName("DeletePrincipalCredential")), - connect.WithHandlerOptions(opts...), - ) - untilAdminServiceGetPullRequestTimelineHandler := connect.NewUnaryHandler( - UntilAdminServiceGetPullRequestTimelineProcedure, - svc.GetPullRequestTimeline, - connect.WithSchema(untilAdminServiceMethods.ByName("GetPullRequestTimeline")), - connect.WithHandlerOptions(opts...), - ) - return "/until.AdminService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - switch r.URL.Path { - case UntilAdminServiceExecuteLoopProcedure: - untilAdminServiceExecuteLoopHandler.ServeHTTP(w, r) - case UntilAdminServiceListRunsProcedure: - untilAdminServiceListRunsHandler.ServeHTTP(w, r) - case UntilAdminServiceWatchRunProcedure: - untilAdminServiceWatchRunHandler.ServeHTTP(w, r) - case UntilAdminServiceStreamEventsProcedure: - untilAdminServiceStreamEventsHandler.ServeHTTP(w, r) - case UntilAdminServiceListEventsProcedure: - untilAdminServiceListEventsHandler.ServeHTTP(w, r) - case UntilAdminServiceCancelRunProcedure: - untilAdminServiceCancelRunHandler.ServeHTTP(w, r) - case UntilAdminServiceSendQuestionProcedure: - untilAdminServiceSendQuestionHandler.ServeHTTP(w, r) - case UntilAdminServiceListPlansProcedure: - untilAdminServiceListPlansHandler.ServeHTTP(w, r) - case UntilAdminServiceGetPlanProcedure: - untilAdminServiceGetPlanHandler.ServeHTTP(w, r) - case UntilAdminServiceListReviewsProcedure: - untilAdminServiceListReviewsHandler.ServeHTTP(w, r) - case UntilAdminServiceGetReviewProcedure: - untilAdminServiceGetReviewHandler.ServeHTTP(w, r) - case UntilAdminServiceListAccountsProcedure: - untilAdminServiceListAccountsHandler.ServeHTTP(w, r) - case UntilAdminServiceGetAccountSummaryProcedure: - untilAdminServiceGetAccountSummaryHandler.ServeHTTP(w, r) - case UntilAdminServiceGetAccountHealthAnalysisProcedure: - untilAdminServiceGetAccountHealthAnalysisHandler.ServeHTTP(w, r) - case UntilAdminServiceListAccountMetricReposProcedure: - untilAdminServiceListAccountMetricReposHandler.ServeHTTP(w, r) - case UntilAdminServiceStartAccountMetricsComparisonProcedure: - untilAdminServiceStartAccountMetricsComparisonHandler.ServeHTTP(w, r) - case UntilAdminServiceGetAccountMetricsComparisonRunProcedure: - untilAdminServiceGetAccountMetricsComparisonRunHandler.ServeHTTP(w, r) - case UntilAdminServiceGetAccountPlanCheckSettingsProcedure: - untilAdminServiceGetAccountPlanCheckSettingsHandler.ServeHTTP(w, r) - case UntilAdminServiceUpdateAccountPlanCheckSettingsProcedure: - untilAdminServiceUpdateAccountPlanCheckSettingsHandler.ServeHTTP(w, r) - case UntilAdminServiceGetAccountReviewPolicyProcedure: - untilAdminServiceGetAccountReviewPolicyHandler.ServeHTTP(w, r) - case UntilAdminServiceUpdateAccountReviewPolicyProcedure: - untilAdminServiceUpdateAccountReviewPolicyHandler.ServeHTTP(w, r) - case UntilAdminServiceGetAccountLLMCredentialStatusProcedure: - untilAdminServiceGetAccountLLMCredentialStatusHandler.ServeHTTP(w, r) - case UntilAdminServiceListAccountIntegrationsProcedure: - untilAdminServiceListAccountIntegrationsHandler.ServeHTTP(w, r) - case UntilAdminServiceListLoopsProcedure: - untilAdminServiceListLoopsHandler.ServeHTTP(w, r) - case UntilAdminServiceGetLoopProcedure: - untilAdminServiceGetLoopHandler.ServeHTTP(w, r) - case UntilAdminServiceListLoopRunsProcedure: - untilAdminServiceListLoopRunsHandler.ServeHTTP(w, r) - case UntilAdminServiceGetLoopRunProcedure: - untilAdminServiceGetLoopRunHandler.ServeHTTP(w, r) - case UntilAdminServiceGetLoopRunThreadHistoryProcedure: - untilAdminServiceGetLoopRunThreadHistoryHandler.ServeHTTP(w, r) - case UntilAdminServiceListPullRequestsProcedure: - untilAdminServiceListPullRequestsHandler.ServeHTTP(w, r) - case UntilAdminServiceGetPullRequestByIDProcedure: - untilAdminServiceGetPullRequestByIDHandler.ServeHTTP(w, r) - case UntilAdminServiceListPlanChecksForPRProcedure: - untilAdminServiceListPlanChecksForPRHandler.ServeHTTP(w, r) - case UntilAdminServiceListPrincipalsProcedure: - untilAdminServiceListPrincipalsHandler.ServeHTTP(w, r) - case UntilAdminServiceGetPrincipalProcedure: - untilAdminServiceGetPrincipalHandler.ServeHTTP(w, r) - case UntilAdminServiceUpsertPrincipalBindingProcedure: - untilAdminServiceUpsertPrincipalBindingHandler.ServeHTTP(w, r) - case UntilAdminServiceDeletePrincipalBindingProcedure: - untilAdminServiceDeletePrincipalBindingHandler.ServeHTTP(w, r) - case UntilAdminServiceUpdatePrincipalProcedure: - untilAdminServiceUpdatePrincipalHandler.ServeHTTP(w, r) - case UntilAdminServiceCreatePrincipalIdentityProcedure: - untilAdminServiceCreatePrincipalIdentityHandler.ServeHTTP(w, r) - case UntilAdminServiceDeletePrincipalIdentityProcedure: - untilAdminServiceDeletePrincipalIdentityHandler.ServeHTTP(w, r) - case UntilAdminServiceSetPrincipalCredentialProcedure: - untilAdminServiceSetPrincipalCredentialHandler.ServeHTTP(w, r) - case UntilAdminServiceListPrincipalCredentialConnectionsProcedure: - untilAdminServiceListPrincipalCredentialConnectionsHandler.ServeHTTP(w, r) - case UntilAdminServiceDeletePrincipalCredentialProcedure: - untilAdminServiceDeletePrincipalCredentialHandler.ServeHTTP(w, r) - case UntilAdminServiceGetPullRequestTimelineProcedure: - untilAdminServiceGetPullRequestTimelineHandler.ServeHTTP(w, r) - default: - http.NotFound(w, r) - } - }) -} - -// UnimplementedUntilAdminServiceHandler returns CodeUnimplemented from all methods. -type UnimplementedUntilAdminServiceHandler struct{} - -func (UnimplementedUntilAdminServiceHandler) ExecuteLoop(context.Context, *connect.Request[sdp_go.ExecuteLoopRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ExecuteLoop is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListRuns(context.Context, *connect.Request[sdp_go.ListRunsRequest]) (*connect.Response[sdp_go.ListRunsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListRuns is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) WatchRun(context.Context, *connect.Request[sdp_go.WatchRunRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.WatchRun is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) StreamEvents(context.Context, *connect.Request[sdp_go.StreamEventsRequest], *connect.ServerStream[sdp_go.StreamEventsResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.StreamEvents is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListEvents(context.Context, *connect.Request[sdp_go.ListEventsRequest]) (*connect.Response[sdp_go.ListEventsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListEvents is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) CancelRun(context.Context, *connect.Request[sdp_go.CancelRunRequest]) (*connect.Response[sdp_go.CancelRunResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.CancelRun is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) SendQuestion(context.Context, *connect.Request[sdp_go.SendQuestionRequest], *connect.ServerStream[sdp_go.ExecuteLoopResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.SendQuestion is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListPlans(context.Context, *connect.Request[sdp_go.AdminListPlansRequest]) (*connect.Response[sdp_go.AdminListPlansResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPlans is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetPlan(context.Context, *connect.Request[sdp_go.AdminGetPlanRequest]) (*connect.Response[sdp_go.AdminGetPlanResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPlan is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListReviews(context.Context, *connect.Request[sdp_go.AdminListReviewsRequest]) (*connect.Response[sdp_go.AdminListReviewsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListReviews is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetReview(context.Context, *connect.Request[sdp_go.AdminGetReviewRequest]) (*connect.Response[sdp_go.AdminGetReviewResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetReview is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListAccounts(context.Context, *connect.Request[emptypb.Empty]) (*connect.Response[sdp_go.AdminListAccountsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListAccounts is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetAccountSummary(context.Context, *connect.Request[sdp_go.AdminGetAccountSummaryRequest]) (*connect.Response[sdp_go.AdminGetAccountSummaryResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountSummary is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetAccountHealthAnalysis(context.Context, *connect.Request[sdp_go.AdminGetAccountHealthAnalysisRequest]) (*connect.Response[sdp_go.AdminGetAccountHealthAnalysisResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountHealthAnalysis is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListAccountMetricRepos(context.Context, *connect.Request[sdp_go.AdminListAccountMetricReposRequest]) (*connect.Response[sdp_go.AdminListAccountMetricReposResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListAccountMetricRepos is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) StartAccountMetricsComparison(context.Context, *connect.Request[sdp_go.AdminStartAccountMetricsComparisonRequest]) (*connect.Response[sdp_go.AdminStartAccountMetricsComparisonResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.StartAccountMetricsComparison is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetAccountMetricsComparisonRun(context.Context, *connect.Request[sdp_go.AdminGetAccountMetricsComparisonRunRequest]) (*connect.Response[sdp_go.AdminGetAccountMetricsComparisonRunResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountMetricsComparisonRun is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminGetAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.GetPlanCheckSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountPlanCheckSettings is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) UpdateAccountPlanCheckSettings(context.Context, *connect.Request[sdp_go.AdminUpdateAccountPlanCheckSettingsRequest]) (*connect.Response[sdp_go.UpdatePlanCheckSettingsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpdateAccountPlanCheckSettings is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminGetAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminGetAccountReviewPolicyResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountReviewPolicy is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) UpdateAccountReviewPolicy(context.Context, *connect.Request[sdp_go.AdminUpdateAccountReviewPolicyRequest]) (*connect.Response[sdp_go.AdminUpdateAccountReviewPolicyResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpdateAccountReviewPolicy is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetAccountLLMCredentialStatus(context.Context, *connect.Request[sdp_go.AdminGetAccountLLMCredentialStatusRequest]) (*connect.Response[sdp_go.AdminGetAccountLLMCredentialStatusResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetAccountLLMCredentialStatus is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListAccountIntegrations(context.Context, *connect.Request[sdp_go.AdminListAccountIntegrationsRequest]) (*connect.Response[sdp_go.AdminListAccountIntegrationsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListAccountIntegrations is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListLoops(context.Context, *connect.Request[sdp_go.ListLoopsRequest]) (*connect.Response[sdp_go.ListLoopsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListLoops is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetLoop(context.Context, *connect.Request[sdp_go.GetLoopRequest]) (*connect.Response[sdp_go.GetLoopResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetLoop is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListLoopRuns(context.Context, *connect.Request[sdp_go.ListLoopRunsRequest]) (*connect.Response[sdp_go.ListLoopRunsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListLoopRuns is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetLoopRun(context.Context, *connect.Request[sdp_go.GetLoopRunRequest]) (*connect.Response[sdp_go.GetLoopRunResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetLoopRun is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetLoopRunThreadHistory(context.Context, *connect.Request[sdp_go.GetLoopRunThreadHistoryRequest]) (*connect.Response[sdp_go.GetLoopRunThreadHistoryResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetLoopRunThreadHistory is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListPullRequests(context.Context, *connect.Request[sdp_go.ListPullRequestsRequest]) (*connect.Response[sdp_go.ListPullRequestsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPullRequests is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetPullRequestByID(context.Context, *connect.Request[sdp_go.GetPullRequestByIDRequest]) (*connect.Response[sdp_go.GetPullRequestByIDResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPullRequestByID is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListPlanChecksForPR(context.Context, *connect.Request[sdp_go.ListPlanChecksForPRRequest]) (*connect.Response[sdp_go.ListPlanChecksForPRResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPlanChecksForPR is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListPrincipals(context.Context, *connect.Request[sdp_go.AdminListPrincipalsRequest]) (*connect.Response[sdp_go.AdminListPrincipalsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPrincipals is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetPrincipal(context.Context, *connect.Request[sdp_go.AdminGetPrincipalRequest]) (*connect.Response[sdp_go.AdminGetPrincipalResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPrincipal is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) UpsertPrincipalBinding(context.Context, *connect.Request[sdp_go.AdminUpsertPrincipalBindingRequest]) (*connect.Response[sdp_go.AdminUpsertPrincipalBindingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpsertPrincipalBinding is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) DeletePrincipalBinding(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalBindingRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalBindingResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.DeletePrincipalBinding is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) UpdatePrincipal(context.Context, *connect.Request[sdp_go.AdminUpdatePrincipalRequest]) (*connect.Response[sdp_go.AdminUpdatePrincipalResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.UpdatePrincipal is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) CreatePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminCreatePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminCreatePrincipalIdentityResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.CreatePrincipalIdentity is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) DeletePrincipalIdentity(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalIdentityRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalIdentityResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.DeletePrincipalIdentity is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) SetPrincipalCredential(context.Context, *connect.Request[sdp_go.AdminSetPrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminSetPrincipalCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.SetPrincipalCredential is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) ListPrincipalCredentialConnections(context.Context, *connect.Request[sdp_go.AdminListPrincipalCredentialConnectionsRequest]) (*connect.Response[sdp_go.AdminListPrincipalCredentialConnectionsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.ListPrincipalCredentialConnections is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) DeletePrincipalCredential(context.Context, *connect.Request[sdp_go.AdminDeletePrincipalCredentialRequest]) (*connect.Response[sdp_go.AdminDeletePrincipalCredentialResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.DeletePrincipalCredential is not implemented")) -} - -func (UnimplementedUntilAdminServiceHandler) GetPullRequestTimeline(context.Context, *connect.Request[sdp_go.GetPullRequestTimelineRequest]) (*connect.Response[sdp_go.GetPullRequestTimelineResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("until.AdminService.GetPullRequestTimeline is not implemented")) -} From 59850d5a09edc353b3d4acd76e746c2c7b4971ab Mon Sep 17 00:00:00 2001 From: Elliot Waddington Date: Wed, 12 Aug 2026 15:24:18 +0200 Subject: [PATCH 35/36] [ENG-6154] Dual-emit Until runtime telemetry identifiers (#6314) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Dual-write Until OTel / log / Sentry / PostHog identities next to live Brent keys so Honeycomb and learning signals can migrate without a hard cut (`until.*`, `ovm.until.*`, `service.name=until-backend` + `service.name.legacy=brent-backend`). - Ships inventory on ENG-6154 for ENG-6125 (including Daniel’s `service.name` Honeycomb verification); does not touch Honeycomb TF, PostHog/Sentry projects, feature flags, or River kinds. - Fixes OTel wrap-before-first-`SetTracerProvider` so `tracing.Tracer()` spans (agent/MCP) actually dual-emit Until twins. ## Linear Ticket Fixes: [ENG-6154](https://linear.app/overmind/issue/ENG-6154/migrate-runtime-telemetry-identifiers-to-until) — Migrate runtime telemetry identifiers to Until - **Purpose**: Dual-emit Until service/attribute identities (`until.*`, `ovm.until.*`, `service.name=until-backend`) so ENG-6125 can rebind Honeycomb without a blind cutover; retirement of Brent keys is a follow-up. - **Blocks**: ENG-6152, ENG-5979, ENG-5987 ## Changes - New `services/brent-backend/telemetrydual` helper (`TwinKey`, `WrapTracerProvider`, `WithAttributes`, logrus `LogHook`, Sentry `SetTag`). - Boot: `until-backend` + legacy resource attr; wrap provider via `tracing.WithTracerProviderWrapper` before first set; lazy `tracing.Tracer()`. - PostHog `until_mcp_*` + `until_version`; Sentry/log dual tags; opentelemetry-naming skill + docs/runbooks. - Tests for dual keys (MCP, workflows, Sentry, wrap order) and `WithServiceName("until-backend")`. - Focus review on: wrap-before-first-set correctness, Start vs SetAttributes dual-write paths, and that out-of-scope identifiers stayed untouched. ## Plan difference acknowledgements - `missing-service-name-consumer-verification-inventory`: Intentional placement — the concrete Honeycomb `service.name` consumer inventory (Terraform-managed boards/queries/triggers/SLOs on dataset `brent-backend`) is recorded on the ENG-6154 Linear ticket description next to the dual-write key inventory, not duplicated in this PR’s runbook diff. Conclusion there: no managed objects filter/group by `service.name=brent-backend`; ENG-6125 still rebinds attribute keys and the dataset; check any manual dogfood boards live before Until-only cutover. ## Until Plan Plan ID: UNTIL-876 - **Plan**: Migrate runtime telemetry identifiers to Until - **Approved by**: Daniel Carabas > Deviation analysis and reviewer assignment are handled automatically by the > pre-approved PR review automation (see docs/PREAPPROVED_CHANGES.md). --------- Co-authored-by: Cursor GitOrigin-RevId: c0196bf2151b4bce630a230b29b524922b191c13 --- go/tracing/main.go | 105 ++++++++++++++++++++++++++++++---------- go/tracing/main_test.go | 31 +++++++++++- 2 files changed, 110 insertions(+), 26 deletions(-) diff --git a/go/tracing/main.go b/go/tracing/main.go index a8684735..71ea3db1 100644 --- a/go/tracing/main.go +++ b/go/tracing/main.go @@ -53,19 +53,18 @@ var ( commit = "none" ) -var ( - tracer = otel.GetTracerProvider().Tracer( - instrumentationName, - trace.WithInstrumentationVersion(version), - trace.WithInstrumentationAttributes( - attribute.String("build.commit", commit), - ), - trace.WithSchemaURL(semconv.SchemaURL), - ) -) +var instrumentationTracerOpts = []trace.TracerOption{ + trace.WithInstrumentationVersion(version), + trace.WithInstrumentationAttributes( + attribute.String("build.commit", commit), + ), + trace.WithSchemaURL(semconv.SchemaURL), +} +// Tracer returns a tracer from the current global TracerProvider. Looked up on +// each call so post-init provider wrappers (e.g. telemetrydual) still apply. func Tracer() trace.Tracer { - return tracer + return otel.GetTracerProvider().Tracer(instrumentationName, instrumentationTracerOpts...) } // hasGitDir returns true if the current directory or any parent directory contains a .git directory @@ -99,7 +98,34 @@ func hasGitDir() bool { return false // No .git directory found } -func tracingResource(component string) *resource.Resource { +// InitOption configures InitTracer / InitTracerWithUpstreams. +type InitOption func(*initConfig) + +type initConfig struct { + legacyServiceName string + wrapProvider func(trace.TracerProvider) trace.TracerProvider +} + +// WithLegacyServiceName sets resource attribute service.name.legacy alongside +// the primary service.name. Used during Until rename dual-write (ENG-6154). +// Only brent-backend / until-backend should pass this; other services must omit it. +func WithLegacyServiceName(name string) InitOption { + return func(c *initConfig) { + c.legacyServiceName = name + } +} + +// WithTracerProviderWrapper wraps the SDK TracerProvider before the first +// otel.SetTracerProvider call. OpenTelemetry only rebinds package-init +// tracers on the first SetTracerProvider, so dual-emit wrappers (ENG-6154) +// must be applied here rather than via a second SetTracerProvider. +func WithTracerProviderWrapper(wrap func(trace.TracerProvider) trace.TracerProvider) InitOption { + return func(c *initConfig) { + c.wrapProvider = wrap + } +} + +func tracingResource(component string, cfg initConfig) *resource.Resource { // Identify your application using resource detection resources := []*resource.Resource{} @@ -122,7 +148,8 @@ func tracingResource(component string) *resource.Resource { // detectors = append(detectors, eks.NewResourceDetector()) // } - hostRes, err := resource.New(context.Background(), + hostRes, err := resource.New( + context.Background(), resource.WithHost(), resource.WithOS(), resource.WithProcess(), @@ -135,14 +162,20 @@ func tracingResource(component string) *resource.Resource { } resources = append(resources, hostRes) - localRes, err := resource.New(context.Background(), + localAttrs := []attribute.KeyValue{ + semconv.ServiceNameKey.String(component), + semconv.ServiceVersionKey.String(version), + attribute.String("build.commit", commit), + } + if cfg.legacyServiceName != "" { + localAttrs = append(localAttrs, attribute.String("service.name.legacy", cfg.legacyServiceName)) + } + + localRes, err := resource.New( + context.Background(), resource.WithSchemaURL(semconv.SchemaURL), // Add your own custom attributes to identify your application - resource.WithAttributes( - semconv.ServiceNameKey.String(component), - semconv.ServiceVersionKey.String(version), - attribute.String("build.commit", commit), - ), + resource.WithAttributes(localAttrs...), ) if err != nil { log.WithError(err).Error("error initialising local resource") @@ -152,7 +185,6 @@ func tracingResource(component string) *resource.Resource { conv := schema.NewConverter(schema.DefaultClient) res, err := conv.MergeResources(context.Background(), semconv.SchemaURL, resources...) - if err != nil { log.WithError(err).Error("error merging resource") return nil @@ -197,6 +229,12 @@ func sentryEnvironmentFromViper() string { // InitTracerWithUpstreams initialises the tracer with uploading directly to Honeycomb and sentry if `honeycombApiKey` and `sentryDSN` is set respectively. `component` is used as the service name. func InitTracerWithUpstreams(component, honeycombApiKey, sentryDSN string, opts ...otlptracehttp.Option) error { + return InitTracerWithUpstreamsAndInitOptions(component, honeycombApiKey, sentryDSN, nil, opts...) +} + +// InitTracerWithUpstreamsAndInitOptions is like InitTracerWithUpstreams but applies +// InitOption values (e.g. WithLegacyServiceName) when building the resource. +func InitTracerWithUpstreamsAndInitOptions(component, honeycombApiKey, sentryDSN string, initOpts []InitOption, opts ...otlptracehttp.Option) error { if sentryDSN != "" { environment := sentryEnvironmentFromViper() err := sentry.Init(sentry.ClientOptions{ @@ -219,7 +257,8 @@ func InitTracerWithUpstreams(component, honeycombApiKey, sentryDSN string, opts } if honeycombApiKey != "" { - opts = append(opts, + opts = append( + opts, otlptracehttp.WithEndpoint("api.honeycomb.io"), otlptracehttp.WithHeaders(map[string]string{"x-honeycomb-team": honeycombApiKey}), ) @@ -227,13 +266,14 @@ func InitTracerWithUpstreams(component, honeycombApiKey, sentryDSN string, opts // If no Honeycomb API key is provided, use the hardcoded OTLP collector // endpoint, which is provided by the otel-collector service in the otel // namespace. Since this a node-local service, it does not use TLS. - opts = append(opts, + opts = append( + opts, otlptracehttp.WithEndpoint("otelcol-node-opentelemetry-collector.otel.svc.cluster.local:4318"), otlptracehttp.WithInsecure(), ) } - return InitTracer(component, opts...) + return InitTracerWithInitOptions(component, initOpts, opts...) } // batcherOpts are the shared BatchSpanProcessor options applied to every @@ -256,14 +296,25 @@ var batcherOpts = []sdktrace.BatchSpanProcessorOption{ } func InitTracer(component string, opts ...otlptracehttp.Option) error { + return InitTracerWithInitOptions(component, nil, opts...) +} + +// InitTracerWithInitOptions initialises tracing with optional InitOption values +// (e.g. WithLegacyServiceName for ENG-6154 dual-write). +func InitTracerWithInitOptions(component string, initOpts []InitOption, opts ...otlptracehttp.Option) error { otel.SetErrorHandler(logrusOtelErrorHandler{}) + var cfg initConfig + for _, o := range initOpts { + o(&cfg) + } + otlpExp, err := otlptrace.New(context.Background(), otlptracehttp.NewClient(opts...)) if err != nil { return fmt.Errorf("creating OTLP trace exporter: %w", err) } - res := tracingResource(component) + res := tracingResource(component, cfg) tracerOpts := []sdktrace.TracerProviderOption{ sdktrace.WithBatcher(otlpExp, batcherOpts...), @@ -278,7 +329,11 @@ func InitTracer(component string, opts ...otlptracehttp.Option) error { } tp = sdktrace.NewTracerProvider(tracerOpts...) - otel.SetTracerProvider(tp) + provider := trace.TracerProvider(tp) + if cfg.wrapProvider != nil { + provider = cfg.wrapProvider(provider) + } + otel.SetTracerProvider(provider) otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{})) return nil diff --git a/go/tracing/main_test.go b/go/tracing/main_test.go index 01297b07..af587556 100644 --- a/go/tracing/main_test.go +++ b/go/tracing/main_test.go @@ -17,12 +17,41 @@ import ( ) func TestTracingResource(t *testing.T) { - resource := tracingResource("test-component") + resource := tracingResource("test-component", initConfig{}) if resource == nil { t.Error("Could not initialize tracing resource. Check the log!") } } +func TestTracingResourceLegacyServiceName(t *testing.T) { + res := tracingResource("until-backend", initConfig{legacyServiceName: "brent-backend"}) + if res == nil { + t.Fatal("expected resource") + } + attrs := res.Attributes() + var sawService, sawLegacy bool + for _, a := range attrs { + switch string(a.Key) { + case "service.name": + sawService = true + if a.Value.AsString() != "until-backend" { + t.Errorf("service.name = %q want until-backend", a.Value.AsString()) + } + case "service.name.legacy": + sawLegacy = true + if a.Value.AsString() != "brent-backend" { + t.Errorf("service.name.legacy = %q want brent-backend", a.Value.AsString()) + } + } + } + if !sawService { + t.Error("missing service.name") + } + if !sawLegacy { + t.Error("missing service.name.legacy") + } +} + func TestShutdownProvider(t *testing.T) { exp := tracetest.NewInMemoryExporter() From 9d7d5017a35de158d85546e18d934d961e61ff75 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Wed, 12 Aug 2026 13:41:57 +0000 Subject: [PATCH 36/36] Run go mod tidy --- go.mod | 132 ++----------------------- go.sum | 308 --------------------------------------------------------- 2 files changed, 9 insertions(+), 431 deletions(-) diff --git a/go.mod b/go.mod index ca2f4bbe..46140928 100644 --- a/go.mod +++ b/go.mod @@ -24,8 +24,6 @@ replace golang.org/x/image => golang.org/x/image v0.44.0 require ( atomicgo.dev/keyboard v0.2.10 buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1 - buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260805103418-70b5c163d960.1 - buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260805103418-70b5c163d960.1 buf.build/go/protovalidate v1.2.0 charm.land/lipgloss/v2 v2.0.5 cloud.google.com/go/aiplatform v1.126.0 @@ -35,7 +33,7 @@ require ( cloud.google.com/go/bigtable v1.52.0 cloud.google.com/go/certificatemanager v1.15.0 cloud.google.com/go/compute v1.65.0 - cloud.google.com/go/compute/metadata v0.9.0 + cloud.google.com/go/compute/metadata v0.9.0 // indirect cloud.google.com/go/container v1.53.1 cloud.google.com/go/dataplex v1.36.0 cloud.google.com/go/dataproc/v2 v2.25.0 @@ -57,8 +55,6 @@ require ( cloud.google.com/go/storage v1.64.0 cloud.google.com/go/storagetransfer v1.19.0 connectrpc.com/connect v1.20.0 // v1.19.0 was faulty, wait until it is above this version - connectrpc.com/otelconnect v0.9.0 - github.com/1password/onepassword-sdk-go v0.4.1 github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 v3.0.0-beta.3 @@ -79,12 +75,6 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage/v4 v4.1.0 github.com/Masterminds/semver/v3 v3.5.0 github.com/MrAlias/otel-schema-utils v0.4.0-alpha - github.com/a-h/templ v0.3.1020 - github.com/adrg/strutil v0.3.1 - github.com/akedrou/textdiff v0.1.0 - github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4 - github.com/antihax/optional v1.0.0 - github.com/auth0/go-auth0/v2 v2.14.0 github.com/auth0/go-jwt-middleware/v3 v3.3.0 github.com/aws/aws-sdk-go-v2 v1.43.4 github.com/aws/aws-sdk-go-v2/config v1.32.35 @@ -110,90 +100,51 @@ require ( github.com/aws/aws-sdk-go-v2/service/rds v1.124.1 github.com/aws/aws-sdk-go-v2/service/route53 v1.65.6 github.com/aws/aws-sdk-go-v2/service/s3 v1.107.0 - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.4 github.com/aws/aws-sdk-go-v2/service/sns v1.42.4 github.com/aws/aws-sdk-go-v2/service/sqs v1.46.4 github.com/aws/aws-sdk-go-v2/service/ssm v1.73.4 github.com/aws/aws-sdk-go-v2/service/sts v1.45.4 github.com/aws/smithy-go v1.27.7 - github.com/bombsimon/logrusr/v4 v4.1.0 - github.com/bradleyfalzon/ghinstallation/v2 v2.19.0 - github.com/brianvoe/gofakeit/v7 v7.15.0 github.com/cenkalti/backoff/v5 v5.0.3 github.com/charmbracelet/glamour v0.10.0 github.com/coder/websocket v1.8.15 - github.com/coreos/go-oidc/v3 v3.20.0 - github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc - github.com/exaring/otelpgx v0.11.1 + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/getsentry/sentry-go v0.48.0 github.com/go-jose/go-jose/v4 v4.1.4 github.com/google/btree v1.1.3 - github.com/google/cel-go v0.31.0 - github.com/google/go-github/v88 v88.0.0 + github.com/google/cel-go v0.31.0 // indirect github.com/google/uuid v1.6.0 github.com/googleapis/gax-go/v2 v2.23.0 github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e - github.com/gorilla/mux v1.8.1 - github.com/harness/harness-go-sdk v0.8.19 github.com/hashicorp/go-retryablehttp v0.7.8 - github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/hashicorp/hcl/v2 v2.24.0 github.com/hashicorp/terraform-config-inspect v0.0.0-20260709150029-2fb54c236733 github.com/hashicorp/terraform-plugin-framework v1.19.0 github.com/hashicorp/terraform-plugin-go v0.31.0 github.com/hashicorp/terraform-plugin-testing v1.16.0 - github.com/invopop/jsonschema v0.14.0 - github.com/jackc/pgx/v5 v5.10.0 github.com/jedib0t/go-pretty/v6 v6.8.3 - github.com/jxskiss/base62 v1.1.0 - github.com/kaptinlin/jsonrepair v0.4.8 - github.com/lithammer/fuzzysearch v1.1.8 - github.com/mavolin/go-htmx v1.0.0 - github.com/mergestat/timediff v0.0.4 + github.com/lithammer/fuzzysearch v1.1.8 // indirect github.com/micahhausler/aws-iam-policy v0.4.4 github.com/miekg/dns v1.1.72 github.com/mitchellh/go-homedir v1.1.0 - github.com/mitchellh/go-ps v1.0.0 - github.com/modelcontextprotocol/go-sdk v1.7.0 github.com/muesli/reflow v0.3.0 github.com/nats-io/jwt/v2 v2.8.2 github.com/nats-io/nats-server/v2 v2.14.4 github.com/nats-io/nats.go v1.52.0 github.com/nats-io/nkeys v0.4.16 - github.com/neo4j/neo4j-go-driver/v6 v6.2.0 - github.com/onsi/ginkgo/v2 v2.32.0 - github.com/onsi/gomega v1.42.1 - github.com/openai/openai-go/v3 v3.50.0 github.com/openrdap/rdap v0.10.1 github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297 - github.com/pb33f/ordered-map/v2 v2.3.1 - github.com/pborman/ansi v1.3.0 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c - github.com/posthog/posthog-go v1.23.0 - github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf - github.com/resend/resend-go/v3 v3.12.0 - github.com/riverqueue/river v0.43.0 - github.com/riverqueue/river/riverdriver/riverpgxv5 v0.43.0 - github.com/riverqueue/river/rivertype v0.43.0 - github.com/riverqueue/rivercontrib/otelriver v0.12.0 - github.com/rs/cors v1.11.1 - github.com/samber/slog-logrus/v2 v2.5.4 - github.com/sashabaranov/go-openai v1.42.0 github.com/sirupsen/logrus v1.9.4 - github.com/slack-go/slack v0.27.0 github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 github.com/spf13/cobra v1.10.2 github.com/spf13/pflag v1.0.10 github.com/spf13/viper v1.21.0 github.com/stretchr/testify v1.11.1 - github.com/stripe/stripe-go/v84 v84.4.1 - github.com/tidwall/gjson v1.19.0 - github.com/tiktoken-go/tokenizer v0.8.1 github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31 github.com/uptrace/opentelemetry-go-extra/otellogrus v0.3.2 github.com/xiam/dig v0.0.0-20191116195832-893b5fb5093b github.com/zclconf/go-cty v1.19.0 - gitlab.com/gitlab-org/api/client-go/v2 v2.56.0 go.etcd.io/bbolt v1.5.0 go.opentelemetry.io/contrib/detectors/aws/ec2/v2 v2.0.0-20250901115419-474a7992e57c go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 @@ -201,7 +152,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.45.0 - go.opentelemetry.io/otel/metric v1.45.0 + go.opentelemetry.io/otel/metric v1.45.0 // indirect go.opentelemetry.io/otel/sdk v1.45.0 go.opentelemetry.io/otel/trace v1.45.0 go.uber.org/automaxprocs v1.6.0 @@ -212,22 +163,19 @@ require ( golang.org/x/oauth2 v0.36.0 golang.org/x/sync v0.22.0 golang.org/x/text v0.40.0 - golang.org/x/time v0.15.0 + golang.org/x/time v0.15.0 // indirect gonum.org/v1/gonum v0.17.0 google.golang.org/api v0.292.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d google.golang.org/grpc v1.83.0 google.golang.org/protobuf v1.36.12-0.20260806062936-644d0267c26e gopkg.in/ini.v1 v1.67.3 - gopkg.in/yaml.v3 v3.0.1 + gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/api v0.36.3 k8s.io/apimachinery v0.36.3 k8s.io/client-go v0.36.3 - k8s.io/component-base v0.36.3 - riverqueue.com/riverui v0.17.0 - sigs.k8s.io/controller-runtime v0.24.1 sigs.k8s.io/kind v0.32.0 - sigs.k8s.io/structured-merge-diff/v6 v6.4.2 + sigs.k8s.io/structured-merge-diff/v6 v6.4.2 // indirect ) require ( @@ -244,12 +192,10 @@ require ( github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.57.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.57.0 // indirect github.com/ProtonMail/go-crypto v1.4.1 // indirect - github.com/PuerkitoBio/rehttp v1.4.0 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/alecthomas/chroma/v2 v2.16.0 // indirect github.com/alecthomas/kingpin/v2 v2.4.0 // indirect github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect - github.com/andybalholm/brotli v1.1.1 // indirect github.com/antithesishq/antithesis-sdk-go v0.7.2-default-no-op // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/apache/arrow/go/v15 v15.0.2 // indirect @@ -269,10 +215,6 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/aymerick/douceur v0.2.0 // indirect - github.com/bahlo/generic-list-go v0.2.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/blang/semver/v4 v4.0.0 // indirect - github.com/buger/jsonparser v1.1.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charmbracelet/colorprofile v0.4.3 // indirect github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834 // indirect; being pulled by glamour, this will be resolved in https://github.com/charmbracelet/glamour/pull/408 @@ -290,47 +232,31 @@ require ( github.com/containerd/console v1.0.5 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect github.com/dlclark/regexp2 v1.11.5 // indirect - github.com/dlclark/regexp2/v2 v2.5.1 // indirect - github.com/dylibso/observe-sdk/go v0.0.0-20240828172851-9145d8ad07e1 // indirect github.com/emicklei/go-restful/v3 v3.13.0 // indirect github.com/envoyproxy/go-control-plane/envoy v1.37.0 // indirect github.com/envoyproxy/protoc-gen-validate v1.3.3 // indirect github.com/evanphx/json-patch/v5 v5.9.11 // indirect - github.com/extism/go-sdk v1.7.1 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.1.0 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.12 // indirect - github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6 // indirect github.com/go-logr/logr v1.4.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-logr/zapr v1.3.0 // indirect github.com/go-openapi/jsonpointer v0.21.1 // indirect github.com/go-openapi/jsonreference v0.21.0 // indirect github.com/go-openapi/swag v0.23.1 // indirect - github.com/go-playground/locales v0.14.1 // indirect - github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.30.1 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect - github.com/gobwas/glob v0.2.3 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect - github.com/google/go-querystring v1.2.0 // indirect github.com/google/go-tpm v0.9.8 // indirect - github.com/google/jsonschema-go v0.4.3 // indirect - github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 // indirect github.com/google/s2a-go v0.1.9 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.19 // indirect github.com/gookit/color v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect - github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -351,28 +277,18 @@ require ( github.com/hashicorp/terraform-registry-address v0.4.0 // indirect github.com/hashicorp/terraform-svchost v0.2.1 // indirect github.com/hashicorp/yamux v0.1.2 // indirect - github.com/ianlancetaylor/demangle v0.0.0-20251118225945-96ee0021ea0f // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jackc/pgerrcode v0.0.0-20250907135507-afb5586c32a6 // 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/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.19.0 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect - github.com/leodido/go-urn v1.4.0 // indirect github.com/lestrrat-go/blackmagic v1.0.4 // indirect github.com/lestrrat-go/dsig v1.0.0 // indirect github.com/lestrrat-go/dsig-secp256k1 v1.0.0 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect - github.com/lestrrat-go/httprc v1.0.6 // indirect github.com/lestrrat-go/httprc/v3 v3.0.3 // indirect - github.com/lestrrat-go/iter v1.0.2 // indirect - github.com/lestrrat-go/jwx/v2 v2.1.6 // indirect github.com/lestrrat-go/jwx/v3 v3.0.13 // indirect - github.com/lestrrat-go/option v1.0.1 // indirect github.com/lestrrat-go/option/v2 v2.0.0 // indirect github.com/lucasb-eyer/go-colorful v1.4.0 // indirect github.com/mailru/easyjson v0.9.0 // indirect @@ -397,32 +313,15 @@ require ( github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/pkoukk/tiktoken-go v0.1.7 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.23.2 // indirect - github.com/prometheus/client_model v0.6.2 // indirect - github.com/prometheus/common v0.67.5 // indirect - github.com/prometheus/procfs v0.19.2 // indirect - github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e // indirect - github.com/riverqueue/river/riverdriver v0.43.0 // indirect - github.com/riverqueue/river/rivershared v0.43.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/sagikazarmark/locafero v0.11.0 // indirect - github.com/samber/lo v1.53.0 // indirect - github.com/samber/slog-common v0.21.0 // indirect github.com/segmentio/asm v1.2.1 // indirect - github.com/segmentio/encoding v0.5.4 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect github.com/spiffe/go-spiffe/v2 v2.7.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816 // indirect - github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 // indirect - github.com/tetratelabs/wazero v1.11.0 // indirect - github.com/tidwall/match v1.2.0 // indirect - github.com/tidwall/pretty v1.2.1 // indirect - github.com/tidwall/sjson v1.2.5 // indirect github.com/uptrace/opentelemetry-go-extra/otelutil v0.3.2 // indirect github.com/valyala/fastjson v1.6.7 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect @@ -432,23 +331,17 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect github.com/xiam/to v0.0.0-20191116183551-8328998fc0ed // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect - github.com/yosida95/uritemplate/v3 v3.0.2 // indirect github.com/yuin/goldmark v1.7.10 // indirect github.com/yuin/goldmark-emoji v1.0.5 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect - go.devnw.com/structs v1.0.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/detectors/gcp v1.44.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 // indirect go.opentelemetry.io/otel/log v0.11.0 // indirect go.opentelemetry.io/otel/schema v0.0.17 // indirect go.opentelemetry.io/otel/sdk/metric v1.45.0 // indirect go.opentelemetry.io/proto/otlp v1.11.0 // indirect - go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.27.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - go.yaml.in/yaml/v4 v4.0.0-rc.2 // indirect golang.org/x/crypto v0.54.0 // indirect golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect golang.org/x/mod v0.38.0 // indirect @@ -457,24 +350,17 @@ require ( golang.org/x/term v0.45.0 // indirect golang.org/x/tools v0.47.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect - gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20260519071638-aa98bba5eb94 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - k8s.io/apiextensions-apiserver v0.36.0 // indirect - k8s.io/apiserver v0.36.0 // indirect k8s.io/klog/v2 v2.140.0 // indirect k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect - k8s.io/streaming v0.36.3 // indirect k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect - sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) -require golang.org/x/image v0.44.0 - -require github.com/SherClockHolmes/webpush-go v1.4.0 +require github.com/go-test/deep v1.1.1 // indirect diff --git a/go.sum b/go.sum index 05e2d0f3..dc72321a 100644 --- a/go.sum +++ b/go.sum @@ -10,10 +10,6 @@ atomicgo.dev/schedule v0.1.0 h1:nTthAbhZS5YZmgYbb2+DH8uQIZcTlIrd4eYr3UQxEjs= atomicgo.dev/schedule v0.1.0/go.mod h1:xeUa3oAkiuHYh8bKiQBRojqAMq3PXXbJujjb0hw8pEU= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1 h1:fXh8CsdNpjRr8R5vFdqtIxPt/Lno2IIJlYOdZBIZn0w= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260709200747-435963d16310.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= -buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260805103418-70b5c163d960.1 h1:LTkLnk0A+4btUtpFbl6vGpDARdBVoCVvwecg9l0x0sA= -buf.build/gen/go/depot/api/connectrpc/go v1.20.0-20260805103418-70b5c163d960.1/go.mod h1:i5wVtJxXAy9f0pelwW82O+87WHPasmiAiRR4dj3XSmM= -buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260805103418-70b5c163d960.1 h1:1rz7DZ2u3aPYuq9ygqVd3eou0uCCOJODd2FcRZrb3BY= -buf.build/gen/go/depot/api/protocolbuffers/go v1.36.11-20260805103418-70b5c163d960.1/go.mod h1:flLy9CsWgmK0R+28/i1wH9jkYcDoin4b6bzOhw/uXaQ= buf.build/go/protovalidate v1.2.0 h1:DQVrUWkmGTBij+kOYv/x2LLxwcLaGKMdzShj1/6/3H0= buf.build/go/protovalidate v1.2.0/go.mod h1:7rYiQEhqvAipoazpVNBBH2S2f8bjG4huMVy1V2Yofn4= cel.dev/expr v0.25.2 h1:K6j46C81hXtZQfuX60cVWQFBJahKSE2gfRbNuvr5bFs= @@ -86,12 +82,8 @@ cloud.google.com/go/trace v1.16.0 h1:GmQovzFc5F0CNfl0VLgL64aoTtu7xsM0YajW2GlG9+E cloud.google.com/go/trace v1.16.0/go.mod h1:r+bdAn16dKLSV1G2D5v3e58IlQlizfxWrUfjx7kM7X0= connectrpc.com/connect v1.20.0 h1:6TNDAB+WeNd2uolWNlYczB5E0KNNaVMNUEx8JEUsPmQ= connectrpc.com/connect v1.20.0/go.mod h1:A2ygJrukXwWy32vkCAAHNVguZrqZ+jeZ9rGRnGR4dN4= -connectrpc.com/otelconnect v0.9.0 h1:NggB3pzRC3pukQWaYbRHJulxuXvmCKCKkQ9hbrHAWoA= -connectrpc.com/otelconnect v0.9.0/go.mod h1:AEkVLjCPXra+ObGFCOClcJkNjS7zPaQSqvO0lCyjfZc= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -github.com/1password/onepassword-sdk-go v0.4.1 h1:My/Q2QXemep0I0qHgGrOs7EEzpPh2QZ1/II+S3YqOG0= -github.com/1password/onepassword-sdk-go v0.4.1/go.mod h1:j/CbzhucTywjlYrd6SE6k0LcQaFZ2l8OLBsAsOYtvD0= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0 h1:aokoqcHvaGjiM3VpjKDfMMnF/8epJ+Q1HLJ7CudztqE= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0/go.mod h1:/WYEx9pcM9Y+Dd/APJaNlSvVSvzl54rrMdZT5+Oi2LM= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 h1:CU4+EJeJi3TKYWEcYuSdWsjzw0nVsK/H0MSQOiPcymU= @@ -164,18 +156,8 @@ github.com/MrAlias/otel-schema-utils v0.4.0-alpha h1:6ZG9rw4NvxKwRp2Bmnfr8WJZVWL github.com/MrAlias/otel-schema-utils v0.4.0-alpha/go.mod h1:baehOhES9qiLv9xMcsY6ZQlKLBRR89XVJEvU7Yz3qJk= github.com/ProtonMail/go-crypto v1.4.1 h1:9RfcZHqEQUvP8RzecWEUafnZVtEvrBVL9BiF67IQOfM= github.com/ProtonMail/go-crypto v1.4.1/go.mod h1:e1OaTyu5SYVrO9gKOEhTc+5UcXtTUa+P3uLudwcgPqo= -github.com/PuerkitoBio/rehttp v1.4.0 h1:rIN7A2s+O9fmHUM1vUcInvlHj9Ysql4hE+Y0wcl/xk8= -github.com/PuerkitoBio/rehttp v1.4.0/go.mod h1:LUwKPoDbDIA2RL5wYZCNsQ90cx4OJ4AWBmq6KzWZL1s= -github.com/SherClockHolmes/webpush-go v1.4.0 h1:ocnzNKWN23T9nvHi6IfyrQjkIc0oJWv1B1pULsf9i3s= -github.com/SherClockHolmes/webpush-go v1.4.0/go.mod h1:XSq8pKX11vNV8MJEMwjrlTkxhAj1zKfxmyhdV7Pd6UA= -github.com/a-h/templ v0.3.1020 h1:ypAT/L5ySWEnZ6Zft/5yfoWXYYkhFNvEFOeeqecg4tw= -github.com/a-h/templ v0.3.1020/go.mod h1:A2DlK61v+K+NRoGnhmYbNYVmtYHcFO5/AisMvBdDxTM= -github.com/adrg/strutil v0.3.1 h1:OLvSS7CSJO8lBii4YmBt8jiK9QOtB9CzCzwl4Ic/Fz4= -github.com/adrg/strutil v0.3.1/go.mod h1:8h90y18QLrs11IBffcGX3NW/GFBXCMcNg4M7H6MspPA= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/akedrou/textdiff v0.1.0 h1:K7nbOVQju7/coCXnJRJ2fsltTwbSvC+M4hKBUJRBRGY= -github.com/akedrou/textdiff v0.1.0/go.mod h1:a9CCC49AKtFTmVDNFHDlCg7V/M7C7QExDAhb2SkL6DQ= github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= github.com/alecthomas/chroma/v2 v2.16.0 h1:QC5ZMizk67+HzxFDjQ4ASjni5kWBTGiigRG1u23IGvA= @@ -186,12 +168,6 @@ github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= -github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA= -github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA= -github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4 h1:TdGQS+RoR4AUO6gqUL74yK1dz/Arrt/WG+dxOj6Yo6A= -github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.4/go.mod h1:GJxtdOs9K4neo8Gg65CjJ7jNautmldGli5/OFNabOoo= -github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antithesishq/antithesis-sdk-go v0.7.2-default-no-op h1:p2zFsAzvhIpFya8AIOHIbWf7NGvO34QpLGclyf7nXj8= github.com/antithesishq/antithesis-sdk-go v0.7.2-default-no-op/go.mod h1:FQyySiasQQM8735Ddel3MRojmy4dA1IqCeyJ5jmPMbI= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= @@ -203,8 +179,6 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/apparentlymart/go-textseg/v17 v17.0.1 h1:bpMXRgQ5cEoRNuQke1a80/Nl6w3G5eoIbWo9f3gXkAs= github.com/apparentlymart/go-textseg/v17 v17.0.1/go.mod h1:fa8X4jgGeevslICIY6LcdjkSecWnXmYd9Lk34z/VxZs= -github.com/auth0/go-auth0/v2 v2.14.0 h1:zDxwRHGAt6gLK/OG6wAkB5ScQEJ8WW/ex1EnJig8fFc= -github.com/auth0/go-auth0/v2 v2.14.0/go.mod h1:Q/Y3VZVoI3sw87VyTPhx2TQL6Sq4Q/iCP67rW2gcn+M= github.com/auth0/go-jwt-middleware/v3 v3.3.0 h1:nRALRLGsUdWgxX0knqwp60YxiYypeZYfhr+yFCvHoGY= github.com/auth0/go-jwt-middleware/v3 v3.3.0/go.mod h1:WXL/zFf3nuQJWQOVj3hGUQ289ixKVSrFGwZn6LxaQsw= github.com/aws/aws-sdk-go-v2 v1.43.4 h1:b9FTvbRwy+JCsfp2Wp6wV/KbOx3Aj7nkoFb2cRX0IhE= @@ -273,8 +247,6 @@ github.com/aws/aws-sdk-go-v2/service/route53 v1.65.6 h1:MDZUFQEVG3S6W+VmhQ9qlbpr github.com/aws/aws-sdk-go-v2/service/route53 v1.65.6/go.mod h1:mh85zjA/hf1PtItwFXA9Yb/2zgUCEYpkN9QmzrK4RNc= github.com/aws/aws-sdk-go-v2/service/s3 v1.107.0 h1:OkYV+1171za+ab9otU1tGxMXhx6uZvwVEtVddjLuYTg= github.com/aws/aws-sdk-go-v2/service/s3 v1.107.0/go.mod h1:5FTZoQxhmLEiCAtYVk6V+t0iS/B5yGZVLZ3Wq5FDJZI= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.4 h1:br4Yg9yZfFggiPLgSh4ud7oLxXeG4r/UFysUiPFBYD0= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.4/go.mod h1:f3Jidj1KNnUeGCuKpAhazEpxIFCVyu5+RDAB6OXt1/s= github.com/aws/aws-sdk-go-v2/service/signin v1.5.4 h1:cOJELVNrq5Q3Udry2GLuHUM7MhwpeaQRdYaoa6GI/yI= github.com/aws/aws-sdk-go-v2/service/signin v1.5.4/go.mod h1:f4LxzKBtaTxD7xh3PiVg3CE1tchQemfmghaJr+NbK2c= github.com/aws/aws-sdk-go-v2/service/sns v1.42.4 h1:cregOIHGsHahN/VX2Jd7oPjYSF0HUnz9YUJDHKsZJMU= @@ -291,34 +263,16 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.45.4 h1:w/AryDYMjSUANSQ2uoZxJovUsMTw github.com/aws/aws-sdk-go-v2/service/sts v1.45.4/go.mod h1:WeBiAa67azG7Su9Vf+ChGDBLiAozJCXzdjXiPBUwtbc= github.com/aws/smithy-go v1.27.7 h1:Zgj5z4LfcDYoQIVk+n/yGdTkP/2y6ZT5vYxe0fp7bqE= github.com/aws/smithy-go v1.27.7/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= -github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= -github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0/go.mod h1:6L7zgvqo0idzI7IO8de6ZC051AfXb5ipkIJ7bIA2tGA= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/aymanbagabas/go-udiff v0.4.1 h1:OEIrQ8maEeDBXQDoGCbbTTXYJMYRCRO1fnodZ12Gv5o= github.com/aymanbagabas/go-udiff v0.4.1/go.mod h1:0L9PGwj20lrtmEMeyw4WKJ/TMyDtvAoK9bf2u/mNo3w= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= -github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= -github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/bombsimon/logrusr/v4 v4.1.0 h1:uZNPbwusB0eUXlO8hIUwStE6Lr5bLN6IgYgG+75kuh4= -github.com/bombsimon/logrusr/v4 v4.1.0/go.mod h1:pjfHC5e59CvjTBIU3V3sGhFWFAnsnhOR03TRc6im0l8= -github.com/bradleyfalzon/ghinstallation/v2 v2.19.0 h1:KQfD+43pRw9NUJhGycGrFr9vF1MubZacksKol1gomFI= -github.com/bradleyfalzon/ghinstallation/v2 v2.19.0/go.mod h1:fe5ECIhCdEnxwLiBlNTxx9CP455wt42BELnlDVMvaAA= github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4= github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= -github.com/brianvoe/gofakeit/v7 v7.15.0 h1:kGLYAWN8tnmxq2PelKVK6zwpM7kMxdz9SGPH31mFkNs= -github.com/brianvoe/gofakeit/v7 v7.15.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw= github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c= -github.com/buger/jsonparser v1.1.2 h1:frqHqw7otoVbk5M8LlE/L7HTnIq2v9RX6EJ48i9AxJk= -github.com/buger/jsonparser v1.1.2/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -357,8 +311,6 @@ github.com/coder/websocket v1.8.15 h1:6B2JPeOGlpff2Uz6vOEH1Vzpi0iUz20A+lPVhPHtNU github.com/coder/websocket v1.8.15/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= github.com/containerd/console v1.0.5 h1:R0ymNeydRqH2DmakFNdmjR2k0t7UPuiOV/N/27/qqsc= github.com/containerd/console v1.0.5/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= -github.com/coreos/go-oidc/v3 v3.20.0 h1:EtE0WIBHk03N+DqGkY4+UONzzZHk7amKt6IyNd7OsZE= -github.com/coreos/go-oidc/v3 v3.20.0/go.mod h1:DYCf24+ncYi+XkIH97GY1+dqoRlbaSI26KVTCI9SrY4= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= @@ -370,11 +322,6 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvw github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ= github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/dlclark/regexp2/v2 v2.5.1 h1:E5Ug7Dh264W1ymdySmiHNcDG7fmsR307APCE5R07a20= -github.com/dlclark/regexp2/v2 v2.5.1/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dylibso/observe-sdk/go v0.0.0-20240828172851-9145d8ad07e1 h1:idfl8M8rPW93NehFw5H1qqH8yG158t5POr+LX9avbJY= -github.com/dylibso/observe-sdk/go v0.0.0-20240828172851-9145d8ad07e1/go.mod h1:C8DzXehI4zAbrdlbtOByKX6pfivJTBiV9Jjqv56Yd9Q= github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= @@ -387,12 +334,8 @@ github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 h1:/G9QYbddjL25KvtKTv3an github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.3.3 h1:MVQghNeW+LZcmXe7SY1V36Z+WFMDjpqGAGacLe2T0ds= github.com/envoyproxy/protoc-gen-validate v1.3.3/go.mod h1:TsndJ/ngyIdQRhMcVVGDDHINPLWB7C82oDArY51KfB0= -github.com/evanphx/json-patch v0.5.2 h1:xVCHIVMUu1wtM/VkR9jVZ45N3FhZfYMMYGorLCR8P3k= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= -github.com/extism/go-sdk v1.7.1 h1:lWJos6uY+tRFdlIHR+SJjwFDApY7OypS/2nMhiVQ9Sw= -github.com/extism/go-sdk v1.7.1/go.mod h1:IT+Xdg5AZM9hVtpFUA+uZCJMge/hbvshl8bwzLtFyKA= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= @@ -404,16 +347,8 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= -github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= -github.com/gabriel-vasile/mimetype v1.4.12/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= github.com/getsentry/sentry-go v0.48.0 h1:FRZNr7Uk1C86ev1bSJmYlUkL9oyivQA6YOcdYfaaMmY= github.com/getsentry/sentry-go v0.48.0/go.mod h1:E5UkA5wp1qR2+MDydNYlVeUiNN2xEdjYMidkgf0Qoss= -github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= -github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= -github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= -github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= -github.com/gkampitakis/go-snaps v0.5.15 h1:amyJrvM1D33cPHwVrjo9jQxX8g/7E2wYdZ+01KS3zGE= -github.com/gkampitakis/go-snaps v0.5.15/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -424,44 +359,23 @@ github.com/go-git/go-git/v5 v5.19.2 h1:wkfn7vOlUBu8ivAWKBWisTiwJK4jYHzTF8Ndv1LyG github.com/go-git/go-git/v5 v5.19.2/go.mod h1:QqCBE1EFN5ddFmrliLQ3/ntRCUjZU3EJuwuB/jWEHjk= github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA= github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= -github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6 h1:nxP4pPoyqOAgX8lYDFCfl3DyKeXErCvSvhcyzwGV9CE= -github.com/go-json-experiment/json v0.0.0-20260601182631-00ed12fed2a6/go.mod h1:tphK2c80bpPhMOI4v6bIc2xWywPfbqi1Z06+RcrMkDg= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.4 h1:tG4xh9yMsRCAiodLVTxyrkzSZ9+o0L1Kg/+cPVcbP/8= github.com/go-logr/logr v1.4.4/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= -github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-openapi/jsonpointer v0.21.1 h1:whnzv/pNXtK2FbX/W9yJfRmE2gsmkfahjMKB0fZvcic= github.com/go-openapi/jsonpointer v0.21.1/go.mod h1:50I1STOfbY1ycR8jGz8DaMeLCdXiI6aDteEdRNNzpdk= github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZU= github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0= -github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= -github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= -github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= -github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.30.1 h1:f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w= -github.com/go-playground/validator/v10 v10.30.1/go.mod h1:oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= 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/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= -github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= @@ -481,24 +395,13 @@ github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnL github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 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/go-github/v88 v88.0.0 h1:dZA9IKkPK1eXZj4ypngnpRj5FwdpTv4whix2PrQMP7M= -github.com/google/go-github/v88 v88.0.0/go.mod h1:rufTDgn2N45wjhukLTyxmvc9nilSp3mr3Rgtt6b1MPw= -github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0= -github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU= github.com/google/go-tpm v0.9.8 h1:slArAR9Ft+1ybZu0lBwpSmpwhRXaa85hWtMinMyRAWo= github.com/google/go-tpm v0.9.8/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/jsonschema-go v0.4.3 h1:/DBOLZTfDow7pe2GmaJNhltueGTtDKICi8V8p+DQPd0= -github.com/google/jsonschema-go v0.4.3/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE= github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= -github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 h1:EwtI+Al+DeppwYX2oXJCETMO23COyaKGP6fHVpkpWpg= -github.com/google/pprof v0.0.0-20260402051712-545e8a4df936/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= @@ -517,14 +420,8 @@ github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e h1:XmA6L9IP github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e/go.mod h1:AFIo+02s+12CEg8Gzz9kzhCbmbq6JcKNrhHffCGA9z4= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= -github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= -github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= -github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= -github.com/harness/harness-go-sdk v0.8.19 h1:q5cq91znw54JtRSreDzPfQuCaxphSNVFTOFTmam74D0= -github.com/harness/harness-go-sdk v0.8.19/go.mod h1:iEAGFfIm0MOFJxN6tqMQSPZiEO/Dz1joLDHrkEU3lps= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -548,8 +445,6 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= -github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hc-install v0.9.4 h1:KKWOpUG0EqIV63Qk2GGFrZ0s275NVs5lKf9N5vjBNoc= github.com/hashicorp/hc-install v0.9.4/go.mod h1:4LRYeEN2bMIFfIv57ldMWt9awfuZhvpbRt0vWmv51WU= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= @@ -582,22 +477,8 @@ github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8 github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/ianlancetaylor/demangle v0.0.0-20251118225945-96ee0021ea0f h1:Fnl4pzx8SR7k7JuzyW8lEtSFH6EQ8xgcypgIn8pcGIE= -github.com/ianlancetaylor/demangle v0.0.0-20251118225945-96ee0021ea0f/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/invopop/jsonschema v0.14.0 h1:MHQqLhvpNUZfw+hM3AZDYK7jxO8FZoQeQM77g8iyZjg= -github.com/invopop/jsonschema v0.14.0/go.mod h1:ygm6C2EaVNMBDPpaPlnOA2pFAxBnxGjFlMZABxm9n2I= -github.com/jackc/pgerrcode v0.0.0-20250907135507-afb5586c32a6 h1:D/V0gu4zQ3cL2WKeVNVM4r2gLxGGf6McLwgXzRTo2RQ= -github.com/jackc/pgerrcode v0.0.0-20250907135507-afb5586c32a6/go.mod h1:a/s9Lp5W7n/DD0VrVoyJ00FbP2ytTPDVOivvn2bMlds= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= -github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.10.0 h1:VhSvgU2jSli8o3AqIEOTJr7rZwAEUVo4E4XhR94Zfr0= -github.com/jackc/pgx/v5 v5.10.0/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4= -github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= -github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A= github.com/jarcoal/httpmock v1.4.1/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= @@ -606,18 +487,10 @@ github.com/jedib0t/go-pretty/v6 v6.8.3 h1:yVSk5aemoYHCvcrtqyXklwqcgHQIQzmy/oUzFl github.com/jedib0t/go-pretty/v6 v6.8.3/go.mod h1:YwC5CE4fJ1HFUDeivSV1r//AmANFHyqczZk+U6BDALU= github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= -github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= -github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE= -github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= 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/jxskiss/base62 v1.1.0 h1:A5zbF8v8WXx2xixnAKD2w+abC+sIzYJX+nxmhA6HWFw= -github.com/jxskiss/base62 v1.1.0/go.mod h1:HhWAlUXvxKThfOlZbcuFzsqwtF5TcqS9ru3y5GfjWAc= -github.com/kaptinlin/jsonrepair v0.4.8 h1:9oaoEe/vaKgm8ko4TLjBLUEog6tBW6WUzZXLPL2yTCk= -github.com/kaptinlin/jsonrepair v0.4.8/go.mod h1:eWRC42KDUT0MHkMplUN6necu59FQFqKOKe+86akpY3g= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= @@ -626,7 +499,6 @@ github.com/klauspost/compress v1.19.0 h1:sXLILfc9jV2QYWkzFOPWStmcUVH2RHEB1JCdY2o github.com/klauspost/compress v1.19.0/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= 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/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -636,8 +508,6 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= -github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/lestrrat-go/blackmagic v1.0.4 h1:IwQibdnf8l2KoO+qC3uT4OaTWsW7tuRQXy9TRN9QanA= github.com/lestrrat-go/blackmagic v1.0.4/go.mod h1:6AWFyKNNj0zEXQYfTMPfZrAXUWUfTIZ5ECEUEJaijtw= github.com/lestrrat-go/dsig v1.0.0 h1:OE09s2r9Z81kxzJYRn07TFM9XA4akrUdoMwr0L8xj38= @@ -646,18 +516,10 @@ github.com/lestrrat-go/dsig-secp256k1 v1.0.0 h1:JpDe4Aybfl0soBvoVwjqDbp+9S1Y2OM7 github.com/lestrrat-go/dsig-secp256k1 v1.0.0/go.mod h1:CxUgAhssb8FToqbL8NjSPoGQlnO4w3LG1P0qPWQm/NU= github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/httprc v1.0.6 h1:qgmgIRhpvBqexMJjA/PmwSvhNk679oqD1RbovdCGW8k= -github.com/lestrrat-go/httprc v1.0.6/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= github.com/lestrrat-go/httprc/v3 v3.0.3 h1:WjLHWkDkgWXeIUrKi/7lS/sGq2DjkSAwdTbH5RHXAKs= github.com/lestrrat-go/httprc/v3 v3.0.3/go.mod h1:mSMtkZW92Z98M5YoNNztbRGxbXHql7tSitCvaxvo9l0= -github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= -github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= -github.com/lestrrat-go/jwx/v2 v2.1.6 h1:hxM1gfDILk/l5ylers6BX/Eq1m/pnxe9NBwW6lVfecA= -github.com/lestrrat-go/jwx/v2 v2.1.6/go.mod h1:Y722kU5r/8mV7fYDifjug0r8FK8mZdw0K0GpJw/l8pU= github.com/lestrrat-go/jwx/v3 v3.0.13 h1:AdHKiPIYeCSnOJtvdpipPg/0SuFh9rdkN+HF3O0VdSk= github.com/lestrrat-go/jwx/v3 v3.0.13/go.mod h1:2m0PV1A9tM4b/jVLMx8rh6rBl7F6WGb3EG2hufN9OQU= -github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= -github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lestrrat-go/option/v2 v2.0.0 h1:XxrcaJESE1fokHy3FpaQ/cXW8ZsIdWcdFzzLOcID3Ss= github.com/lestrrat-go/option/v2 v2.0.0/go.mod h1:oSySsmzMoR0iRzCDCaUfsCzxQHUEuhOViQObyy7S6Vg= github.com/lithammer/fuzzysearch v1.1.8 h1:/HIuJnjHuXS8bKaiTMeeDlW2/AyIWk2brx1V8LFgLN4= @@ -666,8 +528,6 @@ github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= -github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= -github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= @@ -679,12 +539,6 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw= github.com/mattn/go-runewidth v0.0.23/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= -github.com/mavolin/go-htmx v1.0.0 h1:43rZuemWd23zrMcTU939EsflXjOPxtHy9VraT1CZ6qQ= -github.com/mavolin/go-htmx v1.0.0/go.mod h1:r6O09gzKou9kutq3UiDPZ//Q7IeBCMcs8US5/sHFbvg= -github.com/mergestat/timediff v0.0.4 h1:NZ3sqG/6K9flhTubdltmRx3RBfIiYv6LsGP+4FlXMM8= -github.com/mergestat/timediff v0.0.4/go.mod h1:yvMUaRu2oetc+9IbPLYBJviz6sA7xz8OXMDfhBl7YSI= -github.com/mfridman/tparse v0.18.0 h1:wh6dzOKaIwkUGyKgOntDW4liXSo37qg5AXbIhkMV3vE= -github.com/mfridman/tparse v0.18.0/go.mod h1:gEvqZTuCgEhPbYk/2lS3Kcxg1GmTxxU7kTC8DvP0i/A= github.com/micahhausler/aws-iam-policy v0.4.4 h1:1aMhJ+0CkvUJ8HGN1chX+noXHs8uvGLkD7xIBeYd31c= github.com/micahhausler/aws-iam-policy v0.4.4/go.mod h1:H+yWljTu4XWJjNJJYgrPUai0AUTGNHc8pumkN57/foI= github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk= @@ -697,8 +551,6 @@ github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa1 github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= -github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= @@ -707,8 +559,6 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modelcontextprotocol/go-sdk v1.7.0 h1:yqjY2dsbKAC0LSuWZVBMrHgiG8ukXv6NRo0JiALay44= -github.com/modelcontextprotocol/go-sdk v1.7.0/go.mod h1:dL7u98E/zjJTGzEq+j30jQ8K2k1mb6LeAH4inEcSGts= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= 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= @@ -733,26 +583,12 @@ github.com/nats-io/nkeys v0.4.16 h1:rd5oAuLOb8mnAycB0xleuEBNS1pVVnN0fv/FF34Eypg= github.com/nats-io/nkeys v0.4.16/go.mod h1:llLgWoI0o4z/Q57q2R1kHfmocyhGV6VG/U18Glg1Afs= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neo4j/neo4j-go-driver/v6 v6.2.0 h1:5gxdBkCAY+jD/Tv6goqctLk3AdaVFU8MQU4t3n04SsU= -github.com/neo4j/neo4j-go-driver/v6 v6.2.0/go.mod h1:hzSTfNfM31p1uRSzL1F/BAYOgaiTarE6OAQBajfsm+I= github.com/oklog/run v1.2.0 h1:O8x3yXwah4A73hJdlrwo/2X6J62gE5qTMusH0dvz60E= github.com/oklog/run v1.2.0/go.mod h1:mgDbKRSwPhJfesJ4PntqFUbKQRZ50NgmZTSPlFA0YFk= -github.com/onsi/ginkgo/v2 v2.32.0 h1:Hw7s2pVrQo/8Yz5N77qdnpHaoc+c6cC9WIV1Jce+J6E= -github.com/onsi/ginkgo/v2 v2.32.0/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= -github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I= -github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg= -github.com/openai/openai-go/v3 v3.50.0 h1:CXn+C8a10oQiI5CMyMbCiykhITVhVxhdHX8j3CfLa2U= -github.com/openai/openai-go/v3 v3.50.0/go.mod h1:Ogjo0gDct+Jm7yCqaCjLGQGygeV8xNfNHV1/yKvCji0= github.com/openrdap/rdap v0.10.1 h1:+FT6HT7gzAnmKxgy6p1iCnhyaf++Q9Lkq1L9sk8J5IY= github.com/openrdap/rdap v0.10.1/go.mod h1:JHgco+RQ9lApvLbQ4GiJ/aJJHhbdgVvjI8tqOAYkOV0= -github.com/overmindtech/otelpgx v0.0.0-20260518092812-9a74fcacfd49 h1:THDCq6kD417YIlex+sBmoRbGODL9fGcJ2y+ld8EkWLk= -github.com/overmindtech/otelpgx v0.0.0-20260518092812-9a74fcacfd49/go.mod h1:J0I5A8R34EkvIcsbSOKrZExJE8uDxX2cwNIPRLR12iA= github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297 h1:ih4bqBMHTCtg3lMwJszNkMGO9n7Uoe0WX5be1/x+s+g= github.com/overmindtech/pterm v0.0.0-20240919144758-04d94ccb2297/go.mod h1:bRQZYnvLrW1S5wYT6tbQnun8NpO5X6zP5cY3VKuDc4U= -github.com/pb33f/ordered-map/v2 v2.3.1 h1:5319HDO0aw4DA4gzi+zv4FXU9UlSs3xGZ40wcP1nBjY= -github.com/pb33f/ordered-map/v2 v2.3.1/go.mod h1:qxFQgd0PkVUtOMCkTapqotNgzRhMPL7VvaHKbd1HnmQ= -github.com/pborman/ansi v1.3.0 h1:pBgNfKbeLsyKnXk7TmQnY37Q2iaKr01H98cd5KlhByU= -github.com/pborman/ansi v1.3.0/go.mod h1:b2vwWf2ghGKNBvWEWCNuITd/lLQNse9XtCQpJMFK3wk= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= @@ -767,81 +603,34 @@ github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmd github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= 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.7 h1:qOBHXX4PHtvIvmOtyg1EeKlwFRiMKAcoMp4Q+bLQDmw= -github.com/pkoukk/tiktoken-go v0.1.7/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= -github.com/posthog/posthog-go v1.23.0 h1:Uj/mHGBRY+VutTMAtK79Lbha5lHCyYEuZypLtfWjQbI= -github.com/posthog/posthog-go v1.23.0/go.mod h1://M430hNH3e8CDv4i8SJesb26816Mpa6GIZaiP4pNQU= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= -github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= -github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= -github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= -github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= -github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= -github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= -github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= github.com/pterm/pterm v0.12.83 h1:ie+YmGmA727VuhxBlyGr74Ks+7McV6kT99IB8EU80aA= github.com/pterm/pterm v0.12.83/go.mod h1:xlgc6bFWyJIMtmLJvGim+L7jhSReilOlOnodeIYe4Tk= -github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf h1:NxGxgo0KmC8w9fdn8jLCyG1SDrR/Vxbfa1nWErS3pmw= -github.com/qhenkart/anthropic-tokenizer-go v0.0.0-20231011194518-5519949e0faf/go.mod h1:q6RK8Iv6obzk6i0rnLyYPtppwZ5uXJLloL3oxmfrwm8= -github.com/resend/resend-go/v3 v3.12.0 h1:fzoMd76NShVv1vzjym5owBYrnpA/U1GfyqvUN43Brks= -github.com/resend/resend-go/v3 v3.12.0/go.mod h1:iI7VA0NoGjWvsNii5iNC5Dy0llsI3HncXPejhniYzwE= -github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e h1:OwOgxT3MRpOj5Mp6DhFdZP43FOQOf2hhywAuT5XZCR4= -github.com/riverqueue/apiframe v0.0.0-20251229202423-2b52ce1c482e/go.mod h1:O7UmsAMjpMYuToN4au5GNXdmN1gli+5FTldgXqAfaD0= -github.com/riverqueue/river v0.43.0 h1:3Dx6D3s6x+LM64UXRNJ79LvHxbE7XHywQUbMJOKEkbg= -github.com/riverqueue/river v0.43.0/go.mod h1:cj0PdXI8jFTyNSAuVsItUhceQPYgRKdWLzBH5COLN4g= -github.com/riverqueue/river/riverdriver v0.43.0 h1:gZOXFrUO4eoltx1aS389qBcMnYu0/vHjwUiLRjhKAd0= -github.com/riverqueue/river/riverdriver v0.43.0/go.mod h1:ovNGHrKy+vhmnv973hNwEiz37d224fENQhS8mNr02eo= -github.com/riverqueue/river/riverdriver/riverpgxv5 v0.43.0 h1:bY54qI+QLzqj/89xgOWmDMxBQjoWOgG6K5G3SS4dYJo= -github.com/riverqueue/river/riverdriver/riverpgxv5 v0.43.0/go.mod h1:4TlYleXF/TcO4k7B5v1T8P/N4cznQBts2Z6/sf/X8zc= -github.com/riverqueue/river/rivershared v0.43.0 h1:MtXJCI1CFE/xs5+f6iijMwLaPufseatwd7PZBgvmb58= -github.com/riverqueue/river/rivershared v0.43.0/go.mod h1:gbL9ne9A8dtJuVzUrYvYxN9xji0UFDCcEbPPmZoi3qM= -github.com/riverqueue/river/rivertype v0.43.0 h1:zArGUikFO22poxU7MvJ4EXT/3OFKzkidyAumJrFepKI= -github.com/riverqueue/river/rivertype v0.43.0/go.mod h1:D1Ad+EaZiaXbQbJcJcfeicXJMBKno0n6UcfKI5Q7DIQ= -github.com/riverqueue/rivercontrib/otelriver v0.12.0 h1:FLY0chUrXJaIsBcxR86bASKdVM/as1qs5LVLRS9/TjY= -github.com/riverqueue/rivercontrib/otelriver v0.12.0/go.mod h1:4+HNqZ7s681x0fDyOvZm++kqo9Gwz1RtSybyM905qJw= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= -github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rodaine/protogofakeit v0.1.1 h1:ZKouljuRM3A+TArppfBqnH8tGZHOwM/pjvtXe9DaXH8= github.com/rodaine/protogofakeit v0.1.1/go.mod h1:pXn/AstBYMaSfc1/RqH3N82pBuxtWgejz1AlYpY1mI0= 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/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= -github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= -github.com/samber/lo v1.53.0 h1:t975lj2py4kJPQ6haz1QMgtId2gtmfktACxIXArw3HM= -github.com/samber/lo v1.53.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= -github.com/samber/slog-common v0.21.0 h1:Wo2hTly1Br5RjYqX/BTWJJeDnTE85oWk/7vqlpZuAUc= -github.com/samber/slog-common v0.21.0/go.mod h1:d/6OaSlzdkl9PFpfRLgn8FwY1OW6EFmPtBpsHX4MrU0= -github.com/samber/slog-logrus/v2 v2.5.4 h1:ACS0VWNDJcpFRICkgzRvBAI8ms/LH3S7KrOhAB3SQ0g= -github.com/samber/slog-logrus/v2 v2.5.4/go.mod h1:JBnv/7Gn0ef/iVy2RuRnA2qYIAc0ttlr6/9L/me8jVI= -github.com/sashabaranov/go-openai v1.42.0 h1:fgeZx7/D8dRT//PwXAGe9ylOMtj6vrs999uWF71K+f8= -github.com/sashabaranov/go-openai v1.42.0/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= github.com/segmentio/asm v1.2.1 h1:DTNbBqs57ioxAD4PrArqftgypG4/qNpXoJx8TVXxPR0= github.com/segmentio/asm v1.2.1/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= -github.com/segmentio/encoding v0.5.4 h1:OW1VRern8Nw6ITAtwSZ7Idrl3MXCFwXHPgqESYfvNt0= -github.com/segmentio/encoding v0.5.4/go.mod h1:HS1ZKa3kSN32ZHVZ7ZLPLXWvOVIiZtyJnO1gPH1sKt0= github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8= github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY= -github.com/slack-go/slack v0.27.0 h1:VWOpUzOK6UAPCCQlFxl79jhv8a/b+GOSJMnWziDJ8B8= -github.com/slack-go/slack v0.27.0/go.mod h1:UEe+jmo9WLlwHB04qsOrTDvqM7Aa4rQL3O5wF3n0hx4= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= @@ -858,16 +647,12 @@ github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjb github.com/spiffe/go-spiffe/v2 v2.7.0 h1:uXe1MflJoHw58wAUvxVlcM7WpKtijWG7I1UidcGh6g4= github.com/spiffe/go-spiffe/v2 v2.7.0/go.mod h1:47Q0Q9/AqGha8QLHp+kxpH4Wca7X7EnOtlIJy3mxZ3U= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= 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.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -875,29 +660,8 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/stretchr/testify v1.9.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/stripe/stripe-go/v84 v84.4.1 h1:ixq1fG3y0k4OORVaN+LFAMBFaWiMrvKIcR9dSqT6gD8= -github.com/stripe/stripe-go/v84 v84.4.1/go.mod h1:Z4gcKw1zl4geDG2+cjpSaJES9jaohGX6n7FP8/kHIqw= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816 h1:J6v8awz+me+xeb/cUTotKgceAYouhIB3pjzgRd6IlGk= -github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816/go.mod h1:tzym/CEb5jnFI+Q0k4Qq3+LvRF4gO3E2pxS8fHP8jcA= -github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 h1:ZF+QBjOI+tILZjBaFj3HgFonKXUcwgJ4djLb6i42S3Q= -github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834/go.mod h1:m9ymHTgNSEjuxvw8E7WWe4Pl4hZQHXONY8wE6dMLaRk= -github.com/tetratelabs/wazero v1.11.0 h1:+gKemEuKCTevU4d7ZTzlsvgd1uaToIDtlQlmNbwqYhA= -github.com/tetratelabs/wazero v1.11.0/go.mod h1:eV28rsN8Q+xwjogd7f4/Pp4xFxO7uOGbLcD/LzB1wiU= -github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.19.0 h1:xwxm7n691Uf3u5OFjzngavjGTh55KX5q/9w9xHW88JU= -github.com/tidwall/gjson v1.19.0/go.mod h1:V37/opeE/JbLUOfH0QTXiNez2l0RUjYUhpT4szFQAfc= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/match v1.2.0 h1:0pt8FlkOwjN2fPt4bIl4BoNxb98gGHN2ObFEDkrfZnM= -github.com/tidwall/match v1.2.0/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= -github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= -github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= -github.com/tiktoken-go/tokenizer v0.8.1 h1:4obDoB6/dhdBt9xMweX4nww5cjdOq/nYF4ecwPq2+mg= -github.com/tiktoken-go/tokenizer v0.8.1/go.mod h1:eLA0t6nGvn9mDc7gt90qt7pMat+gE9ViqwQ6l9B+tA4= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31 h1:OXcKh35JaYsGMRzpvFkLv/MEyPuL49CThT1pZ8aSml4= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/uptrace/opentelemetry-go-extra/otellogrus v0.3.2 h1:H8wwQwTe5sL6x30z71lUgNiwBdeCHQjrphCfLwqIHGo= @@ -925,10 +689,6 @@ github.com/xiam/to v0.0.0-20191116183551-8328998fc0ed h1:Gjnw8buhv4V8qXaHtAWPnKX github.com/xiam/to v0.0.0-20191116183551-8328998fc0ed/go.mod h1:cqbG7phSzrbdg3aj+Kn63bpVruzwDZi58CpxlZkjwzw= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= -github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= -github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= -github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4= -github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= github.com/yuin/goldmark v1.7.10 h1:S+LrtBjRmqMac2UdtB6yyCEJm+UILZ2fefI4p7o0QpI= @@ -943,10 +703,6 @@ 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.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -gitlab.com/gitlab-org/api/client-go/v2 v2.56.0 h1:2dWcjisjwmEXUZ841bzcJGoyEtCpVKXOAIMmbMPQ6YM= -gitlab.com/gitlab-org/api/client-go/v2 v2.56.0/go.mod h1:gcqiTA4aFvyvPZspm+YwnMFObw2t8K3YCXxAwJgY51g= -go.devnw.com/structs v1.0.0 h1:FFkBoBOkapCdxFEIkpOZRmMOMr9b9hxjKTD3bJYl9lk= -go.devnw.com/structs v1.0.0/go.mod h1:wHBkdQpNeazdQHszJ2sxwVEpd8zGTEsKkeywDLGbrmg= go.etcd.io/bbolt v1.5.0 h1:S7GAl7Fxv12yohbwFfIbQCGDWbQbtDGPET4P/bD4lxU= go.etcd.io/bbolt v1.5.0/go.mod h1:mkltfYE5aUHQxUct9N9V+Kp7aSjFqjgrhcXIS70Lrdk= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= @@ -963,8 +719,6 @@ go.opentelemetry.io/otel v1.45.0 h1:pdrWmLHofpubmArBv1LgFSv1Z0Ie/ppdZzu+kUN5EeU= go.opentelemetry.io/otel v1.45.0/go.mod h1:XZxIqPapzEYnhNSScF5DIqXhm/rYi0FzCe2XddAwZfQ= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0 h1:QRefszxJmfPdjXUUm3j6iDzY03mTPXMjqErFqQ67vUg= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0/go.mod h1:Tiz03lTBVBrm7eWZBOidzEaYaJa8tjwGUGv6d8mlTyk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 h1:DvJDOPmSWQHWywQS6lKL+pb8s3gBLOZUtw4N+mavW1I= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0/go.mod h1:EtekO9DEJb4/jRyN4v4Qjc2yA7AtfCBuz2FynRUWTXs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0 h1:QBajQ2SrwQijzHyZbQlPsuIzpl/ll8DY6wPWsajeGcI= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0/go.mod h1:08ZQLjrPLQ6R4kAXvuOvODEer5Yh4CoFvll5qB2BCI8= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.44.0 h1:hqxVTu/GtBF+vJ8d1fzW7fRxZFvgoDjWcxwwCaFDYpU= @@ -993,46 +747,26 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= -go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg= -go.yaml.in/yaml/v4 v4.0.0-rc.2 h1:/FrI8D64VSr4HtGIlUtlFMGsm7H7pWTbj6vOLVZcA6s= -go.yaml.in/yaml/v4 v4.0.0-rc.2/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= -golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I= -golang.org/x/image v0.44.0/go.mod h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= @@ -1041,18 +775,12 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1062,38 +790,22 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 h1:nwGZBCt+FnXUrGsj5vjzAsEmkcaFvd82BbOjECiFYZc= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57/go.mod h1:3AWMyWHS+caVoiEXpiq6+tzKA40J4vQT3MYr80ZtQpc= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= @@ -1102,16 +814,12 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/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-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= -gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.292.0 h1:Ewiwo/GTtiaPZSNAZQUcWLh8AYDEoPmIXyJfeoTSMHU= @@ -1135,8 +843,6 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/dnaeon/go-vcr.v3 v3.2.0 h1:Rltp0Vf+Aq0u4rQXgmXgtgoRDStTnFN83cWgSGSoRzM= -gopkg.in/dnaeon/go-vcr.v3 v3.2.0/go.mod h1:2IMOnnlx9I6u9x+YBsM3tAMx6AlOxnJ0pWxQAzZ79Ag= gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= @@ -1151,30 +857,16 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/api v0.36.3 h1:NxB+05W2UGqXWFXcLO0RB5cnqnUPP5v5sVlaOH0Iz4w= k8s.io/api v0.36.3/go.mod h1:JzLQKqRHC5+I8RVj/lS3lCg0mg6nWI9Fo/Sk3ElxHzg= -k8s.io/apiextensions-apiserver v0.36.0 h1:Wt7E8J+VBCbj4FjiBfDTK/neXDDjyJVJc7xfuOHImZ0= -k8s.io/apiextensions-apiserver v0.36.0/go.mod h1:kGDjH0msuiIB3tgsYRV0kS9GqpMYMUsQ3GHv7TApyug= k8s.io/apimachinery v0.36.3 h1:PkzMRBRG8joFD8EhCuQAtNPvJlxb82FwplP26HIzvAM= k8s.io/apimachinery v0.36.3/go.mod h1:cTSjBWgPe/6CQyBKzY/hDIRWCQQQeK0mfLbml0UYFHE= -k8s.io/apiserver v0.36.0 h1:Jg5OFAENUACByUCg15CmhZAYrr5ZyJ+jodyA1mHl3YE= -k8s.io/apiserver v0.36.0/go.mod h1:mHvwdHf+qKEm+1/hYm756SV+oREOKSPnsjagOpx6Vho= k8s.io/client-go v0.36.3 h1:M4JdVzXxYcZk4fGpfDdYnxSwhLKWCFoQsHW6t+z8Hfg= k8s.io/client-go v0.36.3/go.mod h1:gcPwr0c87vjjG6HB6pWEqOeuYVoXSsREjzux2j6GF30= -k8s.io/component-base v0.36.3 h1:vc/UFvPCkW0irPz84LAodAL1j3f4xktPM6dDJIEheAY= -k8s.io/component-base v0.36.3/go.mod h1:hZbNFG+gCMl9EbykDGEu73feKP9/Cq6JsV4pTo9GTO8= k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg= k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= -k8s.io/streaming v0.36.3 h1:9rAaqBk0C0Pc7+/fqGekj07NV+/Xrew58p647A0JT8w= -k8s.io/streaming v0.36.3/go.mod h1:z6fV3D+NVkoeqRMtWwlUZK6U17SY/LqNzOxWL6GyR/s= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= -riverqueue.com/riverui v0.17.0 h1:iUkQ2zoxrAjqTjk1R5WUK7/PMM/EseTkUgmwYEzsp6E= -riverqueue.com/riverui v0.17.0/go.mod h1:5EsPg9ORURjHkeBkY+SYesppOnh9Nb+3AY+1cFcNKWM= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= -sigs.k8s.io/controller-runtime v0.24.1 h1:miPEwrmirImAvgME1L9qebGHrOnGJoVmVdtOU9fRfo4= -sigs.k8s.io/controller-runtime v0.24.1/go.mod h1:vFkfY5fGt5xAC/sKb8IBFKgWPNKG9OUG29dR8Y2wImw= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kind v0.32.0 h1:p9hscbj98u/qyrjVpjId86LI70nQmbSsipV7wCG10Xk=